全栈工程师成长记

编程重新定义人生

模仿是创新的开始 7/26日记

Objective
记得:Git初阶入门、用UserStroy具体分解任务的方法
完成:rails101第三遍、job-listing version2

Reflective
情绪:跟早晨的天空一样晴朗XD
低点:有吗?

Interpretive
学到:order是条件排序、where是条件过滤,在model和controller里面单复数要注意的坑
领悟:模仿是创新的开始。
这点展开来说,早上听完讲课之后继续完成之前的rails101-3,下午没有注意看ontrack的课程更新。然后就硬着头皮开始捣鼓招聘网站,user stoy和rails101的练习在这个时候起了作用。从user stroy里面知道了要如何把一个大的项目拆解成一个个小的项目,并且在一开始先搭起一个最小可运行的界面,之后再不断往里面添加功能。如何建立一个controller、栏位、view页面,如何使用devise、bootstrap、simple_form等等这些在rail101里面就有做过,虽然还不熟练,但是基本的流程以及会产生的结果已经知道了,这真的给自己很大的信心。
老师说真实的世界是没有解答的,所以就自己照着rails101的教程一步步的敲代码,只不过是把group换成job、groups换成jobs,于是一个“山寨”版的job-listing就这么运行起来了,想想还是有点小激动呢。在pull request之后回到ontrack提交作业,发现老师已经把解答贴上来了,对比了一番,发现自己还是有些“山寨”得不到位的地方。

第一、Group描述通常不会太长,两三行文字能够大概让浏览者明白这个Group里面主要的内容是什么,所以有必要在group的首页把group的description展示出来让大家能够快速选择自己想要进入的group;而我照抄过来的job其实是不应该有这个description的,为什么呢?因为在招聘网站里,一个职位的描述内容是很多的,其中包括职位描述、职位要求、公司简介、联系方式等内容,这起码需要20~50行的内容,如果你在job的首页将每个职位的description都列出来了,那么整个首页的内容就会被撑爆,而首页的排版也会“丑爆”。

比较好的做法应该是job的首页只列出职位的名称,把description这个栏位去掉,如果求职者对这个职位有兴趣,自然就会点进去,再做一个职位的show页面就可以用description把职位的详细内容列出来了。

第二、求职者除了关注职位名称和工资(这个在下一个版本才做),通常还会关注这个职位需求的发布时间,发布时间太早的通常可能用人单位已经招到人了。所以在job的首页,每一行职位里面,把dscription栏位去掉,再加入显示发布时间的功能,而且是按最新发布时间倒序排列,这样求职者就能一眼看到最新发布的工作了。显示发布时间及按时间排序的这两个功能在rails101里面就有讲过,所以可以无障碍的套用过来。笑来老师说全栈工程师就是有能力用几块木板拼成一个木桶,哪怕这个木桶再小再丑,至少它能盛水,至于其他成千上万块用不到或者拼不起来的木板,你管它呢。所以这周做的招聘网站这个项目,之前rails101的练习里面就有很多能用的“木板”,只不过拼凑的方式不太一样而已。

所以这就有了标题的“模仿是创新的开始”,因为在没有任何知识和资源积累的情况下,你很难“凭空”捣鼓出一个“全新”的东西,模仿在这里就等于是类比思维,你先类比那些“像”的地方,再去改进那些“不一样”的地方,就是这么简单。

Decisional
形容:码字真是不容易,但却能把自己的思维厘清,所以一天花两个多小时码字就当是给大脑健身啦。
努力:还是要先自己做下一个版本的练习再看解答,不过这回要先花点心思琢磨一下应该怎么做会更好,而不是完全照搬。