我有不少这样的经历,朋友给介绍了一个女孩,我们初次见面,当我说起我是程序员时,对方都露出一种异样的表情,有些比较心直口快的女孩会直接问:我听说你们做程序员的都有些那个….
先统一一下概念,我们有两种编程方式:命令式和声明式。我们可以像下面这样定义它们之间的不同:命令式编程:命令“机器”如何去做事情(how),这样不管你想要的是什么(what),它都会按照你的命令实现。声明式编程:告诉“机器”你想要的是什么(what),让机器想出如何去做(how)。
人变聪明的一个关键方法就是多读书。但只读还不够。读只是要素之一。我们要借用一下《影响力》这本书的作者Robert Cialdini的一个技巧,这个技巧能让我们的阅读更深刻,让书里的知识留在我们脑子里更久。
那些拒绝结对编程的人都被认为是独行客,懒蛋,或社交恐惧症患者。然而,我不属于任何一种(至少我自己是这么想的),可我仍然讨厌结对编程。为什么我会这样?下面是理由。
这篇文章要讲的是程序员如何假装在很努力的工作。有两种完全不同的动机会促使一个程序员做这种假装:第一种,你是个懒货——想不劳而获。如果你是这种人,我和你同事都会鄙视你。你不需要看下面的内容了。这篇文章完全不是为你写的!
我开发安卓应用并在安卓市场上销售,挣了一大笔钱,最高时每月5万7千美元(请看下面的图表)。最终,销售量下滑,但这种扶摇直上的感觉还是很爽快的——只是太短暂。销量回落后,我转身开启了一个新的创业,ZenPayroll,想以此获得同样的快感并持续时间更长。
就在2年前,我被诊断患上了肌萎缩性侧索硬化症,又称鲁格里克氏症(Lou Gehrig’s disease)。 简单的说,我的大脑将会慢慢的与身体各部位失去联系,因为运动神经元在不断是死亡,肌肉萎缩硬化,直到呼吸肌死亡,带走我是生命。
在Unix风格的操作系统里(包括BSD, GNU/Linux 和 Mac OS X),通常用波浪号“~”来表示当前用户的主目录(home目录):例如,如果当前用户的home目录是/home/bloggsj,那么,输入 cd 或 cd ~ 或 cd /home/bloggsj 或 cd $HOME 都是等效的。
我每周都要阅读数百篇关于讨论诸如各种JavaScript扩展、新的iOS应用框架,新的基于Windows Azure的SaaS等的博客文章。很显然,如果只是使用一些技术或采用一种框架来满足需求,这对于我通常不是很难的事情。问题是,如果我并不理解一个东西的工作
RubyKaigi 2013大会闭幕了,会议开的非常好,我为组织者和出席者喝彩。但有一个事情却让我感觉出有些变味。一个发言中,演讲者说,希望我们明年去台湾参加一个不错的会议。他说了很多应该去的理由,但其中一个让我心一沉,他说“台湾的女孩很‘kawaii’”
我们说懒惰有三种。第一种,整天就是吃和睡。第二种,是告诉自己,“有一类人,就像我这种,是永远管理不好自己的。”而这第三种就是,把生命浪费在不是最重要的事情上 …
昨天,我看到一个非常有趣的删除一个目录下的海量文件的方法。他没有使用find 或 xargs,他很有创意的利用了rsync的强大功能,使用rsync –delete将目标文件夹以一个空文件夹来替换。之后,我做了一个实验来比较各种方法。让我吃惊的是,Lee的方法要比其它的快的多。下面就是我的测评。
这里说的“瑞士军刀”是指那些简单的一句命令就能完成其它高级语言一大片代码才能完成的工作。下面的这些内容是Quora网站上Joshua Levy网友的总结:
让我们先看看编程大师Robert C. Martin的杰作《Clean Code》里的一句话:“注释的目的是为了弥补代码自身在表达上的不足。”这句话可以简单的理解为如果你的代码需要注释,最有可能是你的代码写的很烂。同样,如果在没有注释的情况下你无法用代码完整的表达你对一个问题或一个算法的思路,那这就是一个失败的信号。
邻居偷用我的无线网,我可以设置访问密码,但我决定捉弄他们。我先把网络分成两部分——一部分受信,一部分不受信。受信的部分使用一个网段,不受信的是其它网段。我使用DHCP服务器限制MAC地址,过滤无关地址。