了不起的Node.js

出版社:电子工业出版社
出版日期:2014-1
ISBN:9787121217692
作者:劳奇 (Guillermo Rauch)
页数:292页

内容概要

Guillermo Rauch(旧金山,加利福尼亚州)是一家位于旧金山,为
当地教育提供相关服务的创业公司LearnBoost的CTO和联合创始人。
Rauch还是几个知名Node.js项目的发明者,曾在JSConf和一些
Node.js workshop做过演讲。"
译者介绍:
Goddy Zhao(本名赵静),Successfactors(SAP子公司)软件工程师。毕业于复旦大学,先后在IBM、淘宝工作过,专注于企业级富客户端Web应用的开发,擅长前后端相结合的技术解决方案。曾与人合译过多本前端图书,并曾在沪JS及D2前端技术论坛担任过主持人和演讲嘉宾。个人主页http://goddyzhao.me。

书籍目录

PART Ⅰ 从安装与概念开始
CHAPTER 1 安装............................................... 3
在Windows下安装............................................... 3
在OS.X下安装. ................................................ 4
在Linux下安装................................................. 5
编译. ............................................................5
确保安装成功. ...............................................5
Node.REPL................................................. 5
执行文件.......................................................... 6
NPM................................................................. 6
安装模块...........................................................7
自定义模块. .......................................................8
安装二进制工具包. ..................................................9
浏览NPM仓库. .......................................................9
小结................................................................. 10
CHAPTER 2 JavaScript概览.........................................11
介绍.......................................................... 11
JavaScript基础..................................................... 12
类型. ......................................................... 12
类型的困惑. ............................................... 12
函数. .......................................................... 13
THIS、FUNCTION #CALL以及FUNCTION#APPLY.................... 14
函数的参数数量. ........................... 14
闭包. ........................................................ 14
类. .............................................................. 15
继承. ..................................................... 16
TRY.{}.CATCH.{}...................................... 17
v8中的JavaScript............................... 17
OBJECT#KEYS....................................................... 18
ARRAY#ISARRAY................................................ 18
数组方法................................................. 18
字符串方法.. .................................................... 19
JSON............................................................. 19
FUNCTION#BIND....................................................... 19
FUNCTION#NAME.............................................. 19
_PROTO_(继承). ............................................ 20
存取器....................................................... 20
小结.............................................................. 21
CHAPTER 3 阻塞与非阻塞IO................................. 23
能力越强,责任就越大................................................. 23
阻塞. ............................................................. 25
单线程的世界. ............................................... 27
错误处理..................................................... 29
堆栈追踪................................................ 30
小结............................................................... 32
CHAPTER 4 Node中的JavaScript ..................................... 33
global对象....................................................... 33
实用的全局对象. ................................................ 34
模块系统............................................................ 34
绝对和相对模块. .................................................. 35
暴露API. ............................................................... 37
事件......................................................... 38
buffer............................................................... 40
小结................................................................... 41
PART Ⅱ Node重要的API
CHAPTER 5 命令行工具(CLI)以及FS API:首个Node应用................... 45
需求................................................. 45
编写首个Node程序...................................... 46
创建模块.............................................. 46
同步还是异步. ............................ 47
理解什么是流(stream)................................... 49
输入和输出. .......................................................... 50
重构. ........................................ 53
用fs进行文件操作. .............................. 55
对CLI一探究竟. ................................................. 56
argv.................................................... 57
工作目录...................................... 57
环境变量........................................... 58
退出. ............................................... 58
信号. .......................................................... 58
ANSI转义码............................................ 59
对fs一探究竟. ................................................. 59
Stream......................................................... 59
监视. .......................................... 60
小结...................................................... 61
CHAPTER 6 TCP ........................................... 63
TCP有哪些特性. ..................................................... 64
面向连接的通信和保证顺序的传递. ........................... 64
面向字节........................................ 65
可靠性............................................... 65
流控制......................................... 65
拥堵控制.............................................. 65
Telnet................................................................ 65
基于TCP的聊天程序............................................... 68
创建模块..................................... 68
理解NET.SERVER.API........................ 68
接收连接....................................... 70
data事件. ...................................................... 71
状态以及记录连接情况. ........................................ 73
圆满完成此程序. ............................................ 75
一个IRC客户端程序.......................................... 77
创建模块.............................................. 77
理解NET#STREAM.API.. ......................................... 78
实现部分IRC协议. .................................................. 78
测试实际的IRC服务器. .................................. 78
小结................................................................. 79
CHAPTER 7 HTTP .................................................. 81
HTTP结构......................................................... 81
头信息. ...................................................... 82
连接.............................................................. 87
一个简单的Web服务器.................................................. 88
创建模块....................................... 88
输出表单.................................................... 88
method和URL. ........................................... 90
数据. .............................................. 92
整合. ................................................ 94
让程序更健壮. ..................................... 95
一个Twitter.Web客户端......................................... 96
创建模块....................................... 96
发送一个简单的HTTP请求. ...................... 97
发送数据......................................... 98
获取推文................................................. 99
superagent来拯救.............................................. 102
使用up重启HTTP服务器..................................... 103
小结............................................. 104
PART Ⅲ Web开发
CHAPTER 8 Connect .............................. 107
使用HTTP构建一个简单的网站. ....................................... 108
通过Connect实现一个简单的网站...................................... 111
中间件. ................................................. 112
书写可重用的中间件. .........................114
static中间件. .............................................119
query中间件. .......................................120
logger中间件................................................... 120
body.parser中间件. .................................122
cookie.........................................................125
会话(session). ......................................126
Redis.session..................................................131
methodOverride中间件. ...........................132
basicAuth中间件. ......................................132
小结.............................................................. 134
CHAPTER 9 Express..................................................135
一个小型Express应用. ...................................... 135
创建模块..............................................136
HTML...........................................................136
SETUP..........................................................137
定义路由............................................137
查询. .................................................140
运行. .....................................................141
设置......................................................... 142
模板引擎...................................................... 143
错误处理........................................................ 144
快捷方法................................................. 144
路由................................................ 146
中间件. .................................................... 148
代码组织策略. ......................................... 149
小结................................................. 151
CHAPTER 10 WebSocket .................. 153
Ajax.............................................. 153
HTML5.WebSocket............................................... 156
一个ECHO示例. ......................................................... 157
初始化项目. .............................................157
建立服务器. ..................................................158
建立客户端. ......................................159
运行示例程序. ...................................160
鼠标光标.......................................... 161
初始化示例程序. .........................................161
建立服务器. ............................................161
建立客户端. .....................................164
运行示例程序. .........................................166
面临一个挑战. ............................................. 166
关闭并不意味着断开连接. .............................166
JSON...........................................167
重连. ...................................................167
广播. ................................................167
WebSocket属于HTML5:早期浏览器不支持. ..........................167
解决方案.................................................167
小结............................................................. 167
CHAPTER 11 Socket.IO.............................................169
传输................................................. 170
断开.VS.关闭. ............................................170
事件. ..........................................170
命名空间..............................................171
聊天程序................................................. 172
初始化程序. .......................................172
构建服务器. ..........................................172
构建客户端. .......................................173
事件和广播. ........................................175
消息接收确认. .................................179
一个轮流做DJ的应用................................ 180
扩展聊天应用. ...........................................181
集成Grooveshark.API. ...............................182
播放歌曲...............................................185
小结.................................................... 190
PART Ⅳ 数据库
CHAPTER 12 MongoDB.......................193
安装.................................................. 195
使用MongoDB:一个用户认证的例子. .................................. 195
构建应用程序. .......................................195
创建Express.App.. ..............................196
连接MongoDB. ...................................200
创建文档......................................201
查找文档..................................203
身份验证中间件. ..................................204
校验.. ..............................................205
原子性..............................................206
安全模式................................206
Mongoose介绍......................................... 206
定义模型........................................207
定义嵌套的键. ..........................208
定义嵌套文档. .....................................209
构建索引..........................................209
中间件.................................................209
探测模型状态.. ...............................210
查询. ..............................................210
扩展查询........................................210
排序.. ........................................211
选择. ......................................................211
限制.. .....................................211
跳过. .........................................211
自动产生键. ...............................211
转换. ..............................................212
一个使用Mongoose的例子........................................ 212
构建应用.................................212
重构. ..............................213
建立模型.................................213
小结.......................................... 215
CHAPTER 13 MySQL...........................................217
node-mysql........................................ 217
初始化项目. .......................................217
Express应用. ...................................218
连接MySQL. .....................................219
初始化脚本. .......................................220
创建数据................................................224
获取数据.....................................228
sequelize............................................ 229
初始化sequelize. ................................230
初始化Express应用. ....................................230
连接sequelize. .........................233
定义模型和同步. ........................... 234
创建数据.................................236
获取数据......................................238
删除数据..............................239
完整地完成应用. ...............................240
小结.......................................... 241
CHAPTER 14 Redis......................................... 243
安装Redis............................................... 244
Redis查询语言. ............................................... 245
数据类型............................................. 245
字符串. ...................................246
哈希. .................................................246
列表. ......................................... 248
数据集. .....................................249
有序数据集. .........................................249
Redis和Node. .......................................... 249
使用node-redis实现一个社交图谱. .............250
小结......................................... 259
PART Ⅴ 测试
CHAPTER 15 代码共享 ................................. 263
什么样的代码可以共享........................................... 263
书写兼容的JavaScript代码................................ 264
导出模块......................................................264
模拟实现ECMA.API. ................................265
模拟实现Node.API. ......................................267
模拟实现浏览器端API. ...............................267
跨浏览器的继承实现. ...........................268
集成到一起:browserbuild. ...................... 268
基础案例....................................269
小结......................................... 271
CHAPTER 16 测试................................... 273
简单测试........................................ 273
测试目标............................................. 274
测试策略................................... 274
测试程序...................................................275
expect.js................................................. 276
API一览. .........................................276
Mocha................................................. 278
测试异步代码. ..................................279
BDD风格. ................................281
TDD风格. .......................................281
export风格. .................................282
在浏览器端使用Mocha. ...................................282
小结.................................... 284
索引 ...................................... 285

