Archive for August, 2009

HTTP 输出 Gzip 的注意事项

Tuesday, August 25th, 2009

昨天上 Jobsdigg.com 发现 Firebug 里飘红,于是做了一些测试,在这里做个笔记。

如今海量存储已经不是问题,反而是带宽资源有限,成了 Web 应用中主要瓶颈的所在。因此减少响应的传输量也就成了优化的关键。

Yahoo 的 34 条前端优化规则 中提到了 Gzip 压缩,Google 的前端性能最佳实践 中也提到了 Gzip 压缩。把服务器响应中的文本内容用 Gzip 压缩后可以减少大约 70% 的大小。这着实对前端性能和用户体验的提升有明显的帮助。

从 HTTP/1.1 开始,客户端就可以在请求头中添加

 Accept-Encoding: gzip,deflate

来向请求的服务器表明自己支持 Gzip 压缩的响应。Web 服务器则在响应头中添加

 Content-Encoding: gzip

来向客户端表明响应体是经过 gzip 压缩的。

(more…)

《程序员修炼之道》书评

Wednesday, August 12th, 2009

《程序员修炼之道》
在大学的时候,编程是我的兴趣,也是当时给自己定位的职业方向。
当我在图书馆里看到这本《程序员修炼之道》的时候,直觉告诉我觉得应该看看这本书,或许对我的成长有帮助。读完之后我更加肯定了自己的直觉是对的。当时的我虽然没有实际项目的开发经验,不是一时半会就能领悟其意,但我明白,这本书中总结的原则和方法对我来说是极为宝贵的,于是买了一本放在床头。

参加工作后,随着编程经验的积累,我越来越能体会这本书中观点。每一次重读书中的章节,都会有新的收获;结合自己的每次经历,都能与之共鸣。——这是对我影响最深的一本书,也是我向朋友和同事推荐次数最多的一本书。有趣的是,书前 Kevin Ruland 的评论说到:这是我唯一不会出借的一本书。究竟是一本什么样的书会让大师都如此爱不释手?

(more…)

修个手机都这么难

Saturday, August 8th, 2009

Moto E6 手机的耳机插孔里的弹片没有复位,导致没插耳机也一直在耳机模式下。所有修手机的都说是主板或者芯片坏了,收费100到500,甚至有人在没有检测的情况下就妄下结论。还有人扬言如果是弹片没有复位他没办法修,如果我承认是主板或者芯片坏了他就可以修。这他妈的不是抢钱吗?!假如你咳嗽,我说你要换个肺,不然我没办法治,你干不干?

上海Moto维修中心跟客户交流的是前台小姐,技术人员不知道躲在哪里。非专业用户可能被骗说是主板问题,专业用户的意见没法传达到技术维修人员那里,这样怎么修手机?检测完前台小姐出来答话,说是主板问题,修要480,我问主板什么问题,她才说是主板上的芯片问题,再问什么芯片,答不上来。

什么芯片坏了要480?为什么不说出来?怕被我知道后他们的谎言就穿帮了?什么芯片这么好要480?这么好的芯片要是坏了我的手机除了一直在耳机模式之外就什么问题都没有了?

(more…)

闭包的用处

Friday, August 7th, 2009

闭包的原理懂了,但闭包在 JavaScript 的实际编程中有什么用呢?这是一个同事的提问。闭包可以用在很多地方,但我还不能完全总结出来,最常用的使用方式有以下几种。

(more…)

从总结中学习

Friday, August 7th, 2009

JavaScript语言精粹

这本书的书名叫 JavaScript: The Good Parts,内容共 150 页左右。原本以为这么薄的书直接在书店看完就好。但当我在书店花了大约半小时时间快速看了一遍之后我觉得它值得我买下来。

它概括了 JavaScript 这个脚本语言的核心内容,不仅总结了语言的精华部分,还指出了“鸡肋”和“糟粕”。如果说犀牛书展现了 JavaScript 特性的丰富和功能的强大,这本书就体现了 JavaScript 语言轻巧简洁的特点。

其实 JavaScript 就是这么简洁,但是它很灵活,使用得好,可以编写出功能强大的程序。语言中核心的内容,也就是犀牛书的第一部分,全部在这本书中被总结出来了。但这并不表示可以从这本书入门,它不是入门级的,不适合初学者。作为概括总结,它是一本很好的帮助你提高 JavaScript 水平的书籍,因为总结也是学习的过程。

(more…)