Node学习指南
Shelley Powers
夏思雨, 高亮 译
出版时间:2014年01月
页数:360
“一本非常好的介绍Node.js的书。我一直把它放在触手可及的地方。”
——Mike Amundsen,
Building Hypermedia APIs with HTML5 and Node一书作者

本书帮助你将Web开发技能从浏览器端转向Node服务器,并且学习如何使用Node这种基于JavaScript的平台编写出快速和高可扩展性的网络应用。在本书的指导下,你可以快速掌握Node的核心技能,获得使用内建和扩展模块的经验,并了解客户端编程和服务器端编程的不同和相同之处。
为了加快Node事件驱动的速度,在开发计算简单但是访问频繁的数据密集型程序时,可以使用异步的I/O模型。
如果你喜欢使用JavaScript,本书提供了很多代码和开发的示例来帮助你学习Node服务器端的开发。

· 探索Node独特的异步开发的实现方式;
· 使用Express架构和Connect中间件构建Node应用示例;
· 使用NoSQL解决方案,比如Redis和MongoDB,探索Node的关系数据库模块;
· 使用PDF文件,提供HTML5媒体,使用Canvas创建图形;
· 使用WebSockets创建浏览器和服务器的双向通信;
· 深入学习如何调试和测试程序;
· 在云服务器或者自己的系统上部署Node应用程序。

