- ISBN:9787115608918
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:220
- 出版时间:2023-05-01
- 条形码:9787115608918 ; 978-7-115-60891-8
本书特色
适读人群 :本书适合已经对JavaScript、HTML和CSS等基本前端技术,以及Node.js 运行平台有所了解,并对Web全栈开发及其背后的设计理念感兴趣的读者。1.内容丰富实用。以Express.js 框架及其相关工具为例介绍Node.js应用程序在服务端的开发与维护,从快速后端开发到云原生环境的部署运维。2.作者经验丰富。作者凌杰精通JavaScript、Python、C、C++等多门编程语言,深耕全栈领域多年,拥有丰富的开发及测试经验。3.有效提升能力。提供高质量的示例项目及完整源代码,帮助读者进一步理解技术概念、开发框架及维护工具。
内容简介
本书是《JavaScript 全栈开发》在后端开发方面的续作。后端开发(也称服务端开发)指的是创建Web 应用在服务端的实现,并对它进行部署与维护的过程。要想成为一名全栈工程师,后端开发的技术栈是必须要全面了解并掌握的。本书将以基于 Node.js 运行平台的 Express.js 框架为工具为读者介绍开发并维护一个服务端应用所涉及的全部技术栈。 本书主体由两部分组成:**部分以开发一个“线上简历”应用的服务端业务为演示项目,循序渐进地介绍使用 Express.js 框架开发服务端应用的具体实践过程;第二部分以“线上简历”应用的部署与维护工作为例,为读者介绍如何使用Docker、K8s 等运维工具来进行服务端应用的维护工作。 本书提供了一个可读性高、可被验证的示例项目(包含完整源代码),以帮助读者理解书中所介绍的技术的概念、开发框架以及 Web 应用的维护工具。本书适合已经对 JavaScript、HTML 和 CSS 等基本前端技术,以及 Node.js 运行平台有所了解,并对 Web 全栈开发及其设计理念感兴趣的读者阅读、使用。
目录
第 1 章 服务端开发环境 3
1.1 安装操作系统 3
1.1.1 服务器操作系统概况 4
1.1.2 为什么选择类Linux 系统? 4
1.1.3 安装并配置 Linux发行版 6
1.2 安装开发工具 9
1.2.1 Node.js 运行平台 9
1.2.2 项目开发环境 10
1.3 安装数据库 13
1.3.1 MySQL 数据库 13
1.3.2 MongoDB 数据库 16
1.3.3 关于数据库的容器化 19
第 2 章 服务端开发方案 20
2.1 Express.js 框架简介 20
2.1.1 小巧而富有弹性 21
2.1.2 使用中间件可扩展机制 22
2.2 创建应用程序 23
2.2.1 动态页面 23
2.2.2 HTTP API 服务 27
2.3 项目实践 33
2.3.1 创建项目 33
2.3.2 项目分析 35
2.3.3 添加 API 37
第 3 章 数据库接口设计 41
3.1 数据库概述 41
3.1.1 数据库的存储结构 41
3.1.2 数据库的逻辑设计 43
3.2 关系数据库 44
3.2.1 在数据之间建立关系 44
3.2.2 使用 Knex.js 框架 45
3.3 非关系数据库 52
3.3.1 非关系数据库的分类 53
3.3.2 使用 MongoDB
数据库 53
3.4 项目实践 60
第 4 章 服务端接口实现 67
4.1 服务端的实现步骤 67
4.1.1 创建 HTTP 服务器 68
4.1.2 创建路由器中间件 76
4.1.3 解析客户端请求 78
4.1.4 响应客户端请求 82
4.2 部署 Web 客户端 86
4.2.1 获得 Web 源代码 87
4.2.2 配置静态资源服务 88
4.3 项目实践 89
第二部分 服务端项目的运维
第 5 章 非容器化部署应用 99
5.1 运维工作简介 99
5.2 部署工作流程 101
5.2.1 选择服务器设备 101
5.2.2 配置服务器环境 103
5.2.3 使用进程管理器 108
5.2.4 反向代理服务器 109
5.2.5 关于之后的任务 112
5.3 项目实践 112
5.3.1 部署数据库 112
5.3.2 添加反向代理 113
5.3.3 发现问题 116
第 6 章 应用程序的容器化 117
6.1 软件生产理念回顾 117
6.1.1 流水线式生产 117
6.1.2 敏捷软件开发 118
6.1.3 DevOps 工作理念 119
6.2 配置容器化工具 120
6.2.1 Docker 简介 120
6.2.2 安装 Docker 121
6.2.3 配置工作 124
6.3 Docker 基本使用 125
6.3.1 理解镜像 125
6.3.2 镜像管理 126
6.3.3 容器管理 131
6.3.4 其他操作 133
6.4 项目实践 134
6.4.1 基本工作流程 134
6.4.2 容器化指令简介 136
第 7 章 自动化部署与维护(上) 139
7.1 使用微服务架构 139
7.1.1 微服务架构简介 140
7.1.2 容器化实现方式 141
7.2 Docker Compose 简介 144
7.2.1 安装 Docker Compose 144
7.2.2 基本操作流程演示 145
7.2.3 编写容器编排文件 146
7.3 项目实践 151
7.3.1 自动化部署 151
7.3.2 容器化维护 153
7.3.3 自动化清理 155
第 8 章 自动化部署与维护(下) 157
8.1 Kubernetes 简介 157
8.1.1 核心组成结构 158
8.1.2 软件架构设计 160
8.2 构建 K8s 服务器集群 161
8.2.1 安装与配置 Docker+K8s 环境 162
8.2.2 设置主控节点与工作节点 163
8.2.3 使用 kubectl 远程操作集群 166
8.3 项目实践 167
8.3.1 部署应用的基本步骤 167
8.3.2 编写资源定义文件 172
8.3.3 使用 kubectl 173
附录 A Git 简易教程 176
A.1 版本控制系统简介 176
A.1.1 版本控制术语 176
A.1.2 版本控制方式 177
A.2 Git 版本控制系统 177
A.2.1 Git 的特性 178
A.2.2 安装与配置 178
A.3 单人项目管理 181
A.3.1 项目设置 181
A.3.2 文件管理 182
A.3.3 版本管理 187
A.3.4 分支管理 190
A.3.5 标签管理 193
A.4 团队项目协作 195
A.4.1 配置 SSH 客户端 195
A.4.2 管理远程仓库 196
A.4.3 同步项目数据 199
附录 B 使用 Vagrant 搭建 K8s服务器集群 203
B.1 Vagrant 的基本使用 203
B.1.1 项目的组成架构 204
B.1.2 编写项目配置文件 204
B.1.3 Vagrant CLI 的常用命令 210
B.2 项目示例:搭建 K8s
服务器集群 212
B.2.1 准备工作 212
B.2.2 搭建集群 215
作者简介
凌杰(网名:owlman),浙江大学远程教育学院“荣誉学员”。自由开发人员、技术写作者兼详者、精通JavaScript、Python、C、C++等多门编程语言,拥有丰富的开发及测试经验。曾担任上海交通大学饮水思源BBS 的电脑技术区区长。近年来译有《Python算法教程》《JavaScript 面向对象编程指南》《元素模式》等作品。
-
深度学习的数学
¥43.5¥69.0 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥31.9¥65.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥76.3¥109.0 -
UG NX 12.0数控编程
¥22.1¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥83.3¥119.0 -
Visual Basic 语言程序设计基础(第6版)
¥32.0¥45.0 -
贝叶斯推理与机器学习
¥139.3¥199.0