文章目录
  1. 1. The Software Development Poverty Trap
  2. 2. “把程序写好”这回事
  3. 3. What every programmer should know about memory
  4. 4. The Little Manual of API Design
  5. 5. What Powers Instagram: Hundreds of Instances, Dozens of Technologies

The Software Development Poverty Trap

软件开发中的马太效应,越是差劲的团队越缺乏长期规划,用老旧的技术,写 ad-hoc 的代码,优秀的工程师越容易离开(斜眼看我司)。

“把程序写好”这回事

来此余晟的微信公共号(对,就是翻译正则表达式的那哥们)。很多程序员在学校和工作中编程,但不知道如何写好程序,貌似也没有学校教如何『写好程序』。写好程序绝不是编译通过,跑过测试,符合 coding style 那么简单。文中提到的『荣誉感』还是挺重要的,我写代码的时候就会想着对自己的每一行代码负责,通过 code review 看别人的代码质量也会潜移默化影响我对这个人的评价,和对待他的态度。

What every programmer should know about memory

挺长的,从偏硬件的角度讲解内存的原理。前面几章在各个 OS 教科书上都能找到,后面的内容就比较贴近现实,看着很有意思。

The Little Manual of API Design

记得 GoogleTechTalk 里著名的一集 How To Design A Good API and Why it Matters 么,这个 manual 可以看作那个 talk 的扩展读物。API Design 在程序设计中的重要性相比于架构不遑多让,看看这些 best practices 有益身心~~

What Powers Instagram: Hundreds of Instances, Dozens of Technologies

一篇老文章,介绍 Instagram 早期时候(2012)的架构。我最喜欢这种早期架构的文章,看别人在高速增长期如何用快糙猛的方法解决问题。里面给的小部分技术在今天看来有些过时了,但大部分还很有借鉴意义。比如提到的 gunicorn 和 Fabric,是 Python web 开发中的标配(还有 supervisor);vmtouch (查了下发现是一个超级light weight的内存数据管理工具,代码也写的很棒);Munin,Pingdom 监控,Sentry 报告错误。

文章目录
  1. 1. The Software Development Poverty Trap
  2. 2. “把程序写好”这回事
  3. 3. What every programmer should know about memory
  4. 4. The Little Manual of API Design
  5. 5. What Powers Instagram: Hundreds of Instances, Dozens of Technologies