nodejs
- 1. 学习资源
- 2. 快速开始
- 3. 包管理器
- 4. 全局模块
- 5. 事件的监听与触发
- 6. util 工具模块
- 7. 文件系统模块
- 8. 路径处理模块
- 9. 操作系统模块
- 10. 网络模块
- 11. I/O 流模块
- 12. 核心原理
- 13. 最佳实践
- 14. 命令行工具开发
- 15. 进程管理
- 16. 异步编程
- 17. 错误处理
- 18. 加密与安全
- 19. 性能优化
- 20. 日志与监控
- 21. 测试与调试
- 22. 缓存策略
- 23. 定时任务
- 24. 数据库操作
- 25. Web 框架
- 26. 实时通信
- 27. 微服务架构
- 28. 国际化与本地化
- 29. DevOps 与部署
- 30. Serverless
- 31. TypeScript 集成
- 32. ⏰ 其它
1. 学习资源
- 0030. 学习资源
- 0001. nodejs 官方文档
- 0032. 《Node.js 从入门到精通》
- 0015. 《深入浅出 Node.js》
- 0016. 《Node.js 来一打 C++ 扩展》
- 0017. 《Node 与 Express 开发》
- 0018. 《Node.js 开发指南》
- 0019. 《了不起的 Node js 将 JavaScript 进行到底》
- 0022. 《Node.js 入门教程》(免费掘金小册)
- 0025. 菜鸟教程
- 0093. Node.js 设计模式
- 0094. Node.js 最佳实践指南
2. 快速开始
- 0031. 什么是 Node.js
- 0033. Node.js 的工作原理概述
- 0034. Node.js 的优缺点
- 0035. Node.js 能用来做什么
- 0036. 谁在使用 Node.js
- 0037. 第一个 Node.js 服务器程序 - Hello World
- 0013. 安装 nodejs
- 0029. nvm
- 0014. 如何使用 nvm 管理 nodejs 版本
- 0095. Node.js 版本管理(nvm或n)
- 0096. Node.js 与 JavaScript 运行时对比
- 0097. Node.js REPL 环境使用
- 0004. 学会使用 nodejs 运行 .js 文件
- 0063. Node.js 学习路线
3. 包管理器
- 0086. npm 官网
- 0088. github 上的 npm 组织
- 0087. YouTube 上的 npm 频道
- 0038. npm 简介
- 0039. 常见的 npm 包及作用
- 0040. npm 版本
- 0041. 常见的 npm 命令
- 0023. npm 内置命令
- 0042. 认识 package.json
- 0043. 认识 package-lock.json
- 0089. NPM vs. Yarn vs. PNPM
- 0090. PNPM
- 0091. Yarn
- 0098. npm scripts 高级用法
- 0099. 发布自己的 npm 包
- 0100. npm 私有仓库搭建
- 0101. 依赖版本管理策略
- 0102. monorepo 管理(lerna或rush)
- 0010. npm 生命周期 prepublish
- 0011. npm 配置文件 .npmrc
- 0024. npm link 基本使用
- 0012. 使用 nrm 管理 npm 源
- 0003. 使用 npm_lifecycle_script 获取当前运行的 nodejs 命令
4. 全局模块
- 0044. filename 和 dirname
- 0045. console
- 0049. process
- 0046. 全局定时器:setTimeout、setInterval、setImmediate
- 0047. exports 对象
- 0048. module 对象
- 0103. global 对象详解
- 0104. Buffer 全局对象
- 0105. queueMicrotask 微任务
5. 事件的监听与触发
6. util 工具模块
- 0051. util
- 0054. 错误优先的回调风格
- 0109. util.promisify 详解
- 0110. util.inspect 对象检查
- 0111. util.types 类型检查
- 0112. util.deprecate 废弃警告
7. 文件系统模块
- 0055. fs 文件系统模块概述
- 0056. 文件检查
- 0057. 文件读取
- 0058. 文件写入
- 0066. 文件截断
- 0067. 文件删除
- 0068. 文件复制
- 0069. 文件重命名
- 0053. 创建目录
- 0060. 删除目录
- 0064. 读取目录内容
- 0065. 查看目录或文件信息
- 0071. 认识符号链接
- 0072. 创建符号链接
- 0070. 查看符号链接信息
- 0059. 获取解析后的绝对路径
- 0061. fs.constants
- 0062. fs 中的 mode
- 0113. fs.promises API
- 0114. 文件监听 fs.watch 和 fs.watchFile
- 0115. 文件流操作
- 0217. 大文件处理策略
- 0218. 文件上传处理(multer)
- 0219. 文件压缩解压(zlib)
- 0220. Excel 和 CSV 文件处理
- 0221. PDF 生成与处理
8. 路径处理模块
9. 操作系统模块
10. 网络模块
- 0084. 理解“请求”和“响应”
- 0085. 理解“客户端”和“服务端”
- 0077. net 模块概述
- 0080. http 模块概述
- 0081. 基于 http 模块实现一个简单的静态资源服务器
- 0028. 基于 nodejs 在本地快速启动一个 https 服务
- 0082. url 模块概述
- 0083. querystring 模块概述
- 0120. http2 模块使用
- 0121. WebSocket 实现
- 0122. TCP 和 UDP 编程
- 0123. DNS 模块使用
- 0222. 代理服务器实现
- 0223. 请求重试机制
- 0224. API 限流实现
- 0225. CORS 跨域处理
- 0226. 文件下载优化
11. I/O 流模块
- 0075. I、O 流操作概述
- 0124. 可读流(Readable Stream)
- 0125. 可写流(Writable Stream)
- 0126. 双工流(Duplex Stream)
- 0127. 转换流(Transform Stream)
- 0128. 流的背压处理
- 0129. pipeline 和 stream.promises
12. 核心原理
- 0050. Node.js 生命周期
- 0130. V8 引擎与 JavaScript 执行
- 0131. libuv 与异步 IO
- 0132. 事件循环详解
- 0133. 进程与线程模型
- 0134. C++ 插件开发基础
- 0135. N-API 使用指南
13. 最佳实践
14. 命令行工具开发
- 0201. Commander.js 命令行框架
- 0202. Inquirer.js 交互式命令行
- 0203. Chalk 终端样式美化
- 0204. Ora 加载动画
- 0205. 命令行参数解析
- 0206. 发布全局 CLI 工具
15. 进程管理
- 0140. child_process 模块详解
- 0076. exec vs. spawn
- 0141. cluster 集群模块
- 0142. worker_threads 工作线程
- 0143. 进程间通信(IPC)
- 0144. PM2 进程管理器
16. 异步编程
- 0145. 回调函数模式
- 0146. Promise 使用详解
- 0147. async 和 await 最佳实践
- 0148. 异步迭代器
- 0149. 异步错误处理
- 0227. EventEmitter vs Promise vs Observable
- 0228. 并发控制(p-limit 和 p-queue)
- 0229. 异步流程控制库(async.js)
- 0230. AbortController 取消请求
17. 错误处理
18. 加密与安全
- 0002. crypto 模块中的 hash 工具方法 createHash
- 0007. crypto 模块
- 0150. crypto 加密模块
- 0151. 哈希算法使用
- 0152. 对称加密与解密
- 0153. 非对称加密
- 0154. 数字签名与验证
- 0155. TLS 和 SSL 配置
- 0156. 安全最佳实践
- 0264. XSS 防护
- 0265. CSRF 防护
- 0266. SQL 注入防护
- 0267. 速率限制
- 0268. Helmet.js 安全中间件
- 0269. 依赖安全扫描
19. 性能优化
- 0157. 性能分析工具
- 0158. 内存管理与优化
- 0159. CPU 分析与优化
- 0160. 垃圾回收机制
- 0161. 内存泄漏排查
- 0162. 性能监控方案
- 0231. V8 内存快照分析
- 0232. Flame Graph 火焰图
- 0233. 0x 性能分析工具
- 0234. clinic.js 诊断工具
- 0235. 懒加载与预加载策略
20. 日志与监控
- 0253. Winston 日志框架
- 0254. Pino 高性能日志
- 0255. Morgan HTTP 日志
- 0256. ELK Stack 集成
- 0257. APM 工具集成(New Relic 和 DataDog)
- 0258. 自定义指标收集
21. 测试与调试
- 0163. 单元测试框架(Jest 和 Mocha)
- 0164. 集成测试策略
- 0165. 代码覆盖率
- 0166. 调试技巧与工具
- 0167. Chrome DevTools 调试
- 0168. 断言模块 assert
- 0236. E2E 测试(Puppeteer 和 Playwright)
- 0237. API 测试(Supertest)
- 0238. Mock 数据生成
- 0239. 压力测试工具
- 0240. 契约测试
22. 缓存策略
23. 定时任务
24. 数据库操作
- 0169. MongoDB 与 Mongoose
- 0170. MySQL 连接与操作
- 0171. PostgreSQL 使用
- 0172. Redis 缓存方案
- 0173. 数据库连接池
- 0174. ORM 和 ODM 框架对比
- 0248. 数据库迁移工具
- 0249. 事务处理
- 0250. 索引优化
- 0251. 查询优化
- 0252. 数据库备份策略
25. Web 框架
- 0175. Express.js 深入
- 0176. Koa.js 原理与实践
- 0008. koa-send
- 0009. koa-static
- 0177. Fastify 高性能框架
- 0178. NestJS 企业级框架
- 0179. 中间件原理与开发
- 0180. RESTful API 设计
- 0181. GraphQL 服务搭建
- 0241. 模板引擎(EJS、Pug、Handlebars)
- 0242. Session 管理
- 0243. Cookie 处理
- 0244. JWT 认证实现
- 0245. OAuth 2.0 集成
- 0246. 文件上传处理
- 0247. 请求验证(Joi 和 express-validator)
26. 实时通信
27. 微服务架构
28. 国际化与本地化
29. DevOps 与部署
- 0191. Docker 容器化
- 0192. CI 和 CD 流程搭建
- 0193. Kubernetes 部署
- 0194. 服务器部署策略
- 0195. 负载均衡配置
- 0196. 日志收集与分析
- 0274. 健康检查端点
- 0275. 优雅启动与关闭
- 0276. 蓝绿部署
- 0277. 金丝雀发布
- 0278. 环境配置管理(dotenv)
30. Serverless
- 0279. AWS Lambda with Node.js
- 0280. Vercel Functions
- 0281. Netlify Functions
- 0282. 无服务器框架(Serverless Framework)
- 0283. 冷启动优化
31. TypeScript 集成
- 0197. TypeScript 配置
- 0198. 类型定义文件
- 0199. 装饰器使用
- 0200. ts-node 开发环境
- 0284. 泛型使用
- 0285. 高级类型
- 0286. 命名空间与模块
- 0287. 声明合并
- 0288. 三斜线指令