他们给我一个U盘,里面有所有的数据,600MB,对,他们所有的数据。不知道为什么,我用pandas.read_csv(Pandas是一种Python数据分析库)而不是Hadoop完成了这个任务后,他们显得很不满意。
Hadoop里,所有计算都必须按照一个map、一个group by、一个aggregate或者这种计算序列来写。这和穿上紧身衣一样,多憋得慌啊。许多计算用其他模型其实更适合。忍受紧身衣的唯一原因就是,可以扩展到极大极大的数据集。可你的数据集实际上很可能根本远远够不上那个数量级。
可是呢,因为Hadoop和大数据是热词,世界有一半的人都想穿上紧身衣,即使他们根本不需要。
在编程开发中另一个常见的现象是对如何才能做的更多的认识。人们往往是看时长,而不是工作成果。事实上这两种之间有非常大的区别。
通常,我更欣赏不按时长来看一个人的工作。很简单,有些人一天在办公室里工作12个小时,但只有很少的实际工作成果。加班加点短期冲刺可能会有效,我们有时也这样做,一般是因为有了重大的产品问题或产品发布前的最后一拼。
然而,我们刚刚发布了RavenDB 2.5,却没有发现有加班的必要。与其用加班加点来换在某个规定的时间点上发布,我们用了更简单更轻松的方法,推迟发布一周。我能记得的,在过去6个月里,我让程序员超过6点下班的事情只有两次。
为什么要这样做,有3个理由。其中两个非常明显:
每天工作12-18个小时的人会做出的东西会越来越糟糕,对产品有害。
每天工作12-18个小时的人自己也会出问题。他会身体透支,很快就会有症状。还有别的像这样的问题我且不谈。人会崩溃,或精疲力尽。
有人在Github上面建了一个很有意思的项目。你只需要JS就可以创建网页。
原理其实很简单,创建一些“html函数”,如: p, div, ul, li 来创建你的网页,而且可以和backbone无缝结合, 下面有个例子:
h1('HTML Creation');
p('Tags are functions.')
p('Attributes are objects...', {
style:{fontStyle:'italic'}
})
ul(function(){
li('Nest');
li('with');
li('functions!');
});