当前位置:首页 > 工业技术
Node.js硬实战  115个核心技巧
Node.js硬实战  115个核心技巧

Node.js硬实战 115个核心技巧PDF电子书下载

工业技术

  • 电子书积分:15 积分如何计算积分?
  • 作 者:亚力克斯·荣
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2017
  • ISBN:7121304023
  • 页数:459 页
图书介绍:Node.js 是一个持续走热的供开发人员开发服务器端应用的平台,但是目前Node.js is的相关实例仍明显不足,尤其与实践差距较大。本书汇总了115种Node实践中的实用技术,书中所有代码都是经过测试、立即可用且相互关联的。内容包括基于事件编程、为什么及如何使用闭包、如何利用端到端的JavaScript应用构建自己的应用程序,等等。代码段注释丰富,非常便于读者理解,而精心设计的交叉引用则提示了某一技术与其他技术之间的联系。
《Node.js硬实战 115个核心技巧》目录

第一部分 Node基础 2

1 入门 2

1.1 Node入门 3

1.1.1 为什么使用Node 3

1.1.2 Node的主要特性 5

1.2 构建一个Node应用 7

1.2.1 创建一个新的Node项目 8

1.2.2 创建一个流的类 9

1.2.3 使用流 10

1.2.4 编写测试 11

1.3 总结 13

2 全局变量:Node环境 15

2.1 模块 16

技巧1 安装与加载模块 16

技巧2 创建与管理模块 17

技巧3 加载一组相关的模块 20

技巧4 使用路径 22

2.2 标准I/O以及console对象 23

技巧5 标准I/O流的读写 24

技巧6 打印日志消息 25

技巧7 基准测试 27

2.3 操作系统与命令行 29

技巧8 获取平台信息 29

技巧9 传递命令行参数 30

技巧10 退出程序 31

技巧11 响应信号量 33

2.4 使用timer延迟执行 35

技巧12 通过setTimeout延迟执行函数 35

技巧13 通过定时器定时调用回调函数 37

技巧14 安全的操作异步接口 38

2.5 总结 41

3 Buffers:使用比特、字节以及编码 43

3.1 修改数据编码 44

技巧15 Buffer转换为其他格式 44

技巧16 使用Buffers来修改字符串编码 46

3.2 二进制文件转换为JSON 49

技巧17 使用Buffer来转换原始数据 49

3.3 创建你自己的二进制协议 65

技巧18 创建自己的网络协议 65

3.4 总结 71

4 Events:玩转EventEmitter 72

4.1 基础用法 73

技巧19 从EventEmitter继承 73

技巧20 混合EventEmitter 76

4.2 异常处理 78

技巧21 管理异常 78

技巧22 通过domains管理异常 80

4.3 高级模式 82

技巧23 反射 82

技巧24 探索EventEmitter 85

技巧25 组织事件名称 87

4.4 第三方模块以及扩展 88

技巧26 EventEmitter的替代方案 89

4.5 总结 91

5 流:最强大和最容易误解的功能 93

5.1 流的介绍 94

5.1.1 流的类型 94

5.1.2 什么时候使用流 94

5.1.3 历史 95

5.1.4 第三方模块中的流 96

5.1.5 流继承事件 97

5.2 内置流 98

技巧27 使用内置的流来实现静态web服务器 98

技巧28 流的错误处理 101

5.3 第三方模块和流 102

技巧29 使用流的第三方模块 102

5.4 使用流基类 105

技巧30 正确地从流的基类继承 105

技巧31 实现一个可读流 107

技巧32 实现一个可写流 111

技巧33 使用双工流转换和接收数据 113

技巧34 使用转换流解析数据 114

5.5 高级模式和优化 118

技巧35 流的优化 118

技巧36 使用老的流API 121

技巧37 基于功能的流适配 123

技巧38 测试流 125

5.6 总结 128

6 文件系统:通过异步和同步的方法处理文件 129

6.1 fs模块概述 130

6.1.1 POSIX文件系统包装器 130

6.1.2 流 132

6.1.3 批量文件操作 133

6.1.4 文件监视 133

6.1.5 同步的替代方案 133

技巧39 读取配置文件 134

技巧40 使用文件描述 136

技巧41 使用文件锁 137

技巧42 递归文件操作 142

技巧43 编写文件数据库 147

技巧44 监视文件以及文件夹 151

6.2 总结 154

7 网络:Node真正的“Hello,World” 156

7.1 Node中的网络 156

7.1.1 网络技术 157

7.1.2 Node网络模块 161

7.1.3 非阻塞网络和线程池 162

7.2 TCP客户端和服务端 163

技巧45 创建TCP服务端和客户端 163

技巧46 使用客户端测试TCP服务端 165

技巧47 改进实时性低的应用 168

7.3 UDP客户端和服务端 170

技巧48 通过UDP传输文件 170

