node源码学习笔记--第一篇(初心)

从这一篇起要开始阅读node.js的源码了,node的源码在github上,直接clone即可,主要由JavaScript和C++编写。

为什么要写这个系列

不论是学习哪些开源的东西,源码学习永远是其中不可缺少的一部分,所有人都会告诉你一定要看源码。不过为什么要看源码,怎样去看源码,这些问题大家的答案就不同了,当然这些并不重要,我个人主要是出于一下几个原因吧。

  • 不同于大多数前端开发者,我接触JavaScript这门编程语言就是从node开始的,也就是说我学习node的时候还不会写前端,因此我对它很熟悉,这会让我对看不懂的地方也不会很排斥。
  • node是一个非常优秀的开源作品,源码里面能够学习到很多东西,有助于我获取更加有价值的东西。
  • 阅读node源码,能够把技术的使用和理解融汇贯通,我从来不希望把自己限制为某个领域的开发者,我希望的我的title是软件开发工程师,至少是web开发工程师,而不是前端开发工程师,Java、Golang、Node这些东西有精力都是值得去了解的,如果没有太多精力,我希望我能在node领域有相对深入的研究。

阅读方法

阅读源码要带着目的去读,而我的目的是要从源码中学习优秀的编码方式,因此至少在第一次阅读的时候,我不回去从node的启动流程整体去分析源码,更不会去自己编译一版node。这次阅读的重点是node源码中js编写的部分,首先从API相关源码入手,会涉及到一些架构相关源码,逐层深入零散的理解源码,最终输出的产物就是每一部分API源码实现技巧以及get到的相关知识,包括不限于网络、操作系统等。首次阅读结束后,整理一下node启动流程,阅读一下C++相关源码,本地编译出node环境进行更深入的学习。过程其实不会很短,希望有所收获。

一些其他事情

其实写这篇的时候我已经阅读了几个file了,和自己想象的还是有很大不同的,有些模块的操作基本不依赖C++端,但大部分都或多或少的有依赖,这会涉及到C++模块与JavaScript之间的链接和交互,这些部分我目前还不是很了解,需要随着阅读同时学习,这可能会使得进度变慢,但是对后续学习还是会有促进作用。开头会很难,希望能坚持下去。

下一篇是正式阅读的第一篇,就从最简单的模块path开始。

-------------本文结束感谢您的阅读-------------
坚持原创技术分享,您的支持将鼓励我继续创作!