内容简介:
作为服务器端的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
本书系统而深入地介绍了现代数字信号处理的基础和一些广泛应用的算法。全书共10章,分为四个部分。第一部分包括第1章~第4章,介
《成交:如何高效转化潜在客户》内容简介:在一个竞争日趋白热化的商业世界里,胜利女神的天平将倾向于那些善于投资人际关系、能够
Ifyouwanttobuildyoursitesfrontendwiththesingle-pageapplication(SPA)model,thishan...
《OrangeS:一个操作系统的实现》从只有二十行的引导扇区代码出发,一步一步地向读者呈现一个操作系统框架的完成过程。书中不仅关
《21天学通C++(第5版)》内容简介:本书从初学者的角度较全面地介绍了C++的相关知识,较系统地介绍了C++语言的基础内容。本书包括
《GAE编程指南》是一种云计算服务,跟其他的同类产品不同,它提供了一种简单的应用程序构建模型,通过这种模型,你可以轻松地构建
本书在全面概述电子商务模式与应用、网络平台建设、电子商务的案例与支付、物流、网络营销与CRM、管理和法律环境的理论基础上,覆
《计算机科学丛书•C++程序设计》保持了Liang博士系列丛书中一贯的标志性的教与学的哲学:以实例教,由实践学。通过使用他所提出的
《你看起来好像……我爱你》内容简介:这是一本写给普通人了解AI的趣味科普,它还有超级可爱的漫画!这本书“非常易读、有料,而且
《影视调色学》内容简介:本书从色彩的本质属性入手,通过眼睛与色彩、心理与色彩、影视技术与色彩、影视艺术与色彩、影视调色流程
《区块链安全实战》内容简介:本书从当今社会的网络安全威胁谈起,深入浅出地剖析了区块链的底层及应用架构,并辅以众多优秀的区块
本书用精炼的内容介绍了基础知识,把重点放在了各种Eclipse插件的使用和工程的实例开发中,能帮助有一些Web基础知识的读者迅速地
盛大游戏原画设计精选 内容简介 精选我国著名网络游戏公司盛大公司自主研发的游戏原画,内容包括草图设计、图面渲染、成图效果等设计过程,南京艺术学院游戏专业的专家对...
两难境地的明智抉择 内容简介 首先要说的是我深刻感到了中国软件行业的问题严重性,也特别同情中国共享软件作者的境遇。也学很多人会认为做软件的尤其是知名软件的厂商或...
C#数据库系统开发完全手册-数据库管理系统开发从技术到实践(附光盘) 本书特色 本书全面、系统地介绍了使用C#进行数据库应用程序开发必须掌握的技术、方法和过程。...
《数据可视化之美》内容简介:可视化是数据描述的图形表示,旨在一目了然地揭示数据中的复杂信息。可视化的典型如纽约地铁图和人
《高情商养育》内容简介:0-6岁,黏人、打人、不好好吃饭、拖拖拉拉、不听话、爱发脾气等。6-12岁,不认真听讲、搞小动作、学习不积
《PaaS实现与运维管理》内容简介:《PaaS实现与运维管理:基于Mesos +Docker+ELK的实战指南》主要阐述了云计算中PaaS平台的实现与运
非常网管——网络基础 内容简介 本书使用通俗易懂的语言,并通过大量的示例,全面系统地介绍了计算机网络的相关知识。本书的主要内容包括:计算机网络基础知识、OSI和...
《人才画像:让招聘准确率倍增》内容简介:在本书中,我们将咨询项目中常用的素质做成“素质菜单”,针对素质项的所有提问给出“精