内容简介:
作为服务器端的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
《大隋兴衰四十年4:自杀王朝》内容简介:隋炀帝霸道激进的作为,使得他的雄才大略变成了残暴不仁,千秋伟业变成了人间噩梦。鼎盛辉
《SAS金融数据挖掘与建模》内容简介:本书是一本介绍金融企业数据建模的专著。在内容上,书中以信贷(信用卡)客户的生命周期管理为
Verilog HDL数字集成电路设计原理与应用 内容简介 本书系统地对Verilog HDL语法和程序设计进行了介绍,明确了数字可综合逻辑设计和测试仿真程序设...
《论中国学术思想变迁之大势》内容简介:该书原是梁于1902年3-12月、1904年9-12月时在《新民丛报》上陆续发表的一些文章,后由北京
BeginningPHPandMySQL5:FromNovicetoProfessional,SecondEditionofferscomprehensivei...
《武将的一天》内容简介:本书通过展示古代武将(楚庄王熊吕、周瑜、完颜宗翰、拜答尔、王坚、戚继光)的一天,来表现不同历史时期
《绘生活 会生活》内容简介:这是一本教您用心绘出生活中的美好与感动的书,同时也传递给您一种对待生活的积极态度。本书中没有过多
《合为一家》内容简介:十六国北魏时期是中国历史上民族融合的重要时期,也是多元文化激荡的时期,各民族之间的互动非常频繁,混居
《阅读理解高分6法:顺序法》内容简介:阅读理解想要拿高分,文章读不透,学习再多答题技巧也是事倍功半!本书聚焦“文章如何读”“
《C语言的科学和艺术》是计算机科学的经典教材,介绍了计算机科学的基础知识和程序设计的专门知识。《C语言的科学和艺术》以介绍
Thisisahands-onbookwhichintroducesyoutoagileJavaScriptwebandmobilesoftwaredevelo...
《单片机原理及接口技术习题详解与实验指导》是与《单片机原理及接口技术》(修订本)配套的辅助教材。《单片机原理及接口技术习
UDA是一种专门为提高并行程序开发效率而设计的计算架构。在构建高性能应用程序时,CUDA架构能充分发挥GPU的强大计算功能。《GPU高
本书从信道衰落的物理本质入手,给出了无线移动信道完整的数学模型,简明、清晰地阐述了由时间、频率和空间变化所引起的三种不同
《自然社交,让情绪不再敏感》内容简介:社交敏感者在生活中最大痛点就是对人际关系的处理总显得力不从心,本书根据近百起实际案例
《解密·强直性脊柱炎》内容简介:本书从疾病的认识、诊断、治疗以及预防与康复等四个方面,对强直性脊柱炎这一困惑医患双方的医学
《中华传统节日诗词故事:清明·端午》内容简介:节日诗词,把民间习俗和文人意趣结合在一起,很好地体现了中华文化源远流长、丰富
《PPT演示之道:写给非设计人员的幻灯片指南(全彩)》从设计原则和思路出发,帮助读者掌握制作PPT的精髓,并在其中穿插了实用的功能
《寻找异质性:中国现代电影中的女性情节剧研究(1930~1937)》内容简介:本书讨论了1930~1937年中国现代电影中的女性情节剧电影
自然语言处理技术基础 本书特色 本书包括了三个方面的内容。**部分介绍基于规则的自然语言处理技术,分别从语法和语义两个层面入手。第二部分介绍基于统计的自然语言处...