了不起的Node.js-将JavaScript进行到底

2026-1-2 32 1/2

了不起的Node.js-将JavaScript进行到底

作者:GuillermoRauch

页数:292

出版社:电子工业出版社

出版日期:2014

ISBN:9787121217692

高清校对版pdf(带目录)

前往页尾底部查看PDF电子书

内容简介

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

作者简介

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

相关资料

  本书写作精良 amazon.com读者shawn rapp
  本书直指要点,且无无用废话,可谓字字珠玑amazon.com读者pragmateek
  本书定位精确,用大量简单但鲁棒性强的模式帮助初学者走上用node.js创建更复杂应用之路。这种简明扼要的写法很招人喜欢,面向教学做得很成功,是一本有效使用node.js的参考书。amazon.com读者pmjtoca

本书特色

  node.js是一个由javascript书写而成的强大的web开发框架,它让开发强壮的、伸缩性良好的服务端web应用变得更加简单,容易。本书向你展示了什么是node以及如何让你在项目中使用它。本书包含大量实际应用中的示例程序,证明了为什么node.js会快速成为web开发首选工具的原因,通过本书,你能够快速熟悉和掌握达到如下目标所需的node知识和技能:

  了解node基于事件轮询的架构、无阻塞io以及事件驱动的编程方式
  精通node.js的api
  轻松实现开发实时应用相关的技术,如socket.io和html5 websockets
  编写能够支持跨多台服务器的高并发应用
  通过node来支持多种数据库以及数据存储工具
  编写在单台服务器情况下能够处理万级并发量的程序
  能够在一个包含更多node知识和注解示例(含源代码)的网站上和其他开发者进行实时地沟通交流
  本书包含大量全彩插图和实用的源代码,绝对是一本革命性web开发工具node的实用指南。

目录


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
chapter2 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
chapter9 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
chapter11 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
chapter13 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
百度网盘:https://pan.baidu.com/s/10zKJWpNOnVDp1oY4YWCzWA?pwd=k1sm
- THE END -

非特殊说明,本博所有文章均为博主原创。