内容简介:
作为服务器端的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
《Java编程艺术》共分5个部分。第1部分为新手上路篇,介绍Java编程基础和环境。第2部分为深入篇,将带领你走进Java面向对象编程大
零基础学PHP+MySQL(附光盘) 本书特色 内容全面,讲解细致:讲解php与mysql的使用,还介绍html、xml等内容。由浅入深,循序渐进:采用循序渐进...
《银行业知识管理实战精析》内容简介:本书从国际通用的知识管理体系出发,引入55个银行业知识管理案例,案例类型覆盖大型商业银行
伊达千代,日本知名专业平面设计师。于2007年设立TARTDESIGN,并从事与平面设计相关的教学。著有《设计的原理》等多种设计相关书
《博物馆窜行记》内容简介:本书收录了28篇腾讯·大家专栏作家顺受牵猴在欧美各博物馆窜行的所见所闻、所思所想。本书可以说是另类
1、我们这个时代最清醒的思考者之一尼古拉斯·卡尔继《浅薄》《玻璃笼子》之后又一重磅力作。2、在这部跨越历史、经济和技术领域
《智能科学与技术本科专业系列教材•神经网络设计方法与实例分析》从神经网络设计和应用实践出发,介绍了10种常见的人工神经网络的
《沙乡年鉴》内容简介:在《沙乡年鉴》中,作者用生动优美的语言描述了自己在远离现代社会的荒僻农场中的生活,以及他游历美国各地
《Excel 2003办公应用实战从入门到精通(超值版)》内容简介:《Excel 2003办公应用实战从入门到精通(超值版)》通过精选案例引导读
插画师是绘制广泛用于各种场合的图画的专业绘画人员。有时,插画师会碰到一些从未想过,从来接触过,也没有任何经验的插画委托。
《常春藤英语 四级·下》内容简介:“常春藤英语系列”选材以英国、美国、加拿大和澳大利亚等主流英语国家的经典语文素材为主,内容
多源运动图像的跨尺度融合研究/杜军平 内容简介 《多源运动图像的跨尺度融合研究/“十三五”科学技术专著丛书》主要研究了多源运动图像的跨尺度分析、配准、拼接、融合...
高级进阶DB2(第2版)——内部结构、高级管理与问题诊断 本书特色 数据库内核是数据库系统稳定运行的心脏,db2数据库内核庞大而复杂。本书从db2内核组件入手,...
《杰出青少年的哈佛智商》内容简介:本书从介绍智力的各个方面考虑,为家长和孩子提供切实可行的有效方法,对兴趣和智力的作用、非
骇客 内容简介 本书介绍了游戏设计、动画设计的基本知识、要素等,并展示了一些设计作品,供读者参考。骇客 目录 CYBER CONNECT公司主页欢迎来到CYBE...
《智能教育:让孩子站在人工智能的肩膀上适应未来》内容简介:人工智能等新技术正在悄然改变着教育行业的方方面面,如何应对人工智
设计是什么?创意又是什么?设计师是什么?跨界设计和快乐设计又是什么?世界平面设计大师靳埭强记录下累积多年的创作经验,公开
《淘宝网店深度SEO优化技术揭秘:网店流量高效转化》内容简介:淘宝搜索流量,尤其是自然搜索流量是一块大蛋糕!但是淘宝的搜索规则
"Arguably,oneofthebesttomes...TwitterPowerisjam-packedwithcleverwaystostartanddo...
《活出精彩》内容简介:在职场中打拼的你,如果意外怀孕,会怎么选择? 是生娃还是升职?还是两个都想要? 越来越多的现代女性在努