Node.js与前端开发实战(2)|青训营笔记

69 阅读2分钟

Node.js与前端开发实战(2)|青训营笔记

这是我参与「第五届青训营 」伴学笔记创作活动的第13天

一、课程知识要点:

  1. 编写Http Server
  2. 延伸话题

二、详细知识点介绍:

编写Http Server

Debug

  1. V8 Inspector: 开箱即用、特性丰富强大、与前端开发一致、跨平台
  1. 场景:
  • 查看console.log内容
  • breakpoint
  • 高CPU、死循环:cpuprofile
  • 高内存占用: heapsnapshot
  • 性能分析

部署

  1. 部署要解决的问题
  • 守护进程:当进程退出时,重新拉起
  • 多进程:cluster便捷地利用多进程
  • 记录进程状态,用于诊断
  1. 容器环境
  • 通常有健康检查的手段,只需考虑多核cpu利用率即可

延伸话题

Node.js贡献代码

  1. 快速了解 Node.js代码
  • Node.js Core贡献入门
  1. 好处:
  • 从使用者的角色逐步理解底层细节,可以解决更复杂的问题;
  • 自我证明,有助于职业发展;
  • 解决社区问题,促进社区发展;
  1. 难点:花时间

编译Node.js

  1. 为什么要学习编译Node.js
  • 认知:黑盒到白盒,发生问题时能有迹可循
  • 贡献代码的第一步
  1. 如何编译
  • 参考: Maintaining the build files
  • ./configure && make install
  • 演示:给net模块添加自定义属性

诊断/追踪

  • 诊断是一个低频、重要同时也相当有挑战的方向。是企业衡量自己能否依赖一门语言的重要参考。
  • 技术咨询行业中的热门角色。
  • 难点:需要了解 Node.js底层,需要了解操作系统以及各种工具;需要经验

image.png

WASM NAPI

  • Node.js (因为V8)是执行WASM代码的天然容器,和浏览器WASM是同一运行时,同时Node.js支持WASI
  • NAPI执行C接口的代码(C/C++/Rust...),同时能保留原生代码的性能。
  • 不同编程语言间通信的一种方案。

三、课后总结

详细讲述了编写Http Server和延伸话题,值得我们认真去学习。