新書推薦:
《
知宋·宋代之科举
》
售價:HK$
99.7
《
那本书是(吉竹伸介与又吉直树 天才联动!)
》
售價:HK$
99.7
《
传播的跃迁:人工智能如何革新人类的交流
》
售價:HK$
110.9
《
纯粹·古代中国的历史与制度
》
售價:HK$
62.7
《
生活来来往往 别等来日方长 新版(伍佰:“讲好了这一辈子,再度重相逢。”别等,别遗憾!珍惜当下才是最好的解药)
》
售價:HK$
58.2
《
一个英国军事顾问眼中的二战
》
售價:HK$
277.8
《
就业、利息和货币通论(徐毓枬译本)(经济学名著译丛)
》
售價:HK$
67.2
《
瘦肝
》
售價:HK$
99.7
|
編輯推薦: |
Node.js用于服务器端操作,学起来没有画面感,很多人觉得比较难。本书全程采用实例的方式,让读者学完一个技术点,就练会一个技术点
Node.js是一门开源的、为Web而生的语言,具有高并发、异步等特点,并且拥有一个十分活跃的开发者社区。Node.js适合没有经验的人上手使用,在世界各地的开发者中拥有一大批拥趸。本书以实战为主旨,精选适用于生产环境的Node.js 10代码实例,帮助读者从零开始掌握Node.js服务器编程。
|
內容簡介: |
本书精选适用于生产环境的Node.js10代码实例,帮助读者从零开始掌握Node.js服务器编程。全书内容翔实、重点突出、通俗易懂,涵盖Node.js程序开发的方方面面。 全书共分为10章,内容包括:Node.js10控制台输出、文件管理、进程与异步IO管理、进程通信、缓冲区Buffer管理、网络管理、Web管理、MySQL与MongoDB数据库管理和常用工具Util开发等方面的内容。 本书是掌握Node.js10编程非常好的图书,全书内容简洁、代码精练、实例丰富,能够帮助初学者快速掌握Node.js开发。同时,对于设计人员提高Web服务器端脚本语言开发的技术水平有非常积极的指导作用。
|
關於作者: |
李柯泉,计算机科学与技术研究生。现就职于大连海事大学信息科学技术中心,创立了开源组织青龙小组,是大连海事大学CSDN高校俱乐部第一任负责人。为大连海事大学开发了第一款校园移动APP,参与大连海事大学新版校园网设计与实现,承接了大连海事大学项目基于校园网的移动流媒体点播系统。熟悉流行的Vue、React、Angular、Node等Web框架。
|
目錄:
|
目录
第1章 Node.js环境及工具 1
1.1 通过安装包安装Node 1
1.2 通过二进制方式安装Node 4
1.3 借助NPM包管理器升级Node 6
1.4 Node.js开发工具Sublime Text配置 6
1.5 Node.js开发平台WebStorm配置 10
第2章 Node.js控制台输出 14
2.1 Node.js中的Console概述 14
2.2 控制台日志信息输出 14
2.3 输出JSON数据交换格式 15
2.4 输出逻辑运算符结果 16
2.5 格式化参数输出 17
2.6 输出错误和警告 18
2.7 输出位置重定向 19
2.8 输出对象的属性和方法 20
2.9 输出控制键 21
2.10 从控制台读取用户输入 23
2.11 在控制台使用断言工具 25
2.12 在控制台输出表格 26
第3章 Node.js文件管理 27
3.1 文件管理概述 27
3.2 打开与关闭文件 27
3.3 创建与删除文件硬链接 31
3.4 创建文件符号链接 35
3.5 读取文件符号链接 37
3.6 截取文件内容 39
3.7 修改文件长度 41
3.8 获取文件信息 43
3.9 重命名文件 44
3.10 相对路径转绝对路径 46
3.11 创建和删除目录 47
3.12 读取文件目录 50
3.13 读取文件内容 51
3.14 根据文件描述符读取文件内容 53
3.15 写入文件内容 55
3.16 根据文件描述符写入文件内容 56
3.17 追加写入文件内容 59
3.18 监控文件 61
第4章 进程与异步管理 63
4.1 进程与异步概述 63
4.2 获取程序当前目录 63
4.3 改变当前目录 64
4.4 获取系统相关信息 65
4.5 实现标准输出流 70
4.6 实现标准错误流 72
4.7 实现标准输入流 73
4.8 Process模块的异步方法 74
4.9 异步方法基础 76
4.10 Async串行流程 77
4.11 Async瀑布模式流程控制 80
4.12 Async并行流程控制 82
4.13 Async限制性并行流程控制 84
4.14 Async循环流程控制 85
4.15 Async队列流程控制 89
第5章 进程通信 92
5.1 进程通信概述 92
5.2 创建子进程 92
5.3 绑定系统事件 95
5.4 绑定错误事件 97
5.5 创建子进程查看用户目录 99
5.6 查看物理内存使用状态 101
5.7 查看子进程pid 103
5.8 创建子进程统计系统登录次数 104
5.9 获取CPU信息 106
5.10 实现进程间通信 107
第6章 缓冲区管理 110
6.1 Buffer概述 110
6.2 判断缓冲区对象 110
6.3 获取缓冲区对象字节长度 112
6.4 读取缓冲区对象 113
6.5 写入缓冲区对象 116
6.6 缓冲区对象转字符串 118
6.7 缓冲区对象裁剪 120
6.8 拷贝缓冲区对象 121
6.9 拼接缓冲区 123
6.10 应用Buffer缓冲区操作HTTP Request Header 126
第7章 网络管理 131
7.1 网络管理概述 131
7.2 创建基本的TCP服务器 131
7.3 创建基本的TCP客户端 133
7.4 创建简单的TCP通信应用 135
7.5 创建TCP服务器的另一种方式 138
7.6 服务器端绑定事件 139
7.7 获取服务器地址参数 142
7.8 获取当前服务器连接数 144
7.9 获取套接字地址 147
7.10 获取远程地址 149
7.11 使用套接字写数据 150
7.12 控制套接字数据流的应用 154
7.13 创建UDP服务器 158
7.14 创建UDP客户端 160
7.15 创建简单的UDP应用 162
7.16 UDP广播服务的实现 165
7.17 模仿简单的聊天室应用 169
第8章 Web管理 174
8.1 Web管理概述 174
8.2 构建一个基本的HTTP服务器 174
8.3 编写一个简单的HTTP客户端 177
8.4 HTTP响应状态码 179
8.5 设定和获取HTTP头文件 183
8.6 写HTTP头文件的方法 185
8.7 发送与处理GET请求 187
8.8 进行重定向操作 190
8.9 服务器多路径处理方式 192
8.10 模拟ping命令连接服务器 196
8.11 安装Express开发框架 198
8.12 使用Express开发框架开发的Hello World 199
8.13 Express开发框架路由处理 204
8.14 应用Express框架实现登录页面 208
8.15 Express框架实现Ajax方式操作 212
第9章 数据库管理 217
9.1 数据库概述 217
9.2 连接MySQL数据库 218
9.3 查询MySQL数据库 220
9.4 插入MySQL数据库 221
9.5 删除MySQL数据库 222
9.6 更新MySQL数据库 224
9.7 操作MySQL数据库连接池 225
9.8 连接MongoDB数据库 227
9.9 连接MongoDB数据集合 230
9.10 查询MongoDB数据集合 232
9.11 插入MongoDB数据集合 235
9.12 删除MongoDB数据集合 237
9.13 更新MongoDB数据集合 238
第10章 Util常用工具 242
10.1 Util概述 242
10.2 原型对象继承 242
10.3 将任意对象转换为字符串 245
10.4 验证是否为数组 246
10.5 验证是否为日期格式 247
10.6 验证是否为正则表达式 248
10.7 验证是否为错误类型 249
10.8 格式化字符串 251
10.9 验证类型 252
|
內容試閱:
|
前言
读懂本书
Node.js迅速崛起
Node.js框架作为一种服务器端脚本语言的开发技术,近些年在IT圈内可谓是掀起一股热潮,崛起之迅速令人瞠目。设计人员发现,原来仅仅运行于浏览器端的JavaScript脚本也可以完美地运行在服务器端了,这确实太震撼人心了。于是,掌握Node.js框架开发技术成为众多设计人员的热切期望。
本书是一本讲究实践的书,其为读者全面深入地讲解了针对各种场景的Node.js技术。全书百余个代码实例给读者带来的不仅仅是全面的基础知识,更是为读者提供了设计简洁高效的服务器端代码与网站架构、应对跨平台与跨浏览器兼容、优化服务器性能等切实问题的解决之道。可以说,这是一本学习Node.js框架开发技术的高效手册。
Node.js支持跨终端、多平台的开发,无论是传统的PC客户端,或是现今流行的移动端设备,或是Windows系统、Android系统、iOS系统,均是Node.js可以发挥威力的舞台。可以说,今天Node.js框架的迅速崛起是由其内在特性决定的。
Node.js的技术特点
Node.js是基于先进的Google V8引擎开发的JavaScript服务器端平台,可用来快速地搭建易于扩展的Web应用。大多数刚刚接触Node.js框架的初学者可能一时无从下手,那么Node.js技术的主要特点有哪些呢?
笔者认为,Node.js跨平台的浏览器兼容性、服务器端脚本使用、模块和包管理、进程管理与异步IO、进程与子进程通信、文件与路径处理、事件处理机制、TCPUDP网络编程管理、Web应用管理、Node.js数据库管理以及常用工具Util开发等方面的内容,都属于Node.js技术的特点所在。
本书详细介绍这些技术内容,并通过具体的代码实例帮助读者学习和掌握这些知识点的原理及使用方法,真正实现理论与实践相结合。
本书的内容安排
本书共分10章,各章节针对不同的Node.js功能模块进行详细的介绍。
第1章主要介绍关于Node.js框架安装、环境搭建和开发工具使用方面的内容,旨在帮助读者快速掌握Node程序的学习方法。
第2章主要介绍Node.js框架的控制台模块,通过该模块的方法可以向操作系统控制台实现各种格式化输入和输出等操作,也就是读者熟知的读取-求值-输出循环(Read-Eval-Print Loop,REPL)交互式的编程环境。
第3章主要介绍Node.js框架中的文件系统(File System)模块如何支持IO操作的方法,这些操作方法是对标准POSIX函数的简单封装,其提供了文件的读取、写入、更名、删除、遍历目录、链接等POSIX文件系统操作。
第4章主要介绍使用Node.js框架进程管理模块(Process)以及Node.js异步管理和IO编程。Process模块是Node.js框架的一个全局内置对象,Node.js代码可以在任何位置访问该对象,实际上这个对象就是Node.js代码宿主的操作系统进程对象。使用Process模块可以截获进程的异常、退出等事件,可以获取进程的环境变量、当前目录、内存占用等信息,还可以操作工作目录切换、进程退出等操作。Node.js框架在设计之初就考虑作为一个高效的Web服务器而存在,因此高效的异步机制贯穿于整个Node.js框架的编程模型中,读者可以学习到异步IO机制、异步IO应用和Async流程控制库应用等Node.js框架异步编程的内容。
第5章主要介绍使用Node.js框架的child_process模块创建子进程的4种方法,分别是spawn、exec、execFile和fork方法。其中,spawn方法是最原始的创建子进程的方法,其他3种都是通过对spawn方法不同程度的进一步封装实现的。使用child_process模块提供的这些方法可以实现多进程任务、操作Shell和进程通信等操作,实用功能是非常强大的。
第6章主要介绍Node.js框架中Buffer的概念,其可以理解为缓冲区或临时存贮区,是用来暂时存放输入输出数据的一小块内存。如果读者学习过C语言编程,对于指针数组的概念有一定了解,那么学习并掌握Node.js框架的Buffer就会容易很多。
第7章主要介绍Node.js框架中对于TCPUDP网络编程方面的支持,Node.js框架为设计人员提供了网络(Net)模块来支持TCP协议应用,提供了数据报套接字(UDP)模块来支持UDP协议应用,这两个模块提供了一系列与网络应用相关的函数方法,通过这些方法就可以构建基本的网络应用。
第8章主要介绍应用Node.js框架中的HTTP模块与HTTPS模块开发Web应用的方法,这两个模块基于HTTP协议与HTTPS协议开发,提供了一系列与Web应用开发相关的函数方法,通过这些方法可以构建各种功能复杂且强大的Web应用。
第9章主要介绍Node.js框架与MySQL数据库和MongoDB数据库交互的方法。关于MySQL数据库,主要选用目前人气最高的node-mysql开源项目作为Node.js框架的MySQL扩展库,该开源项目提供了MySQL数据库对Node.js框架的完整支持,具有一套与数据库开发相关的函数方法,通过这些方法可以非常方便地构建Node.js数据库应用。关于MongoDB数据库,主要选用同名的MongoDB开源项目作为Node.js框架的MongoDB扩展库,该扩展库具有一套与数据库开发相关的函数方法,通过这些方法可以非常方便地构建Node.js数据库应用。
第10章主要介绍Node.js框架中的常用工具(Util)模块,该模块是为了解决核心JavaScript的功能过于精简而设计的。应用该模块可以实现对一个原型对象的继承功能,实现对象格式化操作,将任意对象转换为字符串的操作,调试输出功能,验证正则表达式和验证对象类型,等等。
本书适合你吗?
本书涵盖绝大部分关于Node.js基础和进阶的内容,全程做到将知识点与应用实例相结合,通过大量的代码实例帮助读者快速掌握Node.js框架的编程技巧,并应用到实践开发中。本书通过这种学以致用的方式来增强读者的阅读兴趣,无论是基础内容还是提高内容,相信读者都可以从中 获益。
本书涉及的主要软件或工具
? WebStorm? EditPlus? Mozilla Firefox ? Google Chrome
? Sublime Text? UltraEdit ? Notepad
本书涉及的技术或框架
? HTML? HTML 5 ? CSS 3? JSON
? MIME? JavaScript ? AJAX? Express
? HTTP? HTTPS? ECMAScript? MySQL
? MongoDB? RegExp? Node.js? NPM
本书特点
(1)本书以简单、通用的Node.js代码实例出发,抛开枯燥的纯理论知识介绍,通过实例讲解的方式帮助读者学习Node.js程序设计语言。
(2)本书内容涵盖Node.js所涉及的绝大部分开发知识,将这些内容整合到一起,可以系统地了解并掌握这门语言的全貌,为进入大型Web项目的开发做好铺垫。
(3)本书对于实例中的知识难点做出了详细的分析,能够帮助读者有针对性地提高Node.js编程开发技巧。
(4)本书在知识点上按照类别进行了合理地划分,全部代码实例都是独立的,读者可以从头开始阅读,也可以从中间开始阅读,不会影响学习进度。
(5)本书代码遵循重构原理,避免代码污染,真心希望读者能写出优秀的、简洁的、可维护的代码。
代码下载
本书实例代码可扫描右侧的二维码获取。
如果下载有问题,请联系booksaga@163.com,邮件主题为
Node.js全程实例。
本书读者
? Node.js框架与Web服务器开发初学者
? JavaScript开发初学者和前端开发人员
? 由JavaScript向Node.js框架转型的开发人员
? 网站建设与网页设计的开发人员
? 需要Web前端开发实践的各类IT培训学校的学生
? 大中专院校Web前端开发课程的学生
编 者
2019年9月
|
|