-
>
决战行测5000题(言语理解与表达)
-
>
软件性能测试.分析与调优实践之路
-
>
第一行代码Android
-
>
深度学习
-
>
Unreal Engine 4蓝图完全学习教程
-
>
深入理解计算机系统-原书第3版
-
>
Word/Excel PPT 2013办公应用从入门到精通-(附赠1DVD.含语音视频教学+办公模板+PDF电子书)
Node.js项目实践构建可扩展的Web应用 版权信息
- ISBN:9787121259036
- 条形码:9787121259036 ; 978-7-121-25903-6
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 所属分类:>>
Node.js项目实践构建可扩展的Web应用 本书特色
《node.js项目实践:构建可扩展的web应用》用专业的讲解方式,带领读者从“hello world”示例开始,一步步将其构建成有实际用途的node.js应用。《node.js项目实践:构建可扩展的web应用》涉及许多组件的使用,比如安全、部署上线、组织代码、数据库驱动和模板引擎等,从中可使读者接触到很多经过历年实践所得出的广受欢迎的模块库,它们可以大大提高开发人员的代码质量和开发效率。
Node.js项目实践构建可扩展的Web应用 内容简介
√ 全球获好评*多的node书籍,原著获数百人五星推荐 适读人群 :本书适合熟悉node.js基础,想在专业环境中构建应用程序的开发人员 √ 国内**团队奇舞团精选领域**书,倾情翻译 √ 迈向产品级开发的实战入门,理解更深,技能翻番 √ 面向项目,涵盖第三方模块和组合技术,实战案例丰富 《node.js项目实践:构建可扩展的web应用》会指导你逐步学习如何使用专业的开发工具来构建一系列基于node.js的web应用。node.js是一个用于创建web服务的平台,以创新设计和高效著称。但仅有node.js核心本身并不能够解决所有问题!在现代web开发中,通常需要将许多不同的组件组合在一起——路由、数据库驱动、orm、会话管理、oauth、html模板引擎、css编译器等。如果你已经对node.js的基础知识有了一定的了解,那现在就是我们去探索它巨大的模块包生态系统并用来构建产品的时候了。作为一个web开发者,你将通过本书了解到各种各样的标准和框架集合是如何完美地通过node.js结合到一起的。 《node.js项目实践:构建可扩展的web应用》会从javascript与node.js的基础概念讲起,随后是必要模块的安装和详细介绍,再循序渐进地讲解如何编写和部署web应用项目等你想了解的一切相关知识。我们会讨论各种库的引用,包括但不限于express.js 4和hapi.js框架,操作mongodb数据库的mongoskin和mongoose orm,jade和handlebars模板引擎,授权用户认证的oauth模块和集成oauth的everyauth库,mocha单元测试框架和expect tdd/bdd语法,基于websocket协议提供实时通信的socket.io和derbyjs库。 能够动起手来跟着本书一起写代码的读者,可以接触到一个由众多小例子迭代开发形成的博客项目,你会从零开始构建数据库脚本,写rest api和添加单元测试等进行全栈式的应用开发。本书还会介绍如何使用git管理你的代码并将它们部署到heroku平台和amazon web service云服务平台上去。我们还利用nginx、varnish缓存、upstart脚本、init.d脚本,还有forever模块等技术保证了应用程序的稳定运行。*后还会教你如何写你自己的node.js模块包和在npm发布它们。 通过《node.js项目实践:构建可扩展的web应用》,你将学会: 使用express.js 4、mongodb和jade模板引擎构建web应用 利用mongodb控制台操作数据 通过mocha、expect和travisci为node.js web服务做测试用例 基于token和session的身份验证 使用everyauth库实现第三方(twitter)oauth授权认证 利用redis、node.js domains模块,以及cluster库等技巧和*佳实践来准备生产环境的代码 在amazon web services(aws)云服务上部署node.js应用时需要安装的组件
Node.js项目实践构建可扩展的Web应用 目录
第1 章 安装node.js 及相关要点 .............. 1
安装node.js 和npm................................. 1
一键安装 ................................................ 2
通过homebrew 或macports 安装 ........ 3
通过tar 文件安装 .................................. 4
无须sudo 授权进行安装 ........................ 4
通过git repo 进行安装 ......................... 5
通过nave 进行多版本安装 ................... 5
通过nvm 进行多版本安装...................6
其他的多版本系统 .................................. 6
检查安装 ................................................ 7
node.js 控制台(repl) ....................... 7
加载node.js 脚本.......................................9
node.js 的基础和语法 ............................... 9
弱类型 .................................................... 9
buffer——node.js 特殊数据类型..........10
对象字面量 ...........................................10
函数 ....................................................... 11
数组 .......................................................12
原型特性 ...............................................12
编码规范 ...............................................13
node.js 的全局变量和保留字 ................14
__dirname 与process.cwd 的对比 .........17
浏览器api 输助工具 ............................17
node.js 的核心模块 ...............................18
便捷的node.js 工具 ..............................20
在node.js 中读写文件 ..........................20
node.js 中的数据流 ...............................21
使用npm 安装node.js 模块 ................21
优化node.js 中的回调函数...................22
使用node.js 的http 模块来创建一个简单服务器 ...................23
调试node.js 程序......................................24
核心node.js 调试 ..................................24
使用node inspector 来调试 ..................25
node.js 集成开发环境和代码编辑器 ...28
监听文件变化 .............................................30
小结 ...............................................................31
第2 章 使用express.js 4 创建node.js 的web 应用程序 ...................32
什么是express.js .......................................32
express.js 是如何工作的 ..........................35
express.js 的安装 .......................................36
express.js 的版本 ..................................36
express.js 生成器 ..................................37
本地express.js ......................................38
express.js 脚手架 .......................................40
express.js 命令行界面 ...........................41
express.js 中的路由 ...............................43
express.js 的核心——中间件 ................44
一个express.js 应用的配置...................45
jade 就是express.js/node.js 的haml ...45
脚手架总结 ...........................................45
博客项目概述 .............................................46
提交数据 ...............................................47
express.js 4 中的hello world 例子 .......48
创建文件夹 ...........................................49
npm 初始化和package.json.................50
依赖声明:npm install ...........................50
app.js 文件 .............................................51
jade 模板 ...............................................55
运行hello world 应用 ...........................56
小结 ...............................................................56
第3 章 node.js 基于mocha 的测试驱动开发和行为驱动开发 ......................57
安装与理解mocha ...................................58
理解mocha 的hook 机制 ......................60
用assert 进行tdd...................................61
断言库chai ...........................................63
用expect.js 进行bdd.............................64
expect.js 的语法 ....................................65
项目:为博客开发一个bdd 测试 ......65
将配置参数写入makefile .....................68
小结 ...............................................................69
第4 章 模板引擎:jade 和handlebars 70
jade 的语法和特性 ...................................70
标签 .......................................................71
变量/数据 ..............................................71
属性 .......................................................72
字面量 ...................................................73
文本 .......................................................73
script 和 style 块 ..................................74
javascript 代码 ......................................74
注释 .......................................................75
if 语句 ....................................................75
each 语句 ...............................................75
过滤器 ...................................................76
读取变量 ...............................................76
case ........................................................76
函数mixin .............................................77
include ....................................................78
extend .....................................................78
单独使用jade .............................................79
handlebars 的语法 ....................................83
变量 .......................................................83
each 语句 ...............................................83
非转义输出 ...........................................84
if 语句 ....................................................85
unless .....................................................85
with ........................................................86
注释 .......................................................87
自定义 helpers .....................................87
include ...................................................88
单独使用handlebars .................................88
express.js 4 中jade 和handlebars 的用法 ............................................91
jade 和 express.js.................................92
handlebars 和express.js........................92
项目:给博客添加jade 模板 .................93
layout.jade ..............................................94
index.jade ...............................................96
article.jade ..............................................97
login.jade ................................................98
post.jade .................................................99
admin.jade ............................................ 100
小结 ............................................................. 101
第5 章 mongodb、mongoskin 特性 .... 102
简单且正确地安装mongodb .............. 103
如何运行mongo 服务 ............................ 104
用控制台操作mongo ............................. 105
mongodb shell 命令介绍 ...................... 106
node.js 版原生mongodb 驱动示例 .. 107
mongoskin 的主要方法介绍 ................. 111
项目:用mongoskin 把博客数据存储到mongodb............................ 112
项目:在mongodb 中添加seed 数据 ......................................... 112
项目:mocha 测试 ............................... 113
项目:添加持久连接 ........................... 115
运行app .............................................. 126
小结 ............................................................. 127
第6 章 在node.js 应用中使用session 和oauth 进行用户认证和授权 ............... 128
使用express.js 中间件权限管理 ......... 128
基于token 的用户认证 ........................... 129
基于session 的用户认证 ........................130
项目实践:为博客增加邮箱和密码登录功能 .......................................... 132
session 中间件 ..................................... 132
博客中的权限管理 ............................... 133
博客中的用户授权 ............................... 136
运行应用 ............................................. 138
node.js oauth ........................................... 138
使用node.js oauth 实现twitter oauth2.0 的示例 ................................ 139
everyauth ............................................. 140
项目实践:为博客增加twitter oauth 1.0 第三方登录(使用everyauth 实现) .......... 141
添加“使用twitter 账户登录”链接 .. 142
配置everyauthtwitter 模块 ................. 142
小结 ............................................................. 148
第7 章 使用orm 类库mongoose 提升你的node.js 数据 ......................... 149
安装mongoose ......................................... 150
用独立的mongoose 脚本建立数据库连接 .................................. 150
mongoose 的原型 .................................... 152
使用钩子保持代码的逻辑清晰 ............ 154
自定义静态方法和实例方法 ................ 155
mongoose 模型 .......................................155
使用population 建立关系和连接 ........158
嵌套的文档 ............................................... 160
虚拟字段 .................................................... 161
修改原型的行为 ...................................... 162
express.js + mongoose =真正的mvc ..................................... 164
小结 ................................. 175
第8 章 使用express.js 和hapi 构建node.js rest api 服务 ....................... 176
restful api 基础 ................................... 177
项目依赖 .................................................... 179
使用mocha 和superagent 进行测试 . 180
使用express 和mongoskin 实现rest api 服务器 ...................................... 185
重构:使用hapi 搭建rest api 服务器 .............................................. 192
小结 ............................................................. 199
第9 章 websocket、socket.io 和derbyjs 的实时应用程序 .................... 200
什么是websocket ................................... 200
用ws 模块的例子介绍本地websocket 和node.js .............................. 201
浏览器websocket 的实现 ...................201
用ws 模块实现node.js 服务器 .......... 202
socket.io 和express.js 的例子 ............ 204
用derbyjs、express.js 和mongodb 搭建一个在线协作的代码编辑器例子 ........ 209
项目依赖和package.json ..................... 210
服务器端代码 ...................................... 211
derbyjs 应用程序 ................................ 213
derbyjs 视图 ....................................... 215
编辑器tryout ...................................... 217
小结 ............................................................. 218
第10 章 为node.js 应用上线做准备 ..... 219
环境变量 .................................................... 219
生产环境下的express.js ........................ 220
生产环境下的socket.io ........................ 222
错误处理 ................................ 223
错误处理工具node.js domains ............ 225
使用cluster 处理多线程 ........................229
使用cluster2 处理多线程 ..................... 232
事件日志和监控 ...................................... 233
监控 ..................................................... 233
生产环境下的repl ............................ 235
winston ................................................ 236
使用papertrail 应用来管理日志 ......... 237
使用grunt 处理任务 ............................... 237
使用git 来做版本控制和发布代码 ... 241
安装git ............................................... 242
生成ssh 密钥 .................................... 242
创建本地git 仓库................................245
将本地仓库推送到github .................. 245
在云上使用travisci 运行测试用例 .. 246
travisci 配置 ...................................... 247
小结 ............................................................. 248
第11 章 部署node.js 应用 ....................... 249
部署到heroku .......................................... 249
部署到amazon 网络服务 ..................... 255
使用forever、upstart 和init.d 保持node.js 持续运行 ................ 259
forever .................................................. 259
upstart .................................................. 260
init.d ..................................................... 262
尽可能使用nginx 提供静态资源 ....... 264
使用varnish 缓存 .................................... 266
小结 ............................................................. 268
第12 章 node.js 模块发布和参与开源 . 269
推荐的目录结构 ...................................... 270
所需模式 .................................................... 270
package.json............................................... 273
发布到npm ............................................. 274
锁定版本 .................................................... 274
小结 ............................................................. 275
结束语 ......................................................... 275
进阶阅读 .................................................... 276
勘误和联系方式 ...................................... 276
Node.js项目实践构建可扩展的Web应用 相关资料
看过n本书后,很庆幸遇到了这本最好最全的node.js开发学习用书。作者立功了,留下一部可以让我们真正领略这一技术妙用的又好又全的作品!为什么我如此丧心病狂的点赞,是因为它让我从概念上得以提升,开始找到通向产品级编码的道路。没有它这毫无可能,必须隆重感谢作者和它的研究成果!
——原著读者julia评论于2014-12-16
我是一个中级码农,专攻java和php。几年前,为进步开始自学javascript和node。看遍所有线上资料,被一个个链接累残后,我必须找本书来解救自己,它要覆盖我循序渐进提高必须的所有知识,《node.js项目实践》就是这样一本书!
它胜在:
1)每章都有可操作的实战演练!我习惯于体验式学习,必须动手,而这正是这本书的特色!你可以按照你的想法给我解释什么是node,让我做好理论笔记,但我离不开可上手编码的过程,我需要有可验证的输出结果。
2)内容组织得毫无瑕疵。每章都建立在以后知识之上,学习曲线平缓,不需要一上来就得面对较新的编程语言,否则我真是缺乏信心。
3)这本书完整呈现如何实现诸多不同项目,其中一些可以直接拿来用在我们的应用开发中。这实在是这本书最大的实惠!
如果你对javascript一窍不通,建议提前学学。资料到处都是,而且将来创建应用也离不开它。稍作准备后,让这本最佳读物带你登堂入室,成为更称职的程序员。
——原著读者ashley storey评论于2015-1-26
毫无疑问的node第一书!归根结底,一个努力确保读者体验的作者,做到了一站式服务和易学易读。软件开发图书最大的槽点就是内容过时,滞后6个月的书就有可能无法运行其中的代码,需要你用95%的时间找出为什么不能运行的原因。之所以大爱这本书,正是因为所有步骤里涉及的中间件都能确保可用。比如,书里采用的是""npm install -g express-generator@4.0.0"",而不是""npm install -g express-generator"" ,小细节,大不同!编写风格简洁到位,案例精彩,真实有效,其中蕴藏着众多知识精化……百分百支持,都等不及他的下一本书了
——原著读者paul coady 评论于2015-4-8
近几个礼拜,我一直充满愉悦地拜读azat mardan的近作《node.js项目实践:构建可扩展的web应用》。不得不说,写得真好,信息量真大,绝对是迄今为止最有用的node.js实践指导。如果你在寻找如何用node.js专业层面的书籍,这本书可谓量身定做!<br>
这本书的宗旨在于如何用好node.js,不止是纯node,还包括很多有用的第三方模块。很多书把所有笔墨都用在深度剖析node.js本身上,但是这并不会给读者带来真正用它创建项目的清晰认识。
很想为作者设身处地为读者着相的苦心而鼓掌,这让读者的阅读体验可以畅快而高效!
——原著读者azey47评论于2015-2-17
Node.js项目实践构建可扩展的Web应用 作者简介
Azat Mardan 在互联网、移动、软件开发方面有十多年的工作经验。他拥有信息学学士以及信息系统硕士学位,并且掌握和实践经验一样丰富的学术知识。 最近,Azat 以团队领导/高级软件工程师的角色工作于DocuSign,他的团队采用最新技术Node.js 栈、Express.js、Backbone.js、CoffeeScript、Jade、Stylus 以及Redis 重构了拥有5000 万用户的产品(DocuSign 网络应用)。 之前,Azat 曾在Storify.com(2013 被收购)、美国国家生物技术信息中心、联邦存款保险公司、洛克希德马丁以及其他公司任高级软件工程师。他在Marakana 开源社区(2013 被收购)、pariSOMA、General Assembly San Francisco 以及Hack Reactor 上教编程获得一致好评。Azat 会利用业余时间在他的博客webapplog.com 上写技术文章。他还是其他4 本JavaScript 和Node.js 图书的作者,包括亚马逊上客户端服务器类的畅销书:Rapid Prototyping with JS: Agile JavaScript Development。 Azat 是开源Node.js 项目:ExpressWorks、mongoui、HackHall 和NodeFramework.com的创建者,同时,也是Express、OAuth、jade-browser 以及其他NPM 模块的贡献者。
- >
我与地坛
我与地坛
¥16.5¥28.0 - >
企鹅口袋书系列·伟大的思想20:论自然选择(英汉双语)
企鹅口袋书系列·伟大的思想20:论自然选择(英汉双语)
¥6.3¥14.0 - >
山海经
山海经
¥19.7¥68.0 - >
罗庸西南联大授课录
罗庸西南联大授课录
¥20.2¥32.0 - >
有舍有得是人生
有舍有得是人生
¥17.1¥45.0 - >
罗曼·罗兰读书随笔-精装
罗曼·罗兰读书随笔-精装
¥31.9¥58.0 - >
经典常谈
经典常谈
¥12.7¥39.8 - >
朝闻道
朝闻道
¥8.8¥23.8
-
网络工程师教程(第2版)
¥69.3¥99 -
Python 数据分析基础
¥41¥69 -
Python 3.5从零开始学
¥26.4¥59 -
虚拟化与容器技术
¥49.9¥69.8 -
UG NX 11.0工程图教程-(含1DVD)
¥30.4¥59.9 -
程序设计语言编译原理(第3版)
¥25.4¥39