编码风格不是编码规范

| 技术技巧 | 10条评论
88 编码风格

我并不认为程序员是一个情绪特别丰富的群体。但有一些事情却能很容易刺激程序员的神经,那就是代码格式和布局。如果看到一个函数的括弧在同一行上没有闭合,我的眼睛会喷血。如果看到有人没有恰好的在两个函数间留一空行,我的小腿会抽筋。

声明式编程和命令式编程的比较

| 技术技巧 | 21条评论
110

先统一一下概念,我们有两种编程方式:命令式和声明式。我们可以像下面这样定义它们之间的不同:命令式编程:命令“机器”如何去做事情(how),这样不管你想要的是什么(what),它都会按照你的命令实现。声明式编程:告诉“机器”你想要的是什么(what),让机器想出如何去做(how)。

如何让读的书在脑子里留下更多的东西

| 技术技巧 | 7条评论
158

人变聪明的一个关键方法就是多读书。但只读还不够。读只是要素之一。我们要借用一下《影响力》这本书的作者Robert Cialdini的一个技巧,这个技巧能让我们的阅读更深刻,让书里的知识留在我们脑子里更久。

Linux技巧:一次删除一百万个文件的最快方法

| 技术技巧 | 12条评论
185

昨天,我看到一个非常有趣的删除一个目录下的海量文件的方法。他没有使用find 或 xargs,他很有创意的利用了rsync的强大功能,使用rsync –delete将目标文件夹以一个空文件夹来替换。之后,我做了一个实验来比较各种方法。让我吃惊的是,Lee的方法要比其它的快的多。下面就是我的测评。

Linux命令行里的“瑞士军刀”

| 技术技巧 | 4条评论
97

这里说的“瑞士军刀”是指那些简单的一句命令就能完成其它高级语言一大片代码才能完成的工作。下面的这些内容是Quora网站上Joshua Levy网友的总结:

代码里的命名规则:错误的和正确的对比

| 技术技巧 | 18条评论
158

让我们先看看编程大师Robert C. Martin的杰作《Clean Code》里的一句话:“注释的目的是为了弥补代码自身在表达上的不足。”这句话可以简单的理解为如果你的代码需要注释,最有可能是你的代码写的很烂。同样,如果在没有注释的情况下你无法用代码完整的表达你对一个问题或一个算法的思路,那这就是一个失败的信号。

网络里的“逆世界”

| 技术技巧 | 14条评论
69

邻居偷用我的无线网,我可以设置访问密码,但我决定捉弄他们。我先把网络分成两部分——一部分受信,一部分不受信。受信的部分使用一个网段,不受信的是其它网段。我使用DHCP服务器限制MAC地址,过滤无关地址。

现代浏览器中内置的几个可以等效替代jQuery的功能

| 技术技巧 | 5条评论
46 jquery

就我的个人习惯来说,不管开发什么项目,即使是一个很简单的demo,我做的第一件事就是引入jQuery,这样做主要是想使用它提供的DOM选择器功能。对于一些像IE6/IE7这样的老式浏览器,这种做法是显而易见的,但是,如今现代浏览器里已经内置了完整的DOM选择器功能,能让你使用原生的浏览器提供的方法来实现jQuery的功能。

函数加里化(Currying)和偏函数应用(Partial Application)的比较

| 技术技巧 | 18条评论
45 函数式编程

我感觉很多人都对函数加里化(Currying)和偏函数应用(Partial Application)之间的区别搞不清楚,尤其是在相似的上下文环境中它们同时出现的时候。

为什么编码规范里要求每行代码不超过80个字符的限制是合理的

| 技术技巧 | 11条评论
70 编辑器

现在很多软件公司采用的编码规范基本是PEP8,但每行80个字符的限制除外。GitHub上的项目,大多数都遵循PEP8规范(这一点似乎达到了高度的统一),但遵守80个字符限制的很少。在一些有明确规定的规范标准中,这个限制可能会增加(100或120),甚至完全删除。

我们是如何让服务器从30台缩减到2台的:从Ruby迁移到Go语言

| 技术技巧 | 13条评论
103

我们开发第一版的IronWorker已经是3年前的事了,是用Ruby写的,API基于Rails开发。我们没用多久就发展成了相当大的规模,很快我们就触及到了Ruby程序的承载上限。长话短说,我们切换到了Go语言,请接着读下去,下面是事情如何一步步发展的。

一次开发人员交换角色的尝试

| 技术技巧 | 5条评论
35 角色互换

在一次开发讨论会中,人们都在热火朝天的讨论出现的问题,而且你却待在角落里打盹儿——这说明你毫不关心他们关心的问题。出现这种现象并不能简单的认定你是个没能力的蠢货(然而,你很有可能就是),而是因为你确实跟他们讨论的问题不相干。

Haskell语言为什么值得你去学习

| 技术技巧 | 15条评论
56 函数式编程

当我向一些新手推荐学习Haskell语言时,得到的反应通常是:“为什么要学Haskell?”,“这是一种实用的语言吗?”或者“这是一种我可以真正用的语言吗?”我的回答是明确的YES。Haskell并不是我工作时的主要语言(我基本上是为嵌入式系统写C程序),但我仍然发现Haskell难以置信的有用。虽然我的工作从来不用Haskell,我仍然认为花时间去学习它是值得的。那么,为什么要学习Haskell语言呢?

史上最最佳软件开发实践指导

| 技术技巧 | 7条评论
177 指导

每过一段时间,我都能读到一些好东西,它是如此的深刻见解,写的如此的清晰,如此的条理,我必须把它收录进我的个人“史上最佳”圣物集里。最近,我新收录了一篇,非常棒的一篇叫做《Best Practices for Scientific Computing》的文章,我希望每个来读本文的读者都找个时间读读它。我在这里列出它的要点,是要鼓励你去阅读完整的全文。写的真是非常好。

代码审查:ThoughtBot官方给出的代码审查指导原则

| 技术技巧 | 4条评论
117 code_review 代码审查

这篇文章的内容由github官方提供,指导你如何在github上进行代码审查和如果让别人审查自己的代码。针对所有人的审查: 接受这样的事实:很多编程上的主张都是一种个人观点。应该讨论它们的利与弊,提出你的倾向观点,迅速的达成一种解决方案