新書推薦:
《
儿童自我关怀练习册:做自己最好的朋友
》
售價:HK$
71.3
《
高敏感女性的力量(意大利心理学家FSP博士重磅力作。高敏感是优势,更是力量)
》
售價:HK$
62.7
《
元好问与他的时代(中华学术译丛)
》
售價:HK$
87.4
《
汽车传感器结构·原理·检测·维修
》
售價:HK$
112.7
《
怪谈百物语:不能开的门(“日本文学史上的奇迹”宫部美雪重要代表作!日本妖怪物语集大成之作,系列累销突破200万册!)
》
售價:HK$
66.7
《
罗马政治观念中的自由
》
售價:HK$
51.8
《
中国王朝内争实录:宠位厮杀
》
售價:HK$
63.3
《
凡事发生皆有利于我(这是一本读了之后会让人运气变好的书”治愈无数读者的心理自助经典)
》
售價:HK$
45.8
|
編輯推薦: |
《Node.js实战(第2季)》作者来自CNode社区点击率颇高、粉丝数万的《一起学node.js》。《Node.js实战(第2季)》没有成为教条式的入门级别,而是真正进入Node.js实战层次。
《Node.js实战(第2季)》在《Node.js实战(双色)》的基础上增加了实战案例的难度,并结合了当下的热门应用,增加了对原理、代码的细节讲解。
《Node.js实战(第2季)》与《Node.js实战(双色)》配套学习,可迅速开阔视野、提升开发技能、增加实战实力。
《Node.js实战(第2季)》是经读者强烈呼吁而诞生的,作者绞尽脑汁,就是为了让读者在阅读后大呼过瘾!
|
內容簡介: |
本书通过7个实例分别讲解了Node.js在实战开发中的应用,这些章节既涉及Docker、Koa 等****,也涉及OAuth2、命令行工具、消息队列、单元测试、编写CC++模块等实战中经常会遇到的问题和应用场景。本书章节大体按照从简单到复杂的难度编排,每一章都通过一个实例指引读者从头开发一个Node.js应用,让读者循序渐进地学习Node.js,以及在实战开发中的编程技巧。本书不但着重讲解了每个实战案例所涉及的基础知识、思路和方法,也详细解释了源码的关键部分,希望有利于读者的学习和理解。
本书适合有一定Node.js基础及服务器端开发基础的读者阅读,也适合想了解Node.js可
以做什么、想迅速上手实践的读者阅读。
|
關於作者: |
吴中骅,现于同程旅游担任系统架构师,也负责在同程旅游开展Node.js项目,非常享受Node.js的高性能和异步带来的编程愉悦感。
雷宗民,一登后台开发工程师,2011年6月开始接触Node.js,从此开始各种折腾与造轮子。
赵坤,现于北京红树岛信息科技有限公司工作,热爱互联网,崇尚开源精神。2013年偶遇Node.js,相见恨晚,从此开始一条Node.js不归路。
刘亚中,GitHub发烧友、Node.js源码贡献者,以Node.js Ninja身份先后参与国内外多个创业项目如Pixbi、Fireball、WeFlex、51Degrees等,并参与维护其中的部分开源项目。
|
目錄:
|
第1章 通过Docker快速发布Node.js应用 1
1.1 什么是Docker 1
1.2 Nginx作为Node.js前端Web Server的作用 3
1.3 安装Docker和下载Images镜像 5
1.4 Docker常用命令 8
1.5 启动Container盒子 10
1.6 文件卷标加载 11
1.7 将多个Container盒子连接起来 13
1.8 不要用SSH连接到你的Container盒子 15
1.9 配置DockerImages镜像和发布应用 19
1.10 什么是Jenkins 26
1.11 通过Docker安装和启动Jenkins 28
1.12 配置Jenkins并自动化部署Node.js项目 29
1.13 小结 36
1.14 参考文献 37
第2章 开发OAuth2认证服务器 38
2.1 本章所用到的第三方模块 38
2.2 REST风格的API 39
2.3 定义返回数据格式 40
2.4 实现简单的API 41
2.4.1 扩展Response对象 41
2.4.2 统一处理出错信息 43
2.4.3 实现简单的API 43
2.4.4 API版本 44
2.5 关于OAuth认证 45
2.5.1 OAuth 2.0授权流程 45
2.5.2 OAuth 2.0授权详解 45
2.5.3 定义授权接口 48
2.6 实现OAuth认证 48
2.6.1 OAuth2authorize接口 48
2.6.2 OAuth2access_token接口 52
2.6.3 在处理API请求前验证Access Token 55
2.6.4 Access Token过期的问题 56
2.7 实现API客户端 58
2.8 API传输过程中的安全问题 62
2.9 API请求频率限制 63
2.10 让API返回结果支持不同的格式65
2.10.1 通过后缀来指定返回的数据格式 65
2.10.2 通过Accept请求头来指定返回的数据格式 67
2.11 生成随机的测试数据 68
2.12 小结 69
2.13 参考文献及开源项目 70
第3章 基于RabbitMQ搭建消息队列 72
3.1 什么是消息队列,消息队列的优势72
3.2 安装和启动RabbitMQ 75
3.3 RabbitMQ的Hello World 76
3.4 RabbitMQ的工作队列80
3.5 RabbitMQ的PUBSUB队列 84
3.6 RabbitMQ的队列路由 89
3.7 RabbitMQ的RPC远程过程调用 94
3.8 基于RabbitMQ的Node.js和Python通信实例 99
3.9 RabbitMQ方案和HTTP方案的对比 103
3.10 小结 117
3.11 参考文献 117
第4章 编写命令行工具——打造一个静态博客系统 118
4.1 本章所使用到的第三方模块 119
4.2 命令格式 120
4.2.1 常见的命令格式 121
4.2.2 定义静态博客命令格式121
4.3 编写命令行工具 122
4.4 实时预览 126
4.4.1 启动Web服务器 127
4.4.2 渲染文章页面 128
4.4.3 文章元数据 131
4.4.4 增加模板 132
4.4.5 渲染文章列表 136
4.5 生成静态博客 140
4.6 配置文件 146
4.7 创建空白博客模板 150
4.8 一些有用的第三方服务 153
4.8.1 评论组件 153
4.8.2 分享组件 154
4.9 小结 155
4.10 参考文献 156
第5章 基于Koa快速开发Web应用 157
5.1 ES6时代的来临 157
5.1.1 function和function* 158
5.1.2 yield和yield* 1605.1.3 co和Koa 162
5.2 模板系统 170
5.2.1 ejs和co-ejs 170
5.2.2 过滤器 173
5.3 路由 173
5.4 参数验证与错误处理 175
5.4.1 koa-scheme 175
5.4.2 koa-errorhandler 178
5.5 缓存和配置 182
5.5.1 koa-router-cache和co-cache 182
5.5.2 config-lite 184
5.6 测试 184
5.6.1 单元测试 184
5.6.2 co-mocha和co-supertest 185
5.7 开发一个论坛系统 189
5.7.1 基础项目搭建 189
5.7.2 路由和功能设计 193
5.7.3 自定义模型 194
5.7.4 theme的设计 200
5.7.5 注册 206
5.7.6 登录与登出 213
5.7.7 主页与版块 216
5.7.8 用户页 221
5.7.9 发表页与话题页 222
5.7.10 测试 228
5.7.11 部署 231
5.8 小结 233
5.9 参考文献 233
第6章 Node.js测试服务搭建 235
6.1 概述 235
6.1.1 目的 2356.1.2 Pixbi 236
6.2 搭建后端测试服务 238
6.2.1 单元测试 239
6.2.2 功能性测试 259
6.2.3 可拓展性测试 260
6.3 搭建前端测试服务 261
6.3.1 PhantomJS 262
6.3.2 BrowserStack 266
6.3.3 Adobe CEP(Common Extensibility Platform)269
6.4 加入持续集成工作流 271
6.5 小结 274
6.6 参考资料 276
第7章 使用Node.js绑定C语言库——51Degrees.node 277
7.1 开发背景 277
7.2 预备知识 279
7.2.1 51Degrees-C 279
7.2.2 CC++中的Node.js API 282
7.2.3 使用nan 284
7.3 编码 285
7.3.1 项目初始化 285
7.3.2 创建v8胶水层接口 286
7.3.3 创建JavaScript代码 293
7.4 构建与发布 294
7.4.1 node-gyp与binding.gyp 294
7.4.2 发布 296
7.5 如何从nan 1.x升级到nan 2.x 296
7.6 后记 298
|
|