一点感悟:《Node.js学习笔记》star数突破1000+

写做背景

笔者前年开始撰写的《Node.js学习笔记》 github star 数突破了1000,算是个里程碑吧。html

从第一次提交(2016.11.03)到如今,1年半过去了。忽然有些感慨,想要写点东西,谈谈这期间的收获、心路历程,以及如何学习Node.js。前端

clipboard.png

clipboard.png

心路历程

笔者一直有作技术笔记的习惯,前几年零零散散的也写了很多Node.js的东西,只不过都存在evernote里。写着写着,以为有必要系统地整理下,因而就有了这个项目。node

粗略统计了下,总共提交了约60篇教程,以及将近300个范例脚本git

clipboard.png

大部分的commit都集中2016年十一、12月份,以及2017年上半年。这段时间其实项目组挺忙的,常常一周6天班,同时在两三个项目间来回切换。github

写做的过程挺枯燥的,也有点累人,尤为常常只能抽大半夜或周末的时间来码字,常常写技术文章的同窗应该能体会。无论怎么说,一路坚持了下来,感受仍是有很多收获。编程

一、技术积累。最初存在evernote里的只是零星的笔记,通过整理校对、进一步的思考以及延展性学习,零散的知识点逐渐串联成体系化的知识面。这比单单记住了数百个Node.js的API,以及枯燥的配置项更有用。segmentfault

二、知识分享。写做的过程当中,很多一样正在学习Node.js的同窗或经过QQ,或经过私信表达了感谢。对笔者来讲,这其实比star数的增长更有意义。api

三、技术焦虑有所缓解。众所周知,前端领域变化太快,身处其中的从业者压力很是大,这也是前不久著名的“老子学不动了”的梗忽然刷屏的缘由。深刻学习、思考,掌握学习的方法和规律,可以必定程度上缓解技术焦虑症。浏览器

四、意外收获。这期间,收到阿里云栖社区(专家博主)、腾讯云+社区的入驻邀请,多家知名出版社的撰稿邀请,在线教育平台(如慕课)的开课邀请等。安全

如何学习Node.js

2年前在SegmentFault社区上有人问过相似的问题《关于nodejs的学习?》,当时简单地回答了下。

  1. 实践是最好的学习方式,若是能把所学用到实际中去,效率比光学不练要高上不少。
  2. 遇到问题,学会使用google、stackoverflow、官方文档。
  3. 学习node的障碍,大部分时候不是node自己,而是相关领域知识。

实践出真知,这点无需强调。遇到技术问题善用搜索引擎,也算是圈内共识了(初学者须要增强这方面意识)。

其实最难的是第3点,分辨你所遇到的问题。

举个例子,好比如今想学习 https 这个模块,很多初学者会显得束手无策,常见的问题有:

  1. 问题一:https、http、net 模块长得好像,API也差很少,它们之间是什么关系?
  2. 问题二:配置项里有一项是证书,这是个干吗的?照着指引配好证书了,为何浏览器会报错?
  3. 问题三:server本地跑得好好的,怎么部署到云服务器上就访问不了,明明能够ping通,端口也启动了,为何提示拒绝访问?

正式回答问题前,先祭出一张网络分层架构图,请读者把它牢记在心。

clipboard.png

互联网基于分层架构实现,包括应用层、传输层、网络层、链路层、物理层。其中,前端开发者比较熟悉的是应用层(HTTP协议),若是想学习Node服务端编程,那么,至少须要对传输层(TCP)、网络层(IP)也有必定的了解。

对于网络的每一个层次,Node.js基本都有对应的模块,好比https、http、net(TCP)、tls/crypto等。

前面列举的几个问题,都是对网络知识、服务器知识了解的欠缺致使的,而不是于Node.js的API有多复杂、难以理解。

这里直接回答问题:

  1. 问题一:http为应用层模块,主要按照特定协议编解码数据;net为传输层模块,主要负责传输编码后的应用层数据;https是个综合模块(涵盖了http/tls/crypto等),主要用于确保数据安全性;该用哪一个模块应该很清楚了。
  2. 问题二:安全证书是PKI体系的重要一环,主要用于身份校验。本地调试用的证书若是是本身签署的话,浏览器会视为不安全并报错,能够参考 《HTTPS科普扫描帖》。
  3. 问题三:这种状况大几率是请求被防火墙拦截。ping走的是ICMP协议,由操做系统内核处理,可以ping通不表明TCP链接就可以创建成功,能够参考 《ping的使用与实现原理剖析

写在后面

编写《Node.js学习笔记》的过程收获了很多,也有很多感触,这里就不过多碎碎念。对于“如何学习Node.js”这个问题,其实有挺多东西想写,篇幅所限,后面的文章详细展开。

相关连接

Nodejs学习笔记
笔者我的博客

图片描述

相关文章
相关标签/搜索