Shelley Powers从JavaScript刚发布时,就开始使用和编写Web技术相关书籍。她之前在O’Reilly出版了8本书,包括Developing ASP Components(2001),Adding Ajax(2007)和JavaScript Cookbook(2010)。
  1. 第1章 node.js:启动与运行 
  2. 1.1 搭建node开发环境 
  3. 1.1.1 linux(ubuntu)下安装node 
  4. 1.1.2 windows 7平台下node+webmatrix 
  5. 1.1.3 升级node 
  6. 1.2 开始node开发 
  7. 1.2.1 hello, world in node 
  8. 1.2.2 分析“hello,world” 
  9. 1.3 异步函数及node事件循环
  10. 1.3.1 使用异步方式读取文件
  11. 1.3.2 观察异步程序流程
  12. 1.4 node的优势
  13. 第2章 node与repl 
  14. 2.1 repl:先睹为快和未定义的表达式
  15. 2.2 repl的优势:更好地理解表层之下的javascript 
  16. 2.3 多行以及更复杂的javascript
  17. 2.3.1 repl命令 
  18. 2.3.2 repl和rlwrap 
  19. 2.3.3 定制repl 
  20. 2.4 不可预计的意外——记得经常保存
  21. 第3章 node核心库
  22. 3.1 全局对象:global、process和buffer 
  23. 3.1.1 global 
  24. 3.1.2 process 
  25. 3.1.3 buffer 
  26. 3.2 定时器:settimeout、cleartimeout、setinterval 和clearinterval 
  27. 3.3 servers、streams和sockets 
  28. 3.3.1 tcp sockets和servers 
  29. 3.3.2 http 
  30. 3.3.3 udp数据报套接字
  31. 3.3.4 流、管道和readline 
  32. 3.4 子进程
  33. 3.4.1 child_process.spawn 
  34. 3.4.2 child_process.exec和child_process.execfile 
  35. 3.4.3 child_process.fork 
  36. 3.4.4 在windows系统中使用子进程
  37. 3.5 域名解析和url处理
  38. 3.6 utilities模块和对象继承
  39. 3.7 events和eventemitter 
  40. 第4章 node模块系统
  41. 4.1 使用require和默认路径加载模块
  42. 4.2 外部模块和node包管理工具
  43. 4.3 如何找到你需要的模块
  44. 4.3.1 colors:简单至上
  45. 4.3.2 optimist:另一个简单的小模块
  46. 4.3.3 underscore 
  47. 4.4 创建自定义模块
  48. 4.4.1 打包整个目录
  49. 4.4.2 为你的模块发布做准备
  50. 4.4.3 发布模块
  51. 第5章 控制流、异步模式和异常处理
  52. 5.1 使用callback而不使用promises 
  53. 5.2 顺序调用、嵌套回调、异常捕获
  54. 5.3 异步模式和控制流模块
  55. 5.3.1 step 
  56. 5.3.2 async
  57. 5.4 node编码风格
  58. 第6章 路由寻址、服务文件和中间件
  59. 6.1 从头开始:创建一个简单的静态文件服务器
  60. 6.2 中间件
  61. 6.2.1 connect基本知识
  62. 6.2.2 connect中间件
  63. 6.2.3 定制connect中间件
  64. 6.3 routers
  65. 6.4 proxies 
  66. 第7章 express框架
  67. 7.1 express:启动和运行
  68. 7.2 app.js文件
  69. 7.3 错误处理
  70. 7.4 express与connect的关系
  71. 7.5 路由
  72. 7.5.1 路由路径
  73. 7.5.2 路由和http动词
  74. 7.6 关于mvc 
  75. 7.7 使用curl测试express应用程序
  76. 第8章 express、模板系统和css 
  77. 8.1 ejs模板系统(embedded javascript template system) 
  78. 8.1.1 基本语法
  79. 8.1.2 node与ejs
  80. 8.1.3 ejs与node filters 
  81. 8.2 在express中使用ejs 
  82. 8.2.1 多对象环境的改造
  83. 8.2.2 静态文件路由
  84. 8.2.3 处理一个新对象的post请求
  85. 8.2.4 widget索引和生成picklist 
  86. 8.2.5 显示单个对象并确认对象的删除操作
  87. 8.2.6 提供更新信息的表达以及处理put请求
  88. 8.3 jade模板系统
  89. 8.3.1 jade语法简介
  90. 8.3.2 使用block和extends模块化视图模板
  91. 8.3.3 widget view转换为jade模板
  92. 8.3.4 转换edit和delete表单
  93. 8.4 使用stylus完成简单的css样式
  94. 第9章 结构化数据、noe和redis 
  95. 9.1 node和redis 
  96. 9.2 构建游戏得分排行榜
  97. 9.3 创建消息队列
  98. 9.4 为express应用程序添加统计中间件 
  99. 第10章 node和mongodb:文档中心数据
  100. 10.1 mongodb native node.js driver(mongodb原生node.js驱动)
  101. 10.1.1 mongodb入门
  102. 10.1.2 定义、创建以及销毁mongodb collection 
  103. 10.1.3 为collection添加数据
  104. 10.1.4 查询数据
  105. 10.1.5 使用updates、upserts、find和remove 
  106. 10.2 使用mongoose实现widget模块 
  107. 10.3 重构widget工厂
  108. 10.4 添加mongodb后台
  109. 第11章 node与关系型数据库
  110. 11.1 db-mysql入门
  111. 11.1.1 查询字符串和方法链
  112. 11.1.2 使用查询字符串更新数据库
  113. 11.1.3 使用方法链更新数据库
  114. 11.2 使用node-mysql实现本地mysql访问
  115. 11.2.1 使用node-mysql做基本的crud操作
  116. 11.2.2 mysql事务与mysql-queues 
  117. 11.3 orm与sequelize 
  118. 11.3.1 定义模型
  119. 11.3.2 orm风格的crud实现
  120. 11.3.3 添加多个对象
  121. 11.3.4 从关系型到orm 
  122. 第12章 图形和html5 video 
  123. 12.1 创建和使用pdf 
  124. 12.1.1 使用子进程访问pdf工具
  125. 12.1.2 使用pdfkit创建pdf 
  126. 12.2 从子进程访问imagemagick
  127. 12.3 通过http提供html5 video服务
  128. 12.4 创建和流化画布内容(canvas content)
  129. 第13章 websockets和socket.io 
  130. 13.1 websockets
  131. 13.2 socket.io简介
  132. 13.2.1 一个简单的通信范例
  133. 13.2.2 异步世界里的websockets 
  134. 13.2.3 关于客户端代码
  135. 13.3 配置socket.io 
  136. 13.4 chat:websockets版本的“hello, world”
  137. 13.5 在express中使用socket.io 
  138. 第14章 node应用程序的测试和调试
  139. 14.1 调试
  140. 14.1.1 node.js debugger 
  141. 14.1.2 使用node inspector的客户端调试 
  142. 14.2 单元测试(unit testing)
  143. 14.2.1 assert与单元测试
  144. 14.2.2 nodeunit与单元测试
  145. 14.2.3 其他测试框架
  146. 14.3 验收测试
  147. 14.3.1 soda和selenium测试
  148. 14.3.2 通过tobi和zombie模拟浏览器
  149. 14.4 性能测试:基准问题和负载测试
  150. 14.4.1 apachebench基准测试
  151. 14.4.2 nodeload与负载测试
  152. 14.5 nodemon更新代码
  153. 第15章 安全及防护
  154. 15.1 数据加密
  155. 15.1.1 tsl/ssl配置
  156. 15.1.2 使用https 
  157. 15.1.3 如何安全的保存密码
  158. 15.2 认证/授权及passport 
  159. 15.2.1 授权/认证策略:oauth、openid、用户名/密码验证
  160. 15.2.2 local passport strategy 
  161. 15.2.3 twitter passport strategy(oauth) 
  162. 15.3 保护应用程序,防止攻击
  163. 15.3.1 不要使用eval 
  164. 15.3.2 尽量使用复选框、单选按钮和下拉式选项
  165. 15.3.3 使用node-
  166. 15.4 在沙箱中执行代码
  167. 第16章 扩展和部署node应用
  168. 16.1 把你的节点部署到服务器上
  169. 16.1.1 编写package.json文件
  170. 16.1.2 使用forever让你的应用“永不掉线”
  171. 16.1.3 使用node和
  172. 16.1.4 改善性能
  173. 16.2 部署到云服务
  174. 16.2.1 通过cloud9 ide部署到windows azure 
  175. 16.2.2 joyent development smartmachine 
  176. 16.2.3 heroku 
  177. 16.2.4 amazon ec2 
  178. 16.2.5 nodejitsu 
  179. 附录 node、git和github 
书名:Node学习指南
作者:Shelley Powers
译者:夏思雨, 高亮 译
国内出版社:人民邮电出版社
出版时间:2014年01月
页数:360
书号:978-7-115-33796-2
原版书书名:Learning Node
原版书出版商:O'Reilly Media
Shelley Powers
 
Shelley Powers从JavaScript初次开发到现在最新的图形和设计工具发布,Shelley Powers已经从事Web技术工作和写作达15年之久。她最近在O’Reilly出版的图书包括语义网、Ajax、JavaScript和Web图形。她是一位热情的业余摄影师,也是Web开发的狂热爱好者,她从JavaScript刚发布时,就开始使用和编写Web技术相关书籍。她之前在O’Reilly出版了8本书,包括Developing ASP Components(2001),Adding Ajax(2007)和JavaScript Cookbook(2010)。