产品特色
编辑推荐
适读人群 :本书适合对HTML的基础知识已经有所了解,并可以用现代编程语言完成一些编程的读者。读者如果对JavaScript有一定了解,则将更易于理解本书的内容。 Node.js是一种领先的服务器端编程环境,MongoDB是非常流行的NoSQL数据库,而AngularJS正迅速成为基于MVC的前端开发的领先框架。它们结合在一起使得Web程序员能够完全用JavaScript创建从服务器到客户端的高性能站点和应用程序。
本书为想要将这3种技术整合到完整的有效解决方案的Web程序员提供了完整指南。它以这3种技术的简洁而清晰的教程开始,然后迅速转到构建几种常见的Web应用程序上面。
读者将学会如何使用Node.js和MongoDB来建立更具可扩展性的高性能网站,如何利用AngularJS的创新MVC方法构建更有效的网页和应用程序,以及如何把这3个结合在一起使用,从而提供卓越的下一代Web解决方案。
■ 使用Node.js和Express实现高度可扩展的动态Web服务器
■ 为你的Web应用程序实现一个MongoDB的数据存储
■ 从Node.js JavaScript代码访问MongoDB并与之互动
■ 定义扩展了HTML语言的自定义AngularJS指令
■ 用JavaScript构建服务器端Web服务
■ 实现可以与Node.js Web服务器交互的客户端服务
■ 构建提供丰富的用户交互的动态浏览器视图
■ 为Web应用程序和网页添加对用户账户的身份验证和嵌套评论的组件
内容简介
Node.js是一种较新的服务器端编程环境,MongoDB是非常流行的NoSQL数据库,而AngularJS正迅速成为基于MVC的前端开发的领先框架。它们结合在一起使得能够完全用JavaScript创建从服务器到客户端浏览器的高性能站点和应用程序。
本书为想要将这3种技术整合到全面的有效解决方案的全栈工程师提供了完整指南。它简洁而清晰地介绍了这3种技术,然后迅速转到构建几种常见的Web应用程序上面。
读者将学会使用Node.js和MongoDB来建立更具可扩展性的高性能网站,并利用AngularJS创新的MVC方法构建更有效的网页和应用程序,以及把这三者结合在一起使用,从而提供卓越的下一代Web解决方案。
作者简介
卢涛,ITPUBOracle开发版版主,15年IT工作经,2004年任高级工程师,在某数据管理中心任职系统分析师;曾参与数次全国数据处理系统的设计与实现。在软件开发、数据库开发和优化、系统架构、项目管理方面有一定研究。
目录
第2章
目 录
第1部分 引 言
第1章 介绍Node.js-to-AngularJS套件 3
1.1 了解基本的Web开发框架 3
1.1.1 用户 4
1.1.2 浏览器 4
1.1.3 Web服务器 6
1.1.4 后端服务 6
1.2 了解Node.js-to-AngularJS套件组件 7
1.2.1 Node.js 7
1.2.2 MongoDB 8
1.2.3 Express 9
1.2.4 AngularJS 9
1.3 小结 10
1.4 下一章 10
第2章 JavaScript基础 11
2.1 定义变量 11
2.2 了解JavaScript数据类型 12
2.3 使用运算符 13
2.3.1 算术运算符 13
2.3.2 赋值运算符 14
2.3.3 运用比较和条件运算符 14
2.4 实现循环 16
2.4.1 while循环 17
2.4.2 do/while循环 17
2.4.3 for循环 17
2.4.4 for/in循环 18
2.4.5 中断循环 19
2.5 创建函数 19
2.5.1 定义函数 20
2.5.2 传递变量给函数 20
2.5.3 从函数返回值 20
2.5.4 使用匿名函数 21
2.6 理解变量作用域 22
2.7 使用JavaScript对象 22
2.7.1 使用对象语法 23
2.7.2 创建自定义对象 23
2.7.3 使用原型对象模式 24
2.8 处理字符串 25
2.8.1 合并字符串 26
2.8.2 在字符串中搜索子串 26
2.8.3 在一个字符串中替换单词 27
2.8.4 将字符串分割成数组 27
2.9 使用数组 27
2.9.1 合并数组 28
2.9.2 遍历数组 29
2.9.3 将数组转换为字符串 29
2.9.4 检查数组是否包含某个条目 29
2.9.5 在数组中添加条目和删除条目 30
2.10 添加错误处理 30
2.10.1 try/catch块 30
2.10.2 抛出你自己的错误 31
2.10.3 使用Finally 31
2.11 小结 32
2.12 下一章 32
第2部分 学习Node.js
第3章 开始使用Node.js 35
3.1 了解Node.js 35
3.1.1 谁在使用Node.js 35
3.1.2 Node.js的用途 36
3.2 Node.js安装 36
3.2.1 纵观Node.js安装位置 36
3.2.2 验证Node.js可执行文件 37
3.2.3 选择Node.js IDE 37
3.3 使用Node.js包 38
3.3.1 什么是Node封装模块 38
3.3.2 了解Node包注册表 38
3.3.3 使用Node包管理器 38
3.3.4 搜索Node封装模块 39
3.3.5 安装Node封装模块 40
3.3.6 使用package.json 41
3.4 创建Node.js应用程序 43
3.4.1 创建Node.js模块封装 43
3.4.2 将一个Node.js封装模块发布到NPM注册表 45
3.4.3 在Node.js应用程序中使用Node.js封装模块 46
3.5 将数据写入控制台 47
3.6 小结 49
3.7 下一章 49
第4章 在Node.js中使用事件、监听器、定时器和回调 51
4.1 了解Node.js事件模型 51
4.1.1 比较事件回调和线程模型 51
4.1.2 在Node.js中阻塞I/O 52
4.1.3 会话示例 54
4.2 将工作添加到事件队列 54
4.2.1 实现定时器 55
4.2.2 使用nextTick来调度工作 58
4.2.3 实现事件发射器和监听器 59
4.3 实现回调 62
4.3.1 向回调函数传递额外的参数 63
4.3.2 在回调中实现闭包 64
4.3.3 链式回调 65
4.4 小结 66
4.5 下一章 66
第5章 在Node.js中处理数据I/O 67
5.1 处理JSON 67
5.1.1 把JSON转换成JavaScript对象 67
5.1.2 把JavaScript对象转换为JSON 68
5.2 使用Buffer模块缓冲数据 68
5.2.1 了解缓冲数据 69
5.2.2 创建缓冲区 69
5.2.3 写入缓冲区 70
5.2.4 从缓冲区读取 71
5.2.5 确定缓冲区长度 72
5.2.6 复制缓冲区 73
5.2.7 对缓冲区切片 74
5.2.8 拼接缓冲区 75
5.3 使用Stream模块来传送数据 76
5.3.1 Readable流 76
5.3.2 Writable流 78
5.3.3 Duplex流 81
5.3.4 Transform流 82
5.3.5 把Readable流用管道输送到Readable流 84
5.4 用Zlib压缩与解压缩数据 85
5.4.1 压缩和解压缩缓冲区 85
5.4.2 压缩/解压缩流 87
5.5 小结 88
5.6 下一章 88
第6章 从Node.js访问文件系统 89
6.1 同步和异步文件系统调用 89
6.2 打开和关闭文件 90
6.3 写入文件 91
6.3.1 简单文件写入 91
6.3.2 同步文件写入 92
6.3.3 异步写入文件 93
6.3.4 流式文件写入 95
6.4 读取文件 96
6.4.1 简单文件读取 96
6.4.2 同步文件读取 97
6.4.3 异步文件读取 98
6.4.4 流式文件读取 100
6.5 其他文件系统任务 101
6.5.1 验证路径的存在性 101
6.5.2 获取文件信息 102
6.5.3 列出文件 103
6.5.4 删除文件 104
6.5.5 截断文件 105
6.5.6 建立和删除目录 105
6.5.7 重命名文件和目录 106
6.5.8 监视文件更改入 107
6.6 小结 107
6.7 下一章 107
第7章 在Node.js中实现HTTP服务 109
7.1 处理URL 109
7.1.1 了解URL对象 110
7.1.2 解析URL组件 111
7.2 处理查询字符串和表单参数 111
7.3 了解请求、响应和服务器对象 112
7.3.1 http.ClientRequest对象 112
7.3.2 http.ServerResponse对象 114
7.3.3 http.IncomingMessage对象 115
7.3.4 HTTP Server对象 116
7.4 在Node.js中实现HTTP客户端和服务器 118
7.4.1 提供静态文件服务 118
7.4.2 实现动态的GET服务器 120
7.4.3 实现POST服务器 122
7.4.4 与外部源交互 124
7.5 实现HTTPS服务器和客户端 127
7.5.1 创建HTTPS客户端 127
7.5.2 创建HTTPS服务器 129
7.6 小结 129
7.7 下一章 129
第8章 在Node.js中实现套接字服务 131
8.1 了解网络套接字 131
8.2 了解TCP服务器和Socket对象 132
8.2.1 net.Socket对象 132
8.2.2 net.Server对象 135
8.3 实现TCP套接字服务器和客户端 137
8.3.1 实现TCP套接字客户端 138
8.3.2 实现TCP套接字服务器 140
8.4 实现TLS服务器和客户端 143
8.4.1 创建TLS套接字客户端 144
8.4.2 创建TLS套接字服务器 145
8.5 小结 147
8.6 下一章 147
第9章 在Node.js中使用多处理器扩展应用程序 149
9.1 了解process模块 149
9.1.1 了解进程I/O管道 149
9.1.2 了解进程的信号 150
9.1.3 使用process模块控制进程执行 150
9.1.4 从process模块获取信息 151
9.2 实现子进程 153
9.2.1 了解ChildProcess对象 153
9.2.2 通过使用exec()在另一个进程上执行一个系统命令 154
9.2.3 使用execFile()在另一个进程上执行一个可执行文件 156
9.2.4 使用spawn()在另一个Node.js实例中产生一个进程 157
9.2.5 实现子派生 159
9.3 实现进程集群 161
9.3.1 使用cluster模块 162
9.3.2 了解Worker对象 163
9.3.3 实现一个HTTP集群 164
9.4 小结 166
9.5 下一章 166
第10章 使用其他Node.js模块 167
10.1 使用os模块 167
10.2 使用util模块 169
10.2.1 格式化字符串 169
10.2.2 检查对象类型 170
10.2.3 同步写入输出流 170
10.2.4 将JavaScript对象转换为字符串 170
10.2.5 从其他对象继承功能 171
10.2.6 使用dns模块 172
10.3 小结 174
10.4 下一章 174
第3部分 学习MongoDB
第11章 了解NoSQL和MongoDB 177
11.1 为什么要采用NoSQL 177
11.2 了解MongoDB 178
11.2.1 理解集合 178
11.2.2 了解文档 178
11.3 MongoDB的数据类型 179
11.4 规划你的数据模型 180
11.4.1 使用文档引用来规范化数据 181
11.4.2 使用嵌入式文档反规范化数据 182
11.4.3 使用封顶集合 183
11.4.4 了解原子写操作 184
11.4.5 考虑文件增长 184
11.4.6 识别索引、分片和复制的机会 184
11.4.7 大集合与大量集合的对比 185
11.4.8 决定数据生命周期 185
11.4.9 考虑数据的可用性和性能 185
11.5 小结 186
11.6 下一章 186
第12章 MongoDB入门 187
12.1 构建MongoDB的环境 187
12.1.1 MongoDB的安装 187
12.1.2 启动MongoDB 188
12.1.3 停止MongoDB 189
12.1.4 从shell客户端访问MongoDB 189
12.2 管理用户账户 192
12.2.1 列出用户 192
12.2.2 创建用户账户 193
12.2.3 删除用户 194
12.3 配置访问控制 194
12.3.1 创建用户管理员账户 195
12.3.2 打开身份验证 196
12.3.3 创建数据库管理员账户 196
12.4 管理数据库 197
12.4.1 显示数据库清单 197
12.4.2 切换当前数据库 197
12.4.3 创建数据库 197
12.4.4 删除数据库 198
12.4.5 复制数据库 198
12.5 管理集合 199
12.5.1 显示数据库中的集合列表 199
12.5.2 创建集合 199
12.5.3 删除集合 200
12.5.4 在集合中查找文档 201
12.5.5 将文档添加到集合中 201
12.5.6 从集合中删除文档 202
12.5.7 更新集合中的文档 202
12.6 小结 204
12.7 下一章 204
第13章 MongoDB和Node.js入门 205
13.1 把MongoDB的驱动程序添加到Node.js 205
13.2 从Node.js连接到MongoDB 206
13.2.1 了解写入关注 206
13.2.2 了解Server对象 206
13.2.3 通过Client对象连接到MongoDB 207
13.2.4 通过一个连接字符串连接到MongoDB 210
13.3 了解用在MongoDB Node.js驱动程序中的对象 211
13.3.1 了解Db对象 212
13.3.2 了解Admin对象 213
13.3.3 了解Collection对象 214
13.3.4 了解Cursor对象 215
13.4 访问和操作数据库 216
13.4.1 列出数据库 217
13.4.2 创建数据库 217
13.4.3 删除数据库 217
13.4.4 创建、列出和删除数据库实例 218
13.4.5 获取MongoDB服务器的状态 219
13.5 访问和操作集合 220
13.5.1 列出集合 220
13.5.2 创建集合 221
13.5.3 删除集合 221
13.5.4 创建、列出和删除集合的示例 221
13.5.5 获取集合信息 222
13.6 小结 223
13.7 下一章 223
第14章 从Node.js操作MongoDB文档 225
14.1 了解数据库更改选项 225
14.2 了解数据库更新运算符 226
14.3 将文档添加到集合 227
14.4 从集合获取文档 229
14.5 更新集合中的文档 230
14.6 原子地修改文档的集合 232
14.7 保存集合中的文档 234
14.8 使用upsert往集合中插入文档 235
14.9 从集合中删除文档 236
14.10 从集合中删除单个文档 238
14.11 小结 240
14.12 下一章 240
第15章 从Node.js访问MongoDB的文档 241
15.1 介绍数据集 241
15.2 了解Query对象 242
15.3 了解查询options对象 243
15.4 查找特定文档集合 244
15.5 清点文档数量 247
15.6 对结果集进行限制 249
15.6.1 按大小限制结果 249
15.6.2 限制对象返回的字段 250
15.6.3 对结果进行分页 252
15.7 对结果集进行排序 253
15.8 查找不同的字段值 255
15.9 对结果进行分组 256
15.10 通过聚合结果来应用MapReduce 259
15.10.1 了解aggregate()方法 259
15.10.2 使用聚合框架运算符 260
15.10.3 实现聚合表达式运算符 261
15.10.4 聚合的例子 262
15.11 小结 263
15.12 下一章 264
第16章 利用Mongoose来使用结构化模式与验证 265
16.1 了解Mongoose 265
16.2 利用Mongoose连接到MongoDB数据库 266
16.3 定义模式 267
16.3.1 了解路径 268
16.3.2 创建一个模式定义 268
16.3.3 把索引添加到一个模式 269
16.3.4 实现字段的唯一性
Node.js+MongoDB+AngularJS Web开发 epub pdf mobi txt 电子书 下载 2024
Node.js+MongoDB+AngularJS Web开发 下载 epub mobi pdf txt 电子书 2024