内容简介:
作为服务器端的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
《现代示波器高级应用》内容简介:本书深入剖析了现代示波器的架构,并通过近百个经典案例及精美插图,展示了现代示波器在实战中的
解析iOS设计模式的开山之作优化Objective-C编程实践的必修宝典由此迈入移动开发高手行列本书讲述如何在代码中应用创建型模式、结
IDAPro(交互式反汇编器专业版)是应用最广泛的静态反汇编工具,在IT领域有着举足轻重的地位,但其文档资料一直都不够完善,在ID
尽管CD、DVD和因特网等电子介质发展迅猛,但印刷品设计依然比以往更为丰富、更具挑战性。可以将数字化设计与印刷品区分的惟一设计
《VC++.NET入门》提供了学习VisualC++工具的循序渐进的指导和创建应用程序的向导。你将学习设计应用程序窗口、使用控件、显示图形
米兰·斯特瓦诺维奇编著的这本《高级CC编译技术》从多个角度全面、系统地讲解多任务操作系统中编译、链接、装载与库的内幕和技术
《蔡澜旅行食记(1)》内容简介:本书收录了蔡澜先生以寻味为目的的旅行游记和杂感随笔。看世界,从莫斯科到布宜诺斯艾利斯,阅尽欧
《设计新视线》内容简介:本书以设计工作流程为导向,将理论分析和项目实践相结合,讲解平面设计师必须掌握的设计实操技能,是平面
《可伸缩架构(第2版):云环境下的高可用与风险管理》内容简介:《可伸缩架构(第2版):云环境下的高可用与风险管理》是一本关于
《外语能力标准的国别研究:加拿大与英国》内容简介:本书主要研究了英国和加拿大的语言能力标准。加拿大篇从语言能力标准的概述、
《用户运营方法论:入门、实战与进阶》内容简介:这是一部以产品和运营双重视角,从9个维度讲解用户运营思维、方法、技巧的著作。它
《无线数据通信技术揭密》介绍了高速无线数据网络和移动因特网技术。重点是指导有经验的移动因特网专业技术人员快速安装无线数据
《移动营销新方法论》内容简介:《移动营销新方法论》系统地讲解了企业在移动媒体上应该如何布局、定位,并且结合移动营销的潮流讲
GetReal-WorldInsightfromExperiencedProfessionalsintheOpenGLCommunityWithOpenGL,O...
本书详细阐明了碳纤维的生成机理、生产工艺及生产设备,对碳纤维的结构与性能进行了深层次的论述,并对碳纤维复合材料的性能、制
《Python 3面向对象编程(第2版)》内容简介:本书主要介绍如何使用Python3进行面向对象编程。第1~4章介绍面向对象这一编程范式的
《时装设计元素:调研与设计》是与设计相关的重要元素。《时装设计元素:调研与设计》通过一系列的章节,讲解了一个设计师首先可能
本书阐述了用于算法数学分析的主要方法,所涉及的材料来自经典数学课题,包括离散数学、初等实分析、组合数学,以及来自经典的计
《运营实战手册:带你玩转营销套路》内容简介:本书涵盖实用的互联网运营方法,是诸位作者从多年的实战中提炼出的运营心得和精华,
《黑客大曝光:恶意软件和Rootkit安全(原书第2版)》内容简介:《黑客大曝光:恶意软件和Rootkit安全(原书第2版)》提供了经过证