代码工匠

Walking The Long Road.

无责任励志一则-成功就是把你做的事做精致

我们常说,这个世界太浮躁。实际上也是如此,今年小孩出生,同时又买了房子,生活上的压力顿时压下来,差点趴下了。但是我是个老实人,急躁又有什么用呢,还不是每天上班下班,下班看书写代码,没有那个业余找钱的能力,于是也就算了,安心搞点好玩的。

记得去年给自己定了个目标,今年要在技术上有所进步,并且能够在一流的开源项目里贡献代码。于是我尝试了读tomcat和spring的源码,结果根本没能坚持下去。因为根本没那么多时间去阅读代码,也坚持不下去,最后都是不了了之。现在想来,根本不是对这些项目感兴趣,其实平时用到的功能也不全,完全是因为觉得它们很牛逼。

但是或许是无心插柳吧,之前写了一个爬虫框架webmagic,随便放到了github上。我这个人比较喜欢分享,因为都是自己趟过的坑,也不希望别人再进去,所以就写了一两篇文章介绍了下。结果喜欢的人不少,还有了一些粉丝了。后来收集了一些反馈意见,就开始了开源的旅程。我以前在点点做抓博客文章的事情,具体就是写正则去抽取网页内容,其实是很没意思的活,但是至少积累了不少领域经验,于是对写webmagic产生了很大的影响。webmagic现在star和fork都过百了,在github Java项目中排800名左右,虽然不算很厉害,但是对我来说已经是超出预料了。有人问我开源做什么东西好,我的答案是,把自己最熟悉的东西做好,在自己的应用场景,提炼出东西,再开源,是最好的。当然,其实没有必要为了开源而开源,就像《大教堂与集市》里说的,开源的产品,只是戳到自己的痛处了,自己开发出来,并推广给大家而已。

维护开源软件是枯燥的,因为有很多问题需要回答,无论是专业的不专业的,下至maven的使用,上至设计思想。但是我也知道用户的宝贵,所以基本上事无巨细,我都会一一回答。我把webmagic当成一个产品来做,希望更多人了解它和喜欢它。

从个人角度,确实也希望树立自己的知名度(工资高点=.=),但是生活在这个时代,谁有那么崇高呢。你产生价值,得到回馈,也是应该的。

意外的惊喜是,因为webmagic需要写一些demo,结果写demo时遇到一个HttpClient的bug,后来反馈到了Apache,并提交了patch,结果就这么被接收了。虽然这个项目不如Apache其他项目那么知名,但是就跟它名字一样,在Java界基本是Http客户端的不二之选。于是我终于在快年底完成了今年的目标了。

今天在看Hadoop的东西,看到其实HDFS是Nutch为了保存海量文件而开发的,而Hadoop本身也是起源于项目需要。

现在的工作,我一直在做一些跑job的事情,大家都觉得挺无聊。但是想想,其实那么高端大气的Hadoop也是从跑job开始的。何不好好干呢?

Add a comment