由于writings.io即将关闭,所以把在那写的文章转到这来。
以前没有写博客的习惯,有的也只是在微博上的只言片语,看到Rei写的这个writings.io,喜欢上了其简约的风格,没有多少华丽的页面,但是作为一个写博客的地方是很不错的,所以决定开始写一些平时的感悟。
我是2011年暑假第一次接触ruby这门语言,我之前是做java这一块的。当时在一个公司实习,进部门后,部门主管把我分配到了ruby项目组。刚开始对ruby一点也不了解,完全是从头开始学起,先是啃那本镐头书Programming Ruby,有一点基础后学习rails框架,看的是那本“应用rails进行web开发”,好像是这个书名,具体记不清了。看了一段时间后,就开始看真实的项目代码,当时项目组在做的一共有两个项目,一个项目发布一个版本后接着做另一个项目,一直是这样迭代。跟我一起实习的还有一个东大的童鞋贝贝,他是本来就有基础的,就是冲着ruby项目组来的,当然他上手就比较快了,熟悉代码没多久就可以开发一些小功能了。介绍下项目组的成员,那时候一共有6个,老刘、彭哥、秀淼(需求分析)、小虎、贝贝、我,在这也感谢一下他们,当时给了我很多帮助,现在不知道他们还在不在公司,好像小虎不在了(互联网公司流动性很大的嘛)。过了一段时间,稍微有点基础后,老刘安排我做一点很简单的小功能,我记得有一个是类似于微博的通知吧,比较简单,但也做了挺久。后来有个投票功能,他们已经做出来了,让我先做着试试看。那会儿好像已经是9月初了吧,后来学校里边有个保研的机会,我稀里糊涂的递交了申请,又稀里糊涂的通过了。当时没有立即离开公司,又过了几天辅导员那边实在催的不行,让我回学校,说白了其实就是回去做免费劳动力,没办法,我就跟部门主管说了下情况,他也就给我签字办理离职手续。在提出离职的前几天,部门还组织了一次旅游,我们实习生也去了,去的是浙江安吉,那边全是竹子,挺好玩的。那时候一起实习的一个部门的同事还有我们班一个同学小宝、吴鑫、研究生银马,那会儿我们几个玩得挺好的,吃饭什么的都是一起的。到这,实习经历就告一段落,ruby的学习也停滞了。
回到学校后,干的全是打杂的活,帮辅导员发布各种通知,统计各种信息,还要组织招聘会,忙得一塌糊涂,不过可能也锻炼到了一些能力吧。保研后,认识了挺多的同学,第一个就是张琛,他是搞php的,高中就开始了,技术上算是挺强的了,我跟他是同一个导师,进实验室后我们两个就被分配了任务,做的是一个局域网文件分发系统,我跟他分工协作,也算是做出了一个比较粗糙的系统,后来没派上用场,在学校就是这样,做的东西不一定能用得上,不像在公司做的都是要用的。张琛各方面懂得比较多,那段时间跟他一起玩,学到了挺多东西的。那时候还认识了宣工、小申、春哥、老薛(女生,比我小两年,哈哈,把她叫老了,不好意思...)、小洵洵、粽子,基本都是学弟学妹,他们都各有所长,不一一列举了。那是大四上学期,到了下学期我就搬进了实验室,跟他们的接触就少了。下学期就主要是准备毕业论文,一转眼就到了毕业季,我是依旧很忙,帮着导员干各种活,甚至连毕业留影也没来得及拍,不过还在本校,以后有的是机会...。
过了暑假,就是真的研究僧了,也有了自己的研究方向,老板申请到一个重点国自科,有关云安全的,让我们都转到了这个方向上。新的方向一切又是重新开始,看了挺多的论文,了解了挺多的东西,可是一直也没做出什么东西来。一学期一晃而过,在学期末,我好好想了一下,我到底喜欢的是什么,一个年头闪进了脑袋:ruby。可是我已经很久没碰ruby了,除了编译原理课上用ruby做的一个简单的语法分析器。仔细考虑过后,我还是认定我喜欢搞web工程开发,喜欢ruby的高效,喜欢rails框架,我想要用rails开发。既然喜欢就做起来,我把镐头书的电子版给找了出来,先看ruby基础,熟悉语法结构。因为是学期末了,事情也挺多,我只能平时带着看看,后来放寒假了,我就在家有时间好好看书了,边看边敲代码,加深印象。
寒假头几天在我本科同学那玩,他暂时在找工作,我跟他自己买菜做饭吃,煮火锅,在他那可以上网,我记得是1月24号晚上注册了Github。玩了几天后,我回老家了,老家没有网可以上,就再看看镐头书,当然也歇了几天,后来隔壁邻居家装了宽带,终于可以上网了,我就充分利用网络资源,看了很多东西。因为我知道Rails Guides对理解rails很有帮助,我就在那段时间把Guides看了一遍,有时候忘了就从头再看,基本上寒假就那样度过了。开学后,各种资源就更加丰富了,看ruby社区,社区里不建议在windows上搞ruby开发(实习的公司就是在windows上开发的,不知道是啥原因...),我就把虚拟机里边原来的windows server 2003格了,装了个ubuntu,按照ruby-china的教程把ruby、rails给装好了,可以真正的搞一些开发了。从网上了个Rails Tutorial第二版的中文版电子书,按照书上的示例跟着一步步坐下来,现在已经到第7章了,要尽快做完。
在学rails的这段时间内,逛了挺多的社区,微博、twitter上follow了很多的大牛,虽然一个人在这学,有时候会感到有些无助,没人可以一起讨论讨论,毕竟ruby还是比较小众的,身边几乎没人学。但是我还是会坚持学下去的,现在网络那么发达(当然GFW让人有点无奈...),网上的资源那么多,还可以在社区跟ruby爱好者们进行交流。
有时候兴趣真的是最好的老师,尽管常常要熬夜到两三点,但一点也不会感觉到累,毕竟做的是自己喜欢的事情,可能有的人不能理解干嘛要那么辛苦熬夜写程序,把自己的研究方向弄弄好就行了,我想这些疑问也只能用兴趣来解释了,有了兴趣,就有无限的动力。为了有更多时间学ruby,我甚至把实验室的工作一拖再拖,因为我感觉到实验室的工作不是我的兴趣所在,我烦透了microsoft那一套,我要挣脱出来,拥抱开源,做一个小小的Geek!