内容简介:
作为服务器端的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
地理信息系统算法基础 内容简介 本书全面、系统地收集和整理了当前地理信息系统算法领域的相关资料,以地理信息系统设计与实现为线索,内容涉及地理空间数据的描述、检索...
《中医的常识》内容简介:★学习中医的收获:在目前的生活状态下做贵人 ★普通人如何学习中医——有自知之明、自觉之感,方有慧心之
《交互界面设计》是一本关于交互设计的入门读物。交互设计分为三个大的领域,分别是基于屏幕的界面设计、交互产品设计以及服务设
Thisuniquebookcoversmanyaspectsofwebhandlingformanufacturing,converting,andprint...
UGNX4.0三维建模基础教程 内容简介 EDS公司的Unigraphics NX(后文简称为UG NX)是世界*顶级的CAD/CAE/CAM产品研发解决方案,...
深入理解计算机系统-原书第3版 本书特色 和第2版相比,本版内容上*大的变化是,从以IA32和x86-64为基础转变为完全以x86-64为基础。主要更新如下:&...
《汽车传奇故事》内容简介:任何历史的悠久和文化的丰厚都源自那个时代的人和事。这里呈现的是一本专门介绍汽车发展历史人物、历史
CCNA学习指南路由和交换认证-(第2版) 本书特色 本书是通过CCNA考试100-105、200-105和200-125的权威指南。由知名思科技术培训专家To...
Java 编程思想(英文版.第3版)附光盘 本书特色 本书赢得了全球程序员的广泛赞誉,即使是*晦涩的概念,在Bruce Eckel的文字亲和力和小而直接的编程示...
《基于网络众包机制的企业创新模式研究》内容简介:技术创新作为保持和增强企业竞争力的重要核心因素,已成为引领企业高速持续发展
《遗传学与社会》内容简介:本书重点阐述遗传学的基本概念、遗传病的诊断与基因治疗、优生与优质生育、DNA与科学鉴定、转基因生物、
Whenitwasfirstpublishedin1972,HubertDreyfussmanifestoontheinherentinabilityofdis...
《西方绘画大师经典佳作:塞尚》内容简介:印象主义画派是19世纪最重要的艺术流派之一,其将光与色彩的科学观念引入到绘画中,对当
本书从理论到实践系统全面地对PHP和MySQL进行了介绍。在给出了PHP和MySQL的一般概念后,对PHP和MySQL的应用做了全面的阐述。最后
《失控的真相》内容简介:在信息泛滥的时代,知识变得无处不在。鼠标轻轻一点,我们就坐拥一座巨型图书馆。然而,我们并没有因此就
《Hadoop技术内幕》内容简介:本书由腾讯数据平台的资深Hadoop专家、X-RIME的作者亲自执笔,对Common和HDFS的源代码进行了分析,旨
Althoughthedot-combubbleburstlongago,theinteractivemediaindustryisstillflushwith...
《生活之美》内容简介:《生活之美》中国社会科学院研究员、知名美学专家刘悦笛对中国生活美学的赏析解读。“生活美学”中蕴含着华
国际信息图设计金奖得主教你做出不失败的信息图!=================================读图时代,你必须有这本!◎72个章节,剖析图
《CleanCode(评注版)》提出一种观念:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好