🙊 52 周玩转 52 模块,这个主题听起来挺刺激、挺有趣的不是么?
这是缘起于国外一个名叫 Mackenzie Child 的小伙写的一篇文章 「12 in 12 Challenge」
据他自己交代,他是平面设计(Designer)出身,但总想着自己能实现设计的东西,因此便自己动手学起了 Ruby on Rails,并在 12 周里做了 12 个 Rails 的小项目,非常有意思。
我原本是 Ruby 学习者,但总想学些新的东西,于是我受此启发,准备利用 1 年中的零散时间,专门学习 NodeJS,当时最直接的想法就是 1 周学习 1 个模块,这样 1 年下来也能够积累 52 个模块了,我觉得今后不论是继续使用 Ruby 还是开始新的征程 Node.js 都将会大有裨益,无论如何我已经迫不及待了,哈哈,就是这样~
不可否认,这将是个非常有趣的主题,不过摆在我面前的下一个问题就是:「具体要学习那些模块呢?」
我顺藤摸瓜,先找到了 NPM 网站,然后就意外地发现了宝藏,就是它的 most depended-upon packages 主页 —— 那是大家最喜爱依赖模块的排行榜,简直就是为我准备的最好学习案例,通过使用和分析这些基础依赖库,将极大的提高自己的编程效率。太棒了,这一切都是这么有趣,我感觉像是在逛商场,我挑了以下几件满意的,然后就将开始试穿它了~
- 第 01 周(2016.03.07) async
- 第 02 周(2016.03.14) browserify
- 第 03 周(2016.03.21) chai
- 第 04 周(2016.03.28) debug
- 第 05 周(2016.04.04) express
- 第 06 周(2016.04.11) fs-extra
- 第 07 周(2016.04.18) gulp
- 第 08 周(2016.04.25) handlebars
- 第 09 周(2016.05.02) istanbul
- 第 10 周(2016.05.09) jade
- 第 11 周(2016.05.16) karma
- 第 12 周(2016.05.23) lodash
- 第 13 周(2016.05.30) mocha
- 第 14 周(2016.06.06) node-inspector
- 第 15 周(2016.06.13) ones
- 第 16 周(2016.06.20) prompt
- 第 17 周(2016.06.27) q
- 第 18 周(2016.07.04) request
- 第 19 周(2016.07.11) sinon
- 第 20 周(2016.07.18) twitter
- 第 21 周(2016.07.25) uglify-js
- 第 22 周(2016.08.01) validator
- 第 23 周(2016.08.08) webpack
- 第 24 周(2016.08.15) xlsx
- 第 25 周(2016.08.22) yargs
- 第 26 周(2016.08.29) zombie
- 第 27 周(2016.09.05) agenda
- 第 28 周(2016.09.12) bluebird
- 第 29 周(2016.09.19) commander
- 第 30 周(2016.09.26) del
- 第 31 周(2016.10.03) elasticsearch
- 第 32 周(2016.10.10) faker
- 第 33 周(2016.10.17) grunt
- 第 34 周(2016.10.24) highlight.js
- 第 35 周(2016.10.31) inquirer
- 第 36 周(2016.11.07) jslint
- 第 37 周(2016.11.14) koa
- 第 38 周(2016.11.21) log4js
- 第 39 周(2016.11.28) moment
- 第 40 周(2016.12.05) npm
- 第 41 周(2016.12.12) open
- 第 42 周(2016.12.19) passport
- 第 43 周(2016.12.26) qs
- 第 44 周(2017.01.02) ramda
- 第 45 周(2017.01.09) semver
- 第 46 周(2017.01.16) through
- 第 47 周(2017.01.23) underscore
- 第 48 周(2017.01.30) vue
- 第 49 周(2017.02.06) winston
- 第 50 周(2017.02.13) xo
- 第 51 周(2017.02.20) yo
- 第 52 周(2017.02.27) zone.js
是的,你没看错,我把挑出来的 52 件衣服(哦不,我们的思维不能永远停留在商场里)分成了 4 个阶段,就像是一年中的四个季节一般。每个季节都会有不一样的收获。不过,说了这么多,究竟应该怎么去学习它们呢?或许我还需要一个导购帮我一把?亦或许我即将成为一名出色的导购?也许吧,不过不论如何我都准备好了,准备好去迎接它们,然后掌握它们。
我想从 实际应用 到 源码分析 两部分来学习,我认为那样更有效率,或者你也可以给我一些更好的建议。
我觉得源码分析要比实际应用更难一些,毕竟穿衣服跟做衣服本来就一样,两者的比重我更愿意随意一些,但至少要有实际应用的部分,否则那件衣服为什么还要买呢?因此,最起码要知道这个模块是干嘛用的以及怎么去用,列出重点方法并举例说明,如果时间充裕再具体分析源码实现或许还会有不小的惊喜吧~ 好了,废话就到此为止了,我这就要启程了。
最后提一句,如果你想要加入我的旅程,我将非常欢迎,旅程路上有伙伴总是极好的~