内容简介:
作为服务器端的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
《单兵作战装备图鉴(白金版)》内容简介:本系列丛书精心选取世界各国单兵装备的近百种经典枪械、爆破武器、冷兵器等,从每种武器
PPT演义-100%幻灯片设计密码-第2版-升级版-含DVD光盘1张 内容简介 迄今为止*全面的一本ppt教材:九大章节,让你从思维、策划、框架、图文、图表、美...
stephenc.dewhurst,贝尔实验室最早的c++程序员之一。他有着20多年的c++应用经验,涉及的应用领域包括编译器设计、安全交易、电子
《文化翻译与经典阐释(增订本)》内容简介:本书是作者的一部专题研究文集,分为上中下三编:上编“翻译的文化学反思”,首次在中
《曾国藩家书》内容简介:本书辑录了曾国藩在清道光30年至同治10年前后达30年的翰苑和从武生涯的书信一百六十余篇。家书涉及的内容
《奢享·慢行——精品酒店中的非凡假期》内容简介:作者在本书中分享了在17家酒店度假的经历,有的传奇,有的奢华,有的精致,有的
计算机应用基础(2007版) 本书特色 本书为北京市高等教育自学考试“计算机应用基础”课程的考试指定用书。该书强调其文化性、科学性、基础性和实用性,着重培养学生...
《游戏设计:深层设计思想与技巧》内容简介:本书是游戏设计行业的专业书籍,讲述游戏设计的方方面面,从基础的玩法和难度设计(包
《软件架构师的12项修炼》内容简介:每一位软件开发人员都有一个架构师的梦,但为何真正的软件架构师却寥寥无几?软件开发人员更容
《无价》内容简介:为什么百老汇剧场里价格越高的位置卖得越火?为什么100万美元带来的愉悦感,400万美元才能让它翻倍?为什么议价
《网络安全技术及应用实践教程(第3版)》内容简介:本书为常用网络安全基本知识和技术要点,以及同步实验与综合课程设计指导,包括
《经济学入门很简单》内容简介:看新闻谁都会,看懂新闻却不是谁都可以!不管是生活还是投资,了解经济是我们应该具备的特质。对于
谁是极客?谁在改写人类的运程?100年以前,可能是科学怪人弗兰肯斯坦;20年以前,是微软的比尔•盖茨和苹果的斯蒂夫•乔布斯;今天
《电子线路:非线性部分(第4版)》是教育部“高等教育面向21世纪教学内容和课程体系改革计划”的研究成果,是面向21世纪课程教材,
《盛夏的事》内容简介:本书为华语作家林俊頴的散文集,收入作者为《时报》专栏《三少四壮》所写文章共55篇,包括“蜂巢”“夏天的
《中国大运河百问》内容简介:姜师立著的本书是大运河申遗成功后首部全面系统介绍以大运河为核心的历史文化资源的书籍,对运河沿线
TheResourceDescriptionFramework(RDF)isastructurefordescribingandinterchangingmet...
《堆栈的艺术:Photoshop风光摄影后期叠加处理技法》内容简介:本书介绍了堆栈的基本概念及原理,借助大量的实际案例,讲解各种堆栈
AclearandfocusedguidetocreatingusefuluserexperiencedocumentationAswebsitesandapp...
数据通信设备中心液体冷却指南A105 内容简介 该书共6章,分别从数据中心设施冷却装置、管路系统、数据通信设备液冷方法、冷水系统基本要求及冷液基础设施对工艺冷却...