笔者前年开始撰写的《Node.js学习笔记》 github star 数突破了1000,算是个里程碑吧。html
从第一次提交(2016.11.03)到如今,1年半过去了。忽然有些感慨,想要写点东西,谈谈这期间的收获、心路历程,以及如何学习Node.js。前端
笔者一直有作技术笔记的习惯,前几年零零散散的也写了很多Node.js的东西,只不过都存在evernote里。写着写着,以为有必要系统地整理下,因而就有了这个项目。node
粗略统计了下,总共提交了约60篇教程,以及将近300个范例脚本。git
大部分的commit都集中2016年十一、12月份,以及2017年上半年。这段时间其实项目组挺忙的,常常一周6天班,同时在两三个项目间来回切换。github
写做的过程挺枯燥的,也有点累人,尤为常常只能抽大半夜或周末的时间来码字,常常写技术文章的同窗应该能体会。无论怎么说,一路坚持了下来,感受仍是有很多收获。编程
一、技术积累。最初存在evernote里的只是零星的笔记,通过整理校对、进一步的思考以及延展性学习,零散的知识点逐渐串联成体系化的知识面。这比单单记住了数百个Node.js的API,以及枯燥的配置项更有用。segmentfault
二、知识分享。写做的过程当中,很多一样正在学习Node.js的同窗或经过QQ,或经过私信表达了感谢。对笔者来讲,这其实比star数的增长更有意义。api
三、技术焦虑有所缓解。众所周知,前端领域变化太快,身处其中的从业者压力很是大,这也是前不久著名的“老子学不动了”的梗忽然刷屏的缘由。深刻学习、思考,掌握学习的方法和规律,可以必定程度上缓解技术焦虑症。浏览器
四、意外收获。这期间,收到阿里云栖社区(专家博主)、腾讯云+社区的入驻邀请,多家知名出版社的撰稿邀请,在线教育平台(如慕课)的开课邀请等。安全
2年前在SegmentFault社区上有人问过相似的问题《关于nodejs的学习?》,当时简单地回答了下。
实践出真知,这点无需强调。遇到技术问题善用搜索引擎,也算是圈内共识了(初学者须要增强这方面意识)。
其实最难的是第3点,分辨你所遇到的问题。
举个例子,好比如今想学习 https 这个模块,很多初学者会显得束手无策,常见的问题有:
正式回答问题前,先祭出一张网络分层架构图,请读者把它牢记在心。
互联网基于分层架构实现,包括应用层、传输层、网络层、链路层、物理层。其中,前端开发者比较熟悉的是应用层(HTTP协议),若是想学习Node服务端编程,那么,至少须要对传输层(TCP)、网络层(IP)也有必定的了解。
对于网络的每一个层次,Node.js基本都有对应的模块,好比https、http、net(TCP)、tls/crypto等。
前面列举的几个问题,都是对网络知识、服务器知识了解的欠缺致使的,而不是于Node.js的API有多复杂、难以理解。
这里直接回答问题:
编写《Node.js学习笔记》的过程收获了很多,也有很多感触,这里就不过多碎碎念。对于“如何学习Node.js”这个问题,其实有挺多东西想写,篇幅所限,后面的文章详细展开。