测试驱动开发上的五大错误

| 技术技巧 | 8条评论
55 测试驱动开发

我曾经写过很多的糟糕的单元测试程序。很多。但我坚持着写,现在我已经喜欢上了些单元测试。我编写单元测试的速度越来越快,当开发完程序,我现在有更多的信心相信它们能按照设计的预期来运行。我不希望我的程序里有bug,很多次

中间人攻击(man-in-the-middle attack):你和互联网中间的第三人

| 技术技巧 | 26条评论
132

最近看到国外有一篇有趣的文章,是关于“中间人攻击(man-in-the-middle attack)”的,本想原文翻译,但里面有大量的政治敏感度内容,不宜在本网站公布,这里仅摘译出技术相关的部分内容,供大家探讨。大概是1月26号早上8点左右,在新浪微博和Twitter上相继有中国用户报告说在访问GitHub.com网站时出现无效SSL证书警告提示。后续不断的证据显示,这是由于受到“中间人攻击(man-in-the-middle attack)”造成的。

我的优化YouTube视频播放页面的故事

| 技术技巧 | 7条评论
58

三年前,当我还在YouTube做一名web程序员时,有一位资深的工程师发了一通牢骚,说播放视频的页面体积太大。这个页面体积已经膨胀到了高达1.2MB,包含有数十次的请求。这个工程师公开的宣称说,“如果他们Quake能在100KB的体积下克隆出我们的页面,我们没有理由达不到这个体积!”因为我同意他的观点,并且我正在找新的任务,于是就决定接受这个挑战,让YouTube的视频播放页面的体积减到100KB以下。

10步让你成为更优秀的程序员

| 技术技巧 | 17条评论
491

这篇文章要介绍的,是我作为专业程序员这些年来学到的能真正提高我的代码质量和整体工作效率的10件事情。

Python高效编程技巧

| 技术技巧 | 4条评论
115 Python.jpg_thumb

我已经使用Python编程有多年了,即使今天我仍然惊奇于这种语言所能让代码表现出的整洁和对DRY编程原则的适用。这些年来的经历让我学到了很多的小技巧和知识,大多数是通过阅读很流行的开源软件

编程极端主义

| 技术技巧 | 5条评论
39 思想

编程极端主义 (跟极限编程没有关系)是一种接受某种理论、在所有事情上检验它、在所有地方运用它的行为。一通实验,尘埃落定后,人们通常会回想这次极端行为,认识到“不错,这很有趣,但很明显,在Y上使用X明显不合适。干这个事情我们需要使用合适的技术!”

从谷歌宕机事件认识互联网工作原理

| 技术技巧 | 5条评论
217 互联网

今天,谷歌的服务经历了短暂的宕机事件,持续大概27分钟。此次事件的原因深究起来需要进入互联网络那深邃的、黑暗的角落。我是CloudFlare公司的一名网络工程师,在帮助谷歌从此次宕机中恢复回来提供了一臂之力。下面就是事情发生的过程。

超级程序员神话

| 技术技巧 | 23条评论
282 骇客帝国

这份邮件基本上表达了这样一种观点:开发应用程序的都不是“真正的程序员”,“真正的程序员”编写的是有难度的东西,跟复杂的数学算法相关的东西。

一种在图片里隐藏你的程序代码的技术

| 技术技巧 | 13条评论
55 魔术师

我最近开发了我的第一个网页游戏:一个HTML5的视频智力游戏。开发的过程很有趣,我喜欢编程,但当实现了游戏逻辑后,我有了一个有趣的想法:为什么不想个办法把代码隐藏起来?

为什么程序员预估的时间都不靠谱

| 技术技巧 | 14条评论
320

一个我曾经共事过的很有经验的项目经理曾宣称说,他会拿程序员估计出的时间乘以π值,然后再提高一个数量级,这样得出的才是正确的开发所需要的时间。

老派程序员——徒手实现伟大成就

| 技术技巧 | 25条评论
293

当在读Peter Seibel的精彩著作《编程人生:15位软件先驱访谈录(Coders at Work)》的时候,

为什么Linux不需要磁盘碎片整理

| 技术技巧 | 19条评论
192 linux系统

如果你是个Linux用户,你可能听说过不需要去对你的linux文件系统进行磁盘碎片整理。也许你注意到了,在Li […]

使用谷歌搜索时遇到“无法显示此网页”或“链接被重置”出错信息时的解决办法

| 技术技巧 | 13条评论

自从谷歌撤出中国后,大陆用户使用谷歌搜索时经常会遇到“无法显示此网页”或“链接被重置”的出错信息,就像下面视频 […]

为什么我们要从 NodeJS 迁移到 Ruby on Rails

| 技术技巧 | 6条评论

声明:这篇文章绝不是一篇讨论 NodeJS 和 Ruby on Rails 孰优孰略的檄文。它描述的只是我们做 […]

三种东西永远不要放到数据库里

| 技术技巧 | 10条评论

我已经在很多演讲里说过,改进你的系统的最好的方法是先避免做“蠢事”。我并不是说你或你开发的东西“蠢”,只是有些 […]