内容简介:
作为服务器端的JavaScript解释器,Node是一个轻量高效的开发平台,用于构建响应快速、高度可扩展的Web应用。它使用事件驱动和非阻塞的I/O模型,非常适合开发数据密集、对实时响应要求高的分布式应用,在微软、eBay、LinkedIn、雅虎等世界知名公司均有成功的应用。 本书是Node开发基础教程,通过大量示例介绍如何使用HTTP服务器和客户端对象、Connect和Express应用框架、异步执行算法,以及如何结合使用SQL和MongoDB数据库。另外,本书同时针对开发和部署环境给出了实用的Node安装建议,介绍了HTTP服务器和客户端应用的开发,阐述了很多Node使用方式,包括在应用中使用数据库存储引擎,以及在有无Connect/Express Web应用框架的情况下开发网站的方法。本书还介绍了Node的CommonJS模块系统,帮助开发人员实现一些重要的面向对象设计方案。
本书适合具有一定JavaScript和Web应用开发基础知识、打算使用服务器端JavaScript开发高性能Web应用的开发人员阅读。
本书内容包括:
服务器端JavaScript对于Web应用开发的作用
使用Node时,针对性能和吞吐量作出成熟的架构选择
为开发和部署服务器端Web应用安装和使用Node
Connect和Express应用框架的使用
在应用中设置SQL或MongoDB数据库系统
区分并评估同步算法和异步算法
目 录
第1章 Node入门 1
1.1 Node能做什么 1
1.2 为什么要使用Node 3
1.2.1 架构问题:线程,还是异步事件驱动 4
1.2.2 性能和利用率 5
1.2.3 服务器利用率、成本和绿色Web托管服务 6
1.3 Node、Node.js还是Node .JS 7
1.4 小结 7
第2章 安装并配置Node 8
2.1 系统要求 8
2.2 在符合POSIX标准的系统上安装 9
2.3 在Mac OS X上安装开发者工具 9
2.3.1 在home目录下安装 9
2.3.2 在系统级目录下安装Node 11
2.3.3 在Mac OS X上使用MacPorts安装 12
2.3.4 在Mac OS X上使用homebrew安装 12
2.3.5 在Linux上使用软件包管理系统安装 12
2.3.6 同时安装并维护多个Node 13
2.4 验证安装成功与否 14
2.4.1 Node命令行工具 14
2.4.2 用Node运行简单的脚本 15
2.4.3 用Node启动服务器 16
2.5 安装npm——Node包管理器 16
2.6 系统启动时自动启动Node服务器 17
2.7 小结 22
第3章 Node模块 23
3.1 什么是模块 23
3.1.1 Node模块 24
3.1.2 Node解析require ('module')的方式 24
3.2 Node包管理器 28
3.2.1 npm包的格式 29
3.2.2 查找npm包 30
3.2.3 使用npm命令 31
3.2.4 Node包版本的标识和范围 38
3.2.5 CommonJS模块 39
3.3 小结 40
第4章 几种典型的简单应用 41
4.1 Math Wizard 41
4.2 不依赖框架的实现 41
4.2.1 路由请求 42
4.2.2 处理URL查询参数 43
4.2.3 乘法运算 44
4.2.4 其他数学函数的执行 45
4.2.5 扩展Math Wizard 48
4.2.6 长时间运行的运算(斐波那契数) 48
4.2.7 还缺什么功能 51
4.2.8 使用Connect框架实现Math Wizard 52
4.2.9 安装和设置Connect 52
4.2.10 使用Connect 53
4.3 使用Express框架实现Math Wizard 55
4.3.1 准备工作 55
4.3.2 处理错误 59
4.3.3 参数化的URL和数据服务 60
4.4 小结 64
第5章 简单的Web服务器、EventEmitter和HTTP客户端 65
5.1 通过EventEmitter发送和接收事件 65
5.2 HTTP Sniffer——监听HTTP会话 67
5.3 基本的Web服务器 69
5.4 MIME类型和MIME npm包 78
5.5 处理cookie 79
5.6 虚拟主机和请求路由 79
5.7 发送HTTP客户端请求 79
5.8 小结 81
第6章 存取数据 83
6.1 Node的数据存储引擎 83
6.2 SQLite3——轻量级的进程内SQL引擎 83
6.2.1 安装SQLite 3 83
6.2.2 用SQLite3实现便签应用 84
6.2.3 在Node中使用其他SQL数据库 95
6.3 Mongoose 96
6.3.1 安装Mongoose 96
6.3.2 用Mongoose实现便签应用 97
6.3.3 对MongoDB数据库的其他支持 102
6.4 如何实现用户验证 102
6.5 小结 104
《别让心态毁了你》内容简介:保持什么样的心态就会有什么样的行为方式,而行为方式决定着一个人的生人走向。心态能够成就一个人,
《如何做质性研究》共分8大部分(主体是前5部分),次序大体上按照开展一项研究的时间顺序安排,并根据新手们在一个完整的质性研究
Geomagic Studio逆向工程技术及应用-(含光盘) 本书特色 《Geomagic Studio逆向工程技术及应用》是由清华大学出版社出版的。Geoma...
《大国寡品》内容简介:本书正是对中国制造业现状形象的概括:中国制造有数量没质量、有商标没品牌,与国际大牌"同质不同价”。同样
《黄帝内经·望诊奇术》内容简介:★来自《黄帝内经》中数十种望诊智慧,不仅知面,更能知身体五脏六腑的盛衰 人的命、运,往往会反
《Ajax与PHP基础教程》通过大量实例,充分展现了如何将二者结合起来创建下一代网络应用。《Ajax与PHP基础教程》内容完备,不仅讲
虚拟现实交互设计 本书特色 本书从虚拟现实的基础理论出发,内容涵盖设计艺术学领域多个专业的知识,通过具体的原创设计案例分析,在3ds max和vrp平台,虚拟现...
《出发!可爱的虫虫世界》内容简介:“蛋蛋学校万物探秘之旅”是国内原创的一套极富趣味性和知识性的探索万物的科普漫画绘本。讲述
JoshuaJ.Drake是国际知名黑客,AccuvantLABS公司研究部门总监,曾在世界著名黑客大赛Pwn2Own上攻陷IE浏览器中的Java插件,曾发现
《文化与政治》内容简介:西方马克思主义与马克思主义都诞生于西方,但是它们之间确有许多不同。西方马克思主义出现在马克思主义之
Thisbrain-friendlyguideteachesyoueverythingfromJavaScriptlanguagefundamentalstoa...
《UML2面向对象分析与设计(第2版)》内容简介:分析和设计是软件开发中至关重要的一环,面向对象的方法是主流的软件开发方法,UML
《HTTP/2 in Action(中文版)》内容简介:本书以易于理解、方便上手的方式,使用贴近用户的实例来解释HTTP/2协议。本书首先介绍为
"Writtenbythreeexpertsinthefield,DeepLearningistheonlycomprehensivebookonthesubj...
《管理故事与哲理》内容简介:这是一本用故事+剖析的形式来传授管理哲学的大众经管图书。将管理的原理、策略、方法、技巧融入短小精
《奥运中的科技之光》涉及体育科技的方方面面,包括时间与距离的检测,球的旋转与球在空气中的阻力与轨迹问题,跳水运动与身体旋
《孤独的泡面》内容简介:100碗各国人气泡面,200条全球饮食文化解说,近150个深夜的陪伴,现在集结成书。从中国到日本,从韩国及至
ThisbookpresentsguidelinesforprofessionalWebdevelopment,includingcommunicatingwi...
《文史随感》内容简介:本书是戴逸先生在史学研究之余创作的文史随感结集,书中鉴古思今,内容涉及作者对中国历史和文学、中西文化
《Spring Boot技术实践》内容简介:SpringBoot在医疗健康领域的应用推动了设计模式在互联网领域的发展。本书SpringBoot带动了Java编