我已经在很多演讲里说过,改进你的系统的最好的方法是先避免做“蠢事”。我并不是说你或你开发的东西“蠢”,只是有些决定很容易被人们忽略掉其暗含的牵连,认识不到这样做对系统维护尤其是系统升级带来多大的麻烦。作为一个顾问,像这样的事情我到处都能见到,我还从来没有见过做出这样的决定的人有过好的结果的 ...
rsync是unix/linux下同步文件的一个高效算法,它能同步更新两处计算机的文件与目录,并适当利用查找文件中的不同块以减少数据传输。rsync中一项与其他大部分类似程序或协定中所未见的重要特性是镜像是只对有变更的部分进行传送。rsync可拷贝/显示目录属性,以及拷贝文件,并可选择性的压缩以及递归拷贝 ...
自从上次写了“程序员技术练级攻略” 以来,就觉得似乎还有很多东西没有谈到,但当时没有继续思考了。而春节前有人问我,是做底层技术,还是做业务。这问题让我思考了很多,不由自主地回顾了一 ...
其实是上个月的事情了,花了一个星期的时间把项目的数据库从 MongoDB 迁移到PostgreSQL。 这里简要地说一说迁移的原因和过程。由于项目还没有上线,涉及业务逻辑的部分不能说得 太细,呵呵。
有一天,你买了一个机箱。很不幸的,这个机箱的后座螺丝少了一颗。当然,这是卖家的错。不过你不会让卖家从遥远的远方给你邮递一颗螺丝钉 ...
有时候,会有程序员跑到我这里说他们不喜欢某个东西的设计,“我们需要给它来个全面的重构”,来纠正里面的错误。哦,哦。这听起来可不是个好主意。而且这听起来也不是重构…
重构(Refactoring ...
这个系统的写作目的,是让对web编程有兴趣的程序员,了解webserver的实现方式。根据这个目的,系统遵循以下几个设计原则:
精简,容易阅读和学习。
自注释,重代码轻文档。
代码核心 ...