Node.js与前端开发实战(2)|青训营笔记
这是我参与「第五届青训营 」伴学笔记创作活动的第13天
一、课程知识要点:
- 编写
Http Server - 延伸话题
二、详细知识点介绍:
编写Http Server
Debug
- V8 Inspector: 开箱即用、特性丰富强大、与前端开发一致、跨平台
node --inspect- open http://localhost:9229/json
- 场景:
- 查看
console.log内容 breakpoint- 高CPU、死循环:
cpuprofile - 高内存占用:
heapsnapshot - 性能分析
部署
- 部署要解决的问题
- 守护进程:当进程退出时,重新拉起
- 多进程:
cluster便捷地利用多进程 - 记录进程状态,用于诊断
- 容器环境
- 通常有健康检查的手段,只需考虑多核cpu利用率即可
延伸话题
Node.js贡献代码
- 快速了解
Node.js代码
Node.jsCore贡献入门
- 好处:
- 从使用者的角色逐步理解底层细节,可以解决更复杂的问题;
- 自我证明,有助于职业发展;
- 解决社区问题,促进社区发展;
- 难点:花时间
编译Node.js
- 为什么要学习编译
Node.js
- 认知:黑盒到白盒,发生问题时能有迹可循
- 贡献代码的第一步
- 如何编译
- 参考: Maintaining the build files
- ./configure && make install
- 演示:给net模块添加自定义属性
诊断/追踪
- 诊断是一个低频、重要同时也相当有挑战的方向。是企业衡量自己能否依赖一门语言的重要参考。
- 技术咨询行业中的热门角色。
- 难点:需要了解 Node.js底层,需要了解操作系统以及各种工具;需要经验
WASM NAPI
Node.js(因为V8)是执行WASM代码的天然容器,和浏览器WASM是同一运行时,同时Node.js支持WASI。NAPI执行C接口的代码(C/C++/Rust...),同时能保留原生代码的性能。- 不同编程语言间通信的一种方案。
三、课后总结
详细讲述了编写Http Server和延伸话题,值得我们认真去学习。