稍微回想一下计算机硬件的工作原理我们便不难发现,整个计算机的工作过程其实就是一个对事件的处理过程。当你点击鼠标、敲击键盘或者插上U盘时,计算机便以中断的形式处理各种外部事件。在软件开发领域,事件驱动架构(Event Driven Architecture,EDA)早已被开发者用于各种实践,典型的应用场景比如浏览器对用户 […]
稍微回想一下计算机硬件的工作原理我们便不难发现,整个计算机的工作过程其实就是一个对事件的处理过程。当你点击鼠标、敲击键盘或者插上U盘时,计算机便以中断的形式处理各种外部事件。在软件开发领域,事件驱动架构(Event Driven Architecture,EDA)早已被开发者用于各种实践,典型的应用场景比如浏览器对用户 […]
目前我在互联网公司里干了1年多,接触了多位技术和业务的架构师,由于我正在升级到架构师,所以能直观地感受到高级开发和架构的差距,而且,对于高级开发如何升级到架构师,本人目前更有切身体会。本文将结合我在互联网公司的工作体验,和大家分享下架构师和高级开发在工作中的侧重点,由此能给大家带来升级到架构师的启示。 1 差距首先体现 […]
在面试时,经过寒暄后,一般面试官会让介绍项目经验 。常见的问法是,说下你最近的(或最拿得出手的)一个项目。 根据我们的面试经验,发现有不少候选人对此没准备,说起来磕磕巴巴,甚至有人说出项目经验从时间段或技术等方面和简历上的不匹配,这样就会造成如下的后果。 1 第一印象就不好了,至少会感觉该候选人表述能力不强。 2 一般 […]
常用的 match_all查询 match_all查询简单的匹配所有文档。在没有指定查询方式时,它是默认的查询: { "match_all": {}} match查询 无论你在任何字段上进行的是全文搜索还是精确查询,match查询是你可用的标准查询。 如果你在一个全文字段上使用match查询,在执行查询前,它将用正确的 […]
tail 用于输出文件中的尾部内容,实际应用如下: // 显示文件倒数2行数据,并实时刷新新日志 tail -2f demo.log // 执行效果如下: line9 56 line0 78 // 如果你需要停止,按Ctrl+C退出 // 假如查看的日志,实时刷新的日志量非常多的话,慎用! head 跟tail是相反的 […]
构建Dockerfile mkdir static_web cd static_web touch Dockerfile 然后 vi Dockerfile 开始编辑该文件 输入 i 开始编辑 以下是我们构建的Dockerfile内容 FROM nginx MAINTAINER LiFengdi <lifengdi […]
前一段日子,网上出现了一个仓库,收集了华为公司创始人任正非的讲话稿,从1994年直到2018年,一共400多篇。 我把这些讲话稿做成 epub 文件(下载),每天睡觉前读一点。足足两个月,总算全部读完了,一百多万字。下面就是我的读后感。 我推荐大家也读一下,眼界会不一样。你会了解,年收入千亿美元的公司怎么运作,最高层怎 […]
首先要谈的是,今天的话题所聊的程序员包含哪些人? 在中国,写程序,不仅仅是一种兴趣,更多的时候,还是一种普通职业和谋生工具 大公司有厉害的程序员,优秀的架构师,但大量的小公司也有很多普通的程序员。在我这些年的工作经历中,也越来越深刻的感受到普通程序员的影响和力量。对于高阶程序员,所谓八仙过海各有神通,各有各的成就,各有 […]
引言 为什么写这篇文章? 首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。 但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存。又或者是先删除缓存,再更新数据库,其实大家存在很大的争议。目前没有一篇全面的博客,对这几种方案进行解 […]
我见青山多妩媚,料青山见我应如是。