1、oh my zsh
2、Node.js不是什么
不是编程语言
不是web框架
Node.js是什么
是一个平台
让JavaScript也能调用系统接口、开发后端应用
Node.js用到了哪些技术?
V8引擎
libuv
C/C++实现的c-ares、http-parser、OpenSSL、zlib等库
Node.js技术架构


了解更多:https://github.com/yjhjstz/deep-into-node
什么是bindings

JS与C++交互-大大扩展了JS的能力

Node.js工作流程


libuv是什么
Node.js用到了哪些技术
v8是什么?
垃圾回收的目的是为了重复利用内存。
V8引擎
zlib做加密
c-ares做域名的解析
http-server 解析http
OpenSSL 做https
文件是外部的 在硬盘上
硬盘和操作系统是分开的
socket也是外部的 另外一台机器传的
三种不同的事件
所以Node.js需要按顺序轮询每种事件
这种轮询往往都是循环的
EventLoop
timers检查计时器
poll轮询,检查系统事件
check检查setImmediate回调
注意:
大部分时间,Node.js都停在poll轮询阶段
大部分事件都在poll阶段被处理,如文件、网络请求。
setTimeout(f1,0) 不确定,大部分情况下,都是setImmediate(f2)先执行
setImmediate(f2)
浏览器就两个队列
总结
用event loop管理事件处理顺序
用C/C++库高效处理DNS/HTTP
怎么让JS也能处理
用bindings让JS能和C/C++沟通
用V8运行JS
用Node.js标准库简化JS代码
这就是Node.js
libuv开一个线程去读文件
Node.js API
Assertion 断言
Testing 测试
Async Hooks 异步钩子
Buffer 一小段缓存
用户在上传文件的时候,文件是一点点上传的,内存也是一点点得处理数据
Child Processes子进程
Cluster
Debugger
DNS
nslookup baidu.com
Events
File System 文件系统
Globals
dirname 当前文件所在的目录
filename 当前文件的文件名
Process 进程
学习路线
基础-Web-框架

