| Node.js技术体系概览 | Node 旨在解决什么问题? Node 工作的原理?
 服务器端的JavaScript的商业意义是什么?
 Node.js结构和运行解析
 Node.js应用案例回顾
 | 
                            
                              | Node.js一个案例剖析 | 从客户端到服务端的请求与响应 服务器处理内容
 服务器处理过程
 Node.js都做了什么
 Node.js的基本开发框架
 理解Node.js的能力范围
 | 
                            
                              | Node.js的模块机制 | CommonJS的模块规范 Node的模块实现  
                                  
                                    优先从缓存加载 
                                    路径分析和文件定位 
                                  模块编译 
                                  
                                核心模块 
                                
                                  JavaScript核心模块的编译过程
                                  C/C++核心模块的编译过程 
                                  核心模块的引入流程 
                                  编写核心模块 
                                
                                C/C++扩展模块
 模块调用栈
 包与NPM
 前后端共用模块
 | 
                            
                              | Node.js的异步I/O | 为什么要异步I/O 异步I/O实现现状 
                                  
                                    异步I/O与非阻塞I/O  
                                    理想的非阻塞异步I/O 
                                  现实的异步I/O 
                                  
                                Node的异步I/O 
                                
                                  事件循环 
                                  观察者 
                                  请求对象 
                                  执行回调 
                                
                                非I/O的异步API 
                                
                                  定时器 
                                  process.nextTick()  
                                  setImmediate()  
                                
                                事件驱动与高性能服务器
 | 
                            
                              | Node.js的异步编程 | 函数式编程  
                                  
                                  高阶函数  
                                  偏函数用法  
                                  
                                异步编程的优势与难点 异步编程解决方案  
                                
                                  事件发布/订阅模式 
                                  Promise/Deferred模式 
                                  流程控制库 
                                
                                异步并发控制 
                                
                                  bagpipe的解决方案 
                                  async的解决方案
 | 
                            
                              | Node.js的内存控制 | V8的垃圾回收机制与内存限制 高效使用内存   
                                  
                                    内存指标   
                                  内存泄漏   
                                  
                                慎将内存当做缓存
 关注队列状态
 内存泄漏排查   
                                
                                  node-heapdump   
                                  node-memwatch   
                                
                                大内存应用
 | 
                            
                              | Node.js的网络编程 | 构建TCP服务 构建UDP服务
 构建HTTP服务
 构建WebSocket服务
 网络服务与安全   
                                  
                                    TLS/SSL   
                                    TLS服务   
                                    HTTPS服务
 | 
                            
                              | 基于Node.js构建Web应用 | 基础功能   
                                  
                                  请求方法   
                                    路径解析   
                                    查询字符串   
                                    Cookie   
                                    Session   
                                    缓存   
                                  Basic认证   
                                  
                                数据上传   
                                
                                  表单数据   
                                  其他格式   
                                  附件上传   
                                  数据上传与安全   
                                  路由解析   
                                  文件路径型   
                                  MVC   
                                  RESTful   
                                
                                中间件   
                                
                                  异常处理   
                                  中间件与性能   
                                
                                页面渲染   
                                
                                  内容响应   
                                  视图渲染   
                                  模板   
                                  Bigpipe | 
                            
                              | Node.js的进程与集群 | 服务模型的变迁 
                                  
                                  同步 
                                    复制进程 
                                    多线程 
                                  事件驱动 
                                  
                                多进程架构 
                                
                                  创建子进程 
                                  进程间通信 
                                  句柄传递  
                                
                                集群稳定之路 
                                
                                  进程事件 
                                  自动重启 
                                  负载均衡 
                                  状态共享 
                                
                                Cluster模块 
                                
                                  Cluster工作原理  
                                  Cluster事件 | 
                            
                              | Node.js应用案例实践、评测与优化 | 需求分析 
                                  
                                  客户端和服务端协作分析 
                                    服务端功能分析 
                                  客户端功能分析 
                                  
                                架构设计 
                                
                                  基于Node.js的模块设计 
                                  模块接口和交互设计 
                                  规划模块结构 
                                  规划模块加载时机 
                                
                                运行时过程设计 
                                
                                  进程划分 
                                  进程之间的通信设计 
                                  采用集群 
                                
                                实现 
                                
                                  服务端模块开发 
                                  客户端开发 
                                
                                测试与验证 
                                
                                  功能交互验证 
                                  性能评测 
                                  可靠性评测 
                                
                                性能优化 
                                
                                  数据结构优化 
                                  模块重构 
                                  内存优化 
                                  进程优化 | 
                            
                              | 课程总结 | Node.js开发技术汇总 各种技术的关系和接口
 |