作者简介

本书是一本经典的 Learning by Doing的书籍。它由 Node社区著名的 Socket.IO作者—— Guillermo Rauch,通过大量的实践案例撰写,并由 Node社区非常活跃的开发者—— Goddy Zhao翻译而成。
本书内容主要由对五大部分的介绍组成: Node核心设计理念、 Node核心模块 API、Web开发、数据库以及测试。从前到后、由表及里地对使用 Node进行 Web开发的每一个环节都进行了深入的讲解,并且最大的特点就是通过大量的实际案例、代码展示来剖析技术点,讲解最佳实践。


 了不起的Node.js下载 更多精彩书评



发布书评

 
 


精彩书评 (总计3条)

  •     P128在P8页最下译者注的建议里,开始确实让我觉得作者把逗号写前面,怪怪的,但又奇怪大师为啥这样别具一格,肯定有道理的。后看到128页和129页的代码时,我在寻觅server{}内的代码大体结构时,突然发现“,”逗号点在前面很有利于看清结构的,不信你试试。P140。。。.data({q:query})编译报错,根据P102改成.send({q:query})。。。fn(new Error('bad twitter response'));少一括号貌似。。。反正也连不上twitter,囧
  •     1.如何使用这本书在有源码的情况下,尝试一个个例程还是不错的。至少比《深入浅出Node.js》好上手。书中源码在git上https://github.com/guille/smashingnode 找了很久,并follow了作者。2.这本书确实不适合入门附上stackoverflow的“How do I get started with Node.js”问题。http://stackoverflow.com/a/5511507/3804444 要掌握node还要读很多书呢~~
  •     这本书是我接触Node的第一本书,用来入门还是不错的。我一直认为用来入门的书不应该是大而全的字典书籍,更不是深入讲解的进阶书籍,能够引起读者的兴趣,并介绍一些基础的知识就足够了。英文原版写作于2012年,例子有些老,但是通过结合网上的资料来阅读学习,依然可以作为一本很不错的Node的入门书,另外书的纸张印刷质量很赞!

