- Nodejs的创造,历史背景与价值
- Nodejs的基本架构与优缺点
- Nodejs的优势场景
- Nodejs的现状与未来
- Nodejs在各个平台下的安装以及相关的注意事项
- REPL环境的使用
- Nodejs的常规变更
- 网络IO模型介绍
- Nodejs与TCP,UDP
- Nodejs与http
- Nodejs下的Web框架
- 事件模型介绍
- event包介绍
- 事件的接收与发送
- 高并发与异步IO
- 深刻理解同步,异步,阻塞,非阻塞的含义
- 异步编程与回调地狱(Callback hell)
- 从promise到async/await
- Nodejs内存分配机制简介
- Nodejs内存泄漏
- 内存使用监控与调试
- 核心模块
- 自定义模块
- 模块的引入机制(commonjs, es6 import)
- 模块共享
- npm基本介绍
- npm包的创作,发布,更新
- npm包本地服务器的架设
- 理解什么Buffer是什么
- 理解如何使用Buffer
- 理解Buffer与字符串的差别
- 基本介绍
- 中间件编写
- 路由编写
- jade模板介绍与使用
- ejs模板介绍与使用
- handlerbars模板介绍与使用
- 如何选择模板
- 普通表单获取
- 表单的检验
- 文件上传与处理
- 上传文件的管理与云化
- NoSQL vs SQL
- 如何选择适合你的数据库
- ORM基本介绍
- ORM还是基本库
- Waterline介绍
- Waterline模型的定义
- Waterline的使用
- Web用户验证的基础
- Cookie与Session实现
- 简单的用户登录与退出实现
- 通过OAuth登录或者允许第三方网站登录
- HTTP与长连接
- Websocket之前的请求模型
- Websocket的原理,目标与现状
- socket.io对HTTP长连接的封装
- 使用socket.io进行编程
- debugger
- node-inspector
- 在chrome上调试nodejs
- gulp/grunt
- yeoman
- 多进程与多CPU
- 进程的管理
- 进程的通讯
- cluster模块介绍与使用
- 基于mocha编写单元测试
- 基于istanbul的代码覆盖率测试
- 性能测试
- 压力测试
- 代码的持续集成
- 基于CI服务器保证代码的持续集成
- 单进程的部署
- 多进程的部署
- 多台机器下的部署
- forever与pm2的介绍
- NodeWebKit与Electron
- bower
- webpack
- browerify
- reactjs,angular2
- cordova/phonegap/ionic
- reactjs/react native
- nativescript