Month: 4月 2016

编程的智慧(中)

  • 使用Optional类型。Java 8和Swift之类的语言,提供了一种叫Optional的类型。正确的使用这种类型,可以在很大程度上避免null的问题。null指针的问题之所以存在,是因为你可以在没有“检查”null的情况下,“访问”对象的成员。

    Optional类型的设计原理,就是把“检查”和“访问”这两个操作合二为一,成为一个“原子操作”。这样你没法只访问,而不进行检查。这种做法其实是ML,Haskell等语言里的模式匹配(pattern matching)的一个特例。模式匹配使得类型判断和访问成员这两种操作合二为一,所以你没法犯错。

    比如,在Swift里面,你可以这样写:

编程的智慧(上)

编程是一种创造性的工作,是一门艺术。精通任何一门艺术,都需要很多的练习和领悟,所以这里提出的“智慧”,并不是号称一天瘦十斤的减肥药,它并不能代替你自己的勤奋。然而由于软件行业喜欢标新立异,喜欢把简单的事情搞复杂,我希望这些文字能给迷惑中的人们指出一些正确的方向,让他们少走一些弯路,基本做到一分耕耘一分收获。

反复推敲代码

既然“天才是百分之一的灵感,百分之九十九的汗水”,那我先来谈谈这汗水的部分吧。有人问我,提高编程水平最有效的办法是什么?我想了很久,终于发现最有效的办法,其实是反反复复地修改和推敲代码。…

又拍云图片处理集群架构

黄慧攀,又拍云 CTO。最早在 2001 年开始 web 开发工作;2006 年创办 yo2.cn 优博网(WordPress 博客平台);2010 年加入又拍云开始构建第一代云存储和云 CDN 服务。曾从事前端、后端和服务端等工作,目前主要从事技术架构工作。

又拍云的云处理服务包括图片和音视频处理服务,其中图片处理系统每秒处理图片数量 3000 多张,一天要处理 1 亿张图片左右。图片处理服务面向的客户主要有电商、图片社交两类,他们也是图片处理需求的大户,其他类型的客户对图片处理需求比较少。

PHP程序员进阶学习书籍参考指南

【初阶】(基础知识及入门)

 

01. 《PHP与MySQL程序设计(第4版)》  http://item.jd.com/10701892.html

02. 《深入浅出MySQL 数据库开发 优化与管理维护 第2版》 http://item.jd.com/11381295.html

03. 《实战Nginx:取代Apache的高性能Web服务器》 http://dwz.cn/2K1ryn

04. 《Redis 实战》 http://item.jd.com/11791607.html

06. 《MongoDB权威指南 第2版》 http://item.jd.com/11384782.html

07. 《Linux系统命令及Shell脚本实践指南》 http://item.jd.com/11354663.html…