内容简介
本书从不同的视角介绍了Node.js内部的核心机制和设计思想,旨在帮助读者深入理解Node.js的底层原理和实现。全书共分为9章,分别讲述了Node.js的模块机制、异步I/O实现、异步编程思想、内存控制、Buffer详解、网络编程、进程管理、以及Node.js的最新进展和应用案例。作者凭借对Node.js的深入理解和丰富的开发经验,通过大量生动的实例和清晰的代码,系统性地揭示了Node.js在性能、扩展性和可维护性方面的设计哲学。
书中不仅涵盖了Node.js的基础知识,如事件循环、非阻塞I/O、回调函数等,还深入探讨了高级主题,包括Node.js的集群模式、中间件开发、以及与C++扩展的交互方式。每一章都配有精心设计的练习和思考题,帮助读者巩固所学内容并提升实际应用能力。对于希望在前端或后端开发中充分利用Node.js核心优势的开发者而言,本书是一本不可多得的进阶读物。
目录
序一
序二
第 1 章 Node简介
1.1 Node的诞生历程
1.2 Node的命名与起源
1.3 Node给JavaScript带来的意义
1.4 Node的特点
1.5 Node的应用场景
1.6 Node的使用者
1.7 参考资源
第 2 章 模块机制
2.1 CommonJS规范
2.2 Node的模块实现
2.3 核心模块
2.4 C/C++扩展模块
2.5 模块调用栈
2.6 包与NPM
2.7 前后端共用模块
2.8 总结
2.9 参考资源
第 3 章 异步I/O
3.1 为什么要异步I/O
3.2 异步I/O实现现状
3.3 Node的异步I/O
3.4 非I/O的异步API
3.5 事件驱动与高性能服务器
3.6 总结
3.7 参考资源
第 4 章 异步编程
4.1 函数式编程
4.2 异步编程的优势与难点
4.3 异步编程解决方案
4.4 异步并发控制
4.5 总结
4.6 参考资源
第 5 章 内存控制
5.1 V8的垃圾回收机制与内存限制
5.2 高效使用内存
5.3 内存指标
5.4 内存泄漏
5.5 内存泄漏排查
5.6 大内存应用
5.7 总结
5.8 参考资源
第 6 章 理解Buffer
6.1 Buffer结构
6.2 Buffer的转换
6.3 Buffer的拼接
6.4 Buffer与性能
6.5 总结
6.6 参考资源
第 7 章 网络编程
7.1 构建TCP服务
7.2 构建UDP服务
7.3 构建HTTP服务
7.4 构建WebSocket服务
7.5 网络服务与安全
7.6 总结
7.7 参考资源
第 8 章 构建Web应用
8.1 基础功能
8.2 数据上传
8.3 路由解析
8.4 中间件
8.5 页面渲染
8.6 总结
8.7 参考资源
第 9 章 玩转进程
9.1 服务模型的变迁
9.2 多进程架构
9.3 集群稳定之路
9.4 Cluster模块
9.5 总结
9.6 参考资源
第 10 章 测试
10.1 单元测试
10.2 性能测试
10.3 总结
10.4 参考资源
第 11 章 产品化
11.1 项目工程化
11.2 部署流程
11.3 性能
11.4 日志
11.5 监控报警
11.6 稳定性
11.7 异构共存
11.8 总结
11.9 参考资源
附录 A 安装Node
A.1 Windows系统下的Node安装
A.2 Mac系统下Node的安装
A.3 Linux系统下Node的安装
A.4 总结
A.5 参考资源
附录 B 调试Node
B.1 Debugger
B.2 Node Inspector
B.3 总结
附录 C Node编码规范
C.1 根源
C.2 编码规范
C.3 最佳实践
C.4 总结
C.5 参考资源
附录 D 搭建局域NPM仓库
D.1 NPM仓库的安装
D.2 高阶应用
D.3 总结
D.4 参考资源
您当前的等级为
登录后免费下载登录
小黑屋反思中,不准下载!
评论后刷新页面下载评论
支付¥以后下载
请先登录
您今天的下载次数(次)用完了,请明天再来
支付积分以后下载立即支付
支付以后下载立即支付
您当前的用户组不允许下载升级会员
您已获得下载权限
您可以每天下载资源次,今日剩余次
免责申明:
1. 本站分享的所有书籍均来源于自互联网,我们只进行收集整理,并不对书籍内容进行更改。
2. 部分书籍中可能有书籍压制者放置的广告,这并不是本站所为,请注意甄别。
3. 我们分享这些书籍,纯粹是出于知识分享的热情,以及对互联网分享精神的高度认同和践行,不以盈利为目的。
4. 本站分享的所有书籍,仅供个人学习研究使用,请勿用于任何商业用途,否则产生的一切法律纠纷与本站无关。
5. 如果这些书籍让你有所收获,在条件允许的情况下,请一定购买正版书籍,这是对创作者最好的支持。
6. 如果您是此书籍的版权所有者,且您不希望此作品出现在本站,请联系我们,我们将在收到您的请求后48小时内予以删除。