精彩短评 (总计36条)

  •     很好的入门书籍,所以没有详细讲解nodejs,都是nodejs相关的技术偏多。所以正好有个全面的理解,挺好的。很多知识还是得反复推敲,多读几遍。
  •     最后几张粗略翻过 才觉得实战那本还不错
  •     适合新手快速入门,给Node做个大概了解。但是有些API代码过时了。
  •     还行吧,里面用的npm包都挺老了,书中还是有些多错误的。 不过能学习到很多新东西。
  •     可能是《深入浅出nodejs》写的太好,我一度忘记了我买了这本书
  •     作为NodeJS入门挺好的一本书,可惜讲得太浅了,基本上就是介绍开发一个简单的NodeJS应用所要用到的一些技术和工具,对里面的原理以及NodeJS本身没有做太多的介绍,停留在介绍第三方库及其API的阶段。
  •     非常基础,基本上是给没有太多 JavaScript 经验的人准备的一本 Node.js 入门书。
  •     内容偏入门还不错..ww.配合深入浅出看的
  •     很简单的入门书
  •     书是在杭js白拿的,又有译者签名。书整体结构很不错,读起来很通畅,唯一不足的就是书中的例子版本比较老旧了,实践的时候需要读者自己融会贯通下!另外,译者翻译的也很不错。不过,还是有一些细节地方有勘误,比如插图丢失,只留个 markdown 标记,还有错别字,比如“清除” --》“清除”。不过不怎么影响阅读。由于只花了两天看完了,也没有去自己记录勘误。总之,还是很感谢译者在带来“杭JS”同时,白送了我一本签名版的! @ goddyzhao
  •     书有点老,内容也比较浅。
  •     node 入门推荐
  •     粗粗的过了一遍,发展的太快,很多例子都失效了,不过本书大约简单的介绍了一下node的使用场景和方法
  •     作为入门不错
  •     写了一堆模块,更像是手册,不过可以指引新手学习
  •     翻译的真不咋地,没好好校对过么。书的内容不错。。。socket.io与mongoose的作者,思路非常棒~~~~推荐有点基础的人来看这本书。
  •      书还是蛮好的。只是js领域本身发展比较快 ,书上的东西难免有些陈旧了
  •     没看几页,就发现有些名词翻译的不对,译者态度有问题,啊啊啊
  •     刚开发了一个node项目,很激动
  •     字数限制打包和最佳实践这些想看的没有写到,不过写到的部分还算精炼
  •     http://www.runoob.com/nodejs(菜鸟教程) 中对本书有很多引用
  •     还可以吧,作为科普读物看看了解下还是不错的,很快就能读完 P.S. 作者对J.B.情有独钟啊
  •     这翻译根本没有校对吧,内容是不错,但是错误是真的多
  •     一本一般的入门书。有些错误的地方需要自己修正。
  •     太久,不过思想还过得去
  •     看了两个Part
  •     对于node第一次入门还可以,但之后就太简单的,只是停留在使用api的程度上。不过入门看这本书适合,给个4分,5分它还差些。
  •     入门不错哟,很基础
  •     很一般很一般
  •     入门
  •     一般般吧,没啥感觉~~
  •     书的内容还可以,但是……这本书他妈的竟然有错别字!我是多久没有在一本正式出版的书里面见到错别字了呀!P64那句话花了好长时间才读明白,真尼玛坑。
  •     入门Node.js
  •     结构不错, 内容不够深入, 对于初学者来说也根本没有什么作用
  •     前面内容还行,后面感觉一般。
  •     大而全,不深入。
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024