2009年总结

2010年1月8日从上海搬来杭州到现在,已经将近两周时间了。来之前,因为公司手续和房子合约的问题,弄得很不愉快。来之后,因为一边找房子一边上班,也没什么时间。上周末刚搬到新的住外,总算可以静下心了,总结一下已经过去的2009年。

2009 年上半年可以说是风调雨顺。不管是工作、学习还是生活上,感觉都很充实,还把团队的气氛带起来了。杯具的转折点在7月份前后出现了。由于公司人事上出了比较严重的漏洞,导致项目停滞,士气大降。我当时选择了离开(后来松果团队纠正了那次的问题,不过我还是没打算再回去)。下半年就在上海漂了,找过几家公司,都挺不靠谱的。这段时间里状态一直都不好,特别是当一个人失业时间长了,那种失落感会与日俱增。甚至出现过“回老家吃老本”的念头。

好在有两个人,让我坚持了自己了方向。9月份的时候,博文视点的周筠老师让我写一篇《程序员修炼之道》的书评。当时又读了一遍这本书,还有几位前辈对这本书的书评,激动了,淡定了。继续学习和积累吧,我还年轻,要学的东西太多了。之后周老师还帮我介绍工作职位,这着实让我很感动。另一位是冯大辉老师,他帮我推荐了好几次简历。有一次淘宝的面试机会,可惜我没发挥好,他还是给我肯定和鼓励。现在加入 Yupoo 也是冯老师的推荐。我真的很感谢他们,还有关心帮助过我的朋友。

CCAV 老说网络是妖魔,充满了低俗与虚假,天朝警察说他肚子痛关你什么事。都见鬼去吧!在网络与现实中,还是有不少真诚相待的朋友的。

在松果团队的时候,参与了 Webgame 的设计和开发,后来还做了些性能调优的工作。我也因此接触到了很多关于高性能 Web 系统的知识。虽然实践还不多,但这些知识还是 Web 开发中必备的。学习别人的经验也算是一种积累吧。

前端部分,在对 Javascript 语言特性作了进一步的了解,理解了闭包、作用域链和函数调用对象这几个概念之后,我才算是对 Javascript 语言有了一个比较深刻的体会。这也对我后来学习其它具有函数式特性的语言时有很大的帮助。YUI 的前端优化建议也做了一些实践。CSS 一直是我的死穴,可能是我对界面的东西不那么感兴趣的缘故吧。

PHP 新的东西就不多了,主要是学习了 PHP 系统常用的设计方法,比如 ThinkPHP 和 Codeigniter 框架的设计。更多的是了解了 HTTP 协议中常用的部分,前端优化也有涉及到 HTTP 协议。读了 《RESTful WebService》,感觉 REST 这种设计方式很容易接受,可能是符合标准的关系吧。

读了一本关于数据库的书《MySQL性能调优与架构设计》,主要讲的是数据库系统的性能调优和高可用可扩展的架构设计。另外看了一些 Web 系统的架构设计和 Cache 的应用的案例,比如豆瓣、twitter。关于这些方面,实践太少,希望能有机会介入到相关的工作实践中。

从C10K,到了解事件模型和异步I/O的技术,我发现计算机专业基础值得复习和深入学习。包括算法,操作系统,编译原理,网络编程的书,我都将它们列入了今年的读书计划中。

去年还花了点时间看了 Python 的语法,现在工作中要用到了,正好可以深入研究一下。

在去年下半年比较空闲的时间里,看了很多经典的老片,这也算是一种收获吧。另外,2009年翻墙成了我日常网络生活中的一部分,也因此了解了比较真实的世界。纳美人认为,人的一生有两次生命,第一次是出生,第二次是建立起属于自己的社会地位。我也有两次生命,第一次是出生,第二次是翻墙之后。

-EOF-

Happy New Year !

这几天看到大家都在写总结,自己却因为一些事在折腾。
在2009年的最后一刻,先留下一个祝福,祝福所有认识的和不认识的朋友,还有自己:

Happy New Year !

稍后补上年度总结。

-EOF-

apache2 和 tomcat5.5 集成及虚拟主机配置

想起以前 tomcat 还没配过虚拟主机,便想试试,就随手集成了 apache2。把配置过程记录在这里。

安装 apache2、JDK、tomcat 就不写了,查看文档吧。

apache2 要整合 tomcat 需要用到 mod_jk。Ubuntu 下安装 mod_jk 很简单:

$ sudo apt-get install libapache2-mod-jk

可以查看一下这个包安装后产生的配置文件:

$ dpkg -L libapache2-mod-jk
1
2
3
4
5
6
7
8
......
/etc
/etc/libapache2-mod-jk
/etc/libapache2-mod-jk/workers.properties
/etc/apache2
/etc/apache2/mods-available
/etc/apache2/mods-available/jk.load
......

阅读全文 »

新的封面

《程序员修炼之道》封面

《程序员修炼之道》封面

收到消息,《程序员修炼之道》这本书的中文新版已经送印了,应该很快就要出来了。

感谢编辑给我发来了新书的新封面。与上一版中文的封面不同,这次基本采用了原版的封面设计,加上中文的一些介绍。

原来网易、趋势科技这些公司的新员工培训就用了这本书,这印证了我之前的想法。

另外,云风、霍炬、徐宥等几位高手都是我十分敬仰的技术大牛。

再一次感谢周老师的邀请,让我这个菜鸟也有机会和大牛们一起为这本经典之作写书评。同时,也感谢博文视点的各位编辑。

阅读全文 »

HTTP 输出 Gzip 的注意事项

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

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

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

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

 Accept-Encoding: gzip,deflate

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

 Content-Encoding: gzip

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

阅读全文 »

《程序员修炼之道》书评

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

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

阅读全文 »

修个手机都这么难

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

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

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

阅读全文 »

闭包的用处

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

阅读全文 »