技巧49 UDP客户端服务应用 174

7.4 HTTP客户端和服务端 179

技巧50 HTTP服务器 179

技巧51 重定向 181

技巧52 HTTP代理 186

7.5 创建DNS请求 189

技巧53 创建DNS请求 189

7.6 加密 191

技巧54 一个加密的TCP服务器 192

技巧55 加密的Web服务器和客户端 196

7.7 总结 198

8 子进程:利用Node整合外部应用程序 200

8.1 执行外部应用程序 202

技巧56 执行外部应用程序 202

8.1.1 路径和Path的环境变量 203

8.1.2 执行外部程序时候出现的异常 204

技巧57 流和外部应用程序 205

8.1.3 外部应用程序的串联调用 206

技巧58 在shell中执行命令 208

8.1.4 安全性和shell命令执行 209

技巧59 分离子进程 210

8.1.5 父进程和子进程之间的I/O处理 211

8.1.6 引用计数和子进程 213

8.2 执行Node程序 213

技巧60 执行Node程序 214

技巧61 Forking Node模块 216

技巧62 运行作业 218

8.2.1 工作池 220

8.2.2 使用池模块 222

8.3 同步运行 223

技巧63 同步子进程 223

8.4 总结 227

第二部分 实践中的技巧 230

9 网络:构建精简的网络应用 230

9.1 前端技术 231

技巧64 快速的静态网站服务器 231

技巧65 在Node中使用DOM 236

技巧66 在浏览器端使用Node模块 238

9.2 服务端技术 241

技巧67 Express路由分离 241

技巧68 自动重启服务器 245

技巧69 配置web应用 248

技巧70 优雅地处理错误 253

技巧71 RESTful web应用 257

技巧72 使用自定义的中间件 267

技巧73 使用事件进行解耦 273

技巧74 使用WebSockets来处理sessions 276

技巧75 升级Express 3到4 281

9.3 web应用程序的测试 285

技巧76 测试路由 286

技巧77 为中间件注入创建seams 288

技巧78 测试依赖远程服务的应用 291

9.4 全栈框架 297

9.5 实时服务 299

9.6 总结 300

10 测试:编写健壮代码的关键 301

10.1 Node测试的相关介绍 303

10.2 使用断言编写简单的测试 304

技巧79 用内置的模块编写测试 305

技巧80 编写验证异常的测试 308

技巧81 创建自定义的断言 312

10.3 测试装置 314

技巧82 使用一个测试装置组织测试 314

10.4 测试框架 318

技巧83 使用Mocha编写测试 319

技巧84 使用Mocha测试web应用 323

技巧85 万能测试协议(TAP) 328

10.5 测试工具 331

技巧86 持续集成 331

技巧87 数据库装置 335

10.6 扩展阅读 343

10.7 总结 343

11 调试:用于发现和解决问题 344

11.1 内省 345

11.1.1 显式异常 345

11.1.2 隐藏的异常 346

11.1.3 错误事件 346

11.1.4 错误参数 347

技巧88 处理未捕获的异常 348

技巧89 检查我们的Node代码 351

11.2 问题的调试 352

技巧90 使用Node内置的调试器 352

技巧91 使用Node Inspector 359

技巧92 对Node应用进行性能分析 361

技巧93 内存泄漏的调试 365

技巧94 使用REPL来检测运行中的程序 370

技巧95 跟踪系统调用 377

11.3 总结 381

12 生产环境中的Node:安全地部署应用程序 382

12.1 部署 383

技巧96 将Node程序部署到云端 383

技巧97 使用Apache和Ngnix部署Node程序 389

技巧98 在80端口上安全地运行Node程序 392

技巧99 保持Node进程一直运行 394

技巧100 在生产环境中使用WebSockets 396

12.2 Node程序的缓存和扩展性 402

技巧101 HTTP缓存 402

技巧102 为程序的路由和扩展使用Node代理 404

技巧103 使用集群保持程序的扩展性和弹性 408

12.3 维护 413

技巧104 包的优化 413

技巧105 日志和日志服务 415

12.4 更多关于Node程序的扩展性和弹性的备注 418

12.5 总结 419

第三部分 编写模块 422

13 编写模块,掌握Node的所有 422

13.1 头脑风暴 424

13.1.1 更快的斐波那契模块 424

技巧106 计划编写我们的模块 425

技巧107 验证我们模块的想法 427

13.2 创建package.json文件 433

技巧108 创建package.json文件 433

技巧109 依赖处理 436

技巧110 语义化版本号 441

13.3 用户体验 444

技巧111 添加可执行脚本 444

技巧112 在本地测试模块 446

技巧113 在不同版本Node中测试 448

13.4 发布 451

技巧114 发布模块 451

技巧115 使用私有模块 453

13.5 总结 455

A 社区 457

相关图书
作者其它书籍
返回顶部