在前一篇博客《Express 性能调优》中,我讲述了 Express 项目应该如何进行性能优化,但那些基本都只是官方文档上就已经明确指出的东西,也是对一个 Express 项目在性能上的基本要求。如果你已经足够仔细的阅读过文档,那么上一篇文章对你的收益几乎是 0。

除了规范所指出的基本要求,要优化一个 Web 项目的方法还有很多,比如合理的在后端给返回数据加缓存、充分利用浏览器的前端缓存、CDN,实在不行甚至需要「劳师动众」的部署多台机器做集群和负载均衡等等。这一篇博客的重点将放在数据库慢查询的优化上,这个话题对于 Web 项目而言更具有普适的意义。一方面它不局限于任何一种技术栈(当然这一篇以使用最普遍的 MySQL 为例),另一方面它更是直接在业务逻辑层面从代码本质上来优化你的项目性能,这往往也是单实例服务下性能的瓶颈所在。

阅读全文 »

最近遇到了一个奇怪的事情,自己负责的一个项目的 RC(Release Condidate)版本突然在某一天打开时访问非常之慢,达到了完全不能接受的程度。奇怪的是,就在前一天,页面的访问速度至少是不会让人觉得不可接受的。更加奇怪的是,代码我完全没有改动过。

NODE_ENV=production

在查找了一番资料之后,我在 Express 官网上发现了这样一段以前一直没有特别留意过的一段话:

阅读全文 »

作者简介:Joe Armstrong,编程语言 Erlang 之父。
参考原文地址:Why OO Sucks by Joe Armstrong

当我第一次接触到面向对象编程的概念时,我是持怀疑态度的,可是我并不知道这是为什么——我就是觉得哪里不大对。在面向对象编程的概念面世后,它很快变得非常流行(稍后我会解释这是为什么),而对它的批评之声就像是「教堂里的誓言」(译注:形容微不足道)。面向对象的特性变成了每个受人尊敬的编程语言都不得不拥有的东西。

在 Erlang 变得越来越流行的过程中,我们经常被人问:Erlang 是面向对象的吗?好吧,尽管正确的答案是「不,当然不是」,但我们并没有当面大声的说出来。我们发明了一系列独创的方式来回答这个问题,以便给人 Erlang 是(有几分)支持面向对象但又不真的是的印象。

阅读全文 »

从今年开始,打算每年年终的时候总结这一年读过的书的书单,看看我能坚持多少年。不求看书数量上的多少,只求在每本看过的书中都能找到一些能内化成自己所能掌握的东西。这样做也是希望即便已经没有校园里大把的闲散时间读「野书」,也能不放弃这样的习惯。

今年是个人状态变化非常大的一年,走出校园,面向社会,经历了找工作、毕业季的纷扰、实习等等各个阶段,总是有些杂七杂八的事情要处理,看的书也不多。而且基本是初次正式的接触 JavaScript 和 Node.js,也接触了很多商业实践中正在使用的热门的应用类技术,需要学习的东西很多,所以看的技术类的书也会多一些。

阅读全文 »

这篇文章的起因是《程序员》杂志上的这两天在前端界闹得沸沸扬扬的文章——《2016 年前端技术观察》,我在知乎上看到相关文章的时候大概已经是凌晨两点,看完后(准确说,前端我不大了解的部分没怎么细看)「精神抖擞」,当即在知乎写下了这个回答:如何评价真阿当的文章:《2016 年前端技术观察》?

前端不够了解就不多说什么的了,但我发现现在确实还有一些不搞 Node.js 的人像上文作者那样把 Node.js 当做「玩具」来看待,所以才想写下这篇文章。

阅读全文 »
0%