内容简介:
作为服务器端的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
何马克(MarkHurst)是一位始终重视用户体验的创业者和作家,他始终关注技术创新给人们生活带来的变化和影响。1997年,还很少有人
《给设计师看的交互程序设计书:FlashActionScript3.0溢彩编程》内容简介:ActionScript是针对FlashPlayer运行环境的编程语言...
《天文观测完全手册》内容简介:《天文观测完全手册》针对天文爱好者,以天文观测为主线,兼顾天文摄影,从我们最熟悉的太阳系讲起
《唯一的规则》内容简介:这本书,是李零阅读经典四部书(《论语》《老子》《孙子》《周易》)的第三本。对《孙子兵法》一书,不易
Flash二维动画制作基础教程 本书特色 本书是中等职业教育电子信息类专业“双证课程”培养方案配套教材,同时也是“CEAC国家信息化计算机教育认证”的指定教材,...
《Python网络编程(原书第2版)》内容简介:本书从使用者的角度出发,学习难度逐渐增加。首先简单回顾了TCP/IP和Python基础知识,然
《水彩绘》内容简介:经常有人问我,何为淡彩?淡彩,其实是指钢笔淡彩,钢笔起稿、水彩着色,钢笔深重的线条与轻柔的水彩形成对比
Presentsthefundamentalprinciplesforcombiningthecomponentsintosuccessfulfixtures....
虚拟货币现在已经渗透到了世界的每个角落。从《暗黑破坏神3》里的金币、Facebook积分到飞行常客里程数,都是虚拟货币的多种形式。
《宋词三百首品读》内容简介:《宋词三百首》是晚清词人朱祖谋所编的一本脍炙人口的经典宋词选本,广为读者接受和喜爱。本书即华东
《Linux系统管理技术手册(第2版)》延续了《Linux系统管理技术手册(第2版)》前一版以及《uMx系统管理技术手册》的讲解风格,以当前
《花朵主义者的告白》内容简介:二战时期有这样一个动人的小故事,战争过后的巴黎一片废墟,整个城市圣灵涂炭。一个美国人很担心地
零基础学Word 本书特色 《计算机实用技能丛书》是一套软件专业类丛书,该丛书采用图解教学,针对当前*新软件,由浅入深地进行了详尽讲解。内容全面、简单直观、通俗...
《版权赋能,丝路无疆》内容简介:报告首先挖掘了丝绸业在吴江的历史缘起,继而介绍了吴江丝绸纺织工业的形成、演进与发展历程,分
小型纸品的设计,使平面设计师找到了可以真正发挥创造才能的机会。本书提供的近千幅图例,很多是在不需要满足客户要求的情况下,
《新安旅行团》内容简介:1935年10月10日,在陶行知先生的热切鼓励下,在校长汪达之的带领下,新安小学的学生组成了一个革命团体—
互動式設計:數位科技改變了現代生活所對應的一切,範疇廣及娛樂乃至工具配備。而對於數位科技商品的設計者而言,他們要創造的標
《命运好好玩(汉、英双语版)》内容简介:蔡澜为人幽默风雅,以鲜活、生动的文字讲述他的所见所闻,与读者分享他的识见。他说:“
《深入浅出Python量化交易实战》内容简介:本书主要以国内A股市场为例,借助第三方量化交易平台,讲述了KNN、线性模型、决策树、支
本书为21世纪高等学校规划教材。本书共有八章,主要介绍微机继电保护的基本构成原理和实现技术,包括数字信号滤波处理,微机保护