新書推薦:
《
深度学习详解
》
售價:NT$
519.0
《
李白传(20世纪文史学家李长之经典传记)
》
售價:NT$
207.0
《
津轻:日本无赖派文学代表太宰治自传性随笔集
》
售價:NT$
302.0
《
河流之齿
》
售價:NT$
270.0
《
新经济史革命:计量学派与新制度学派
》
售價:NT$
406.0
《
盗墓笔记之秦岭神树4
》
售價:NT$
259.0
《
战胜人格障碍
》
售價:NT$
302.0
《
逃不开的科技创新战争
》
售價:NT$
467.0
|
編輯推薦: |
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 全栈开发及其设计理念感兴趣的读者阅读、使用。
|
關於作者: |
凌杰(网名:owlman),浙江大学远程教育学院“荣誉学员”。自由开发人员、技术写作者兼详者、精通JavaScript、Python、C、C++等多门编程语言,拥有丰富的开发及测试经验。曾担任上海交通大学饮水思源BBS 的电脑技术区区长。近年来译有《Python算法教程》《JavaScript 面向对象编程指南》《元素模式》等作品。
|
目錄:
|
第 一部分 服务端项目的开发 第 1 章 服务端开发环境 31.1 安装操作系统 31.1.1 服务器操作系统概况 4 1.1.2 为什么选择类Linux 系统? 4 1.1.3 安装并配置 Linux发行版 6 1.2 安装开发工具 91.2.1 Node.js 运行平台 9 1.2.2 项目开发环境 10 1.3 安装数据库 131.3.1 MySQL 数据库 13 1.3.2 MongoDB 数据库 16 1.3.3 关于数据库的容器化 19 第 2 章 服务端开发方案 202.1 Express.js 框架简介 202.1.1 小巧而富有弹性 21 2.1.2 使用中间件可扩展机制 22 2.2 创建应用程序 232.2.1 动态页面 23 2.2.2 HTTP API 服务 27 2.3 项目实践 332.3.1 创建项目 33 2.3.2 项目分析 35 2.3.3 添加 API 37 第 3 章 数据库接口设计 413.1 数据库概述 413.1.1 数据库的存储结构 41 3.1.2 数据库的逻辑设计 43 3.2 关系数据库 443.2.1 在数据之间建立关系 44 3.2.2 使用 Knex.js 框架 45 3.3 非关系数据库 523.3.1 非关系数据库的分类 53 3.3.2 使用 MongoDB 数据库 53 3.4 项目实践 60第 4 章 服务端接口实现 674.1 服务端的实现步骤 674.1.1 创建 HTTP 服务器 68 4.1.2 创建路由器中间件 76 4.1.3 解析客户端请求 78 4.1.4 响应客户端请求 82 4.2 部署 Web 客户端 864.2.1 获得 Web 源代码 87 4.2.2 配置静态资源服务 88 4.3 项目实践 89第二部分 服务端项目的运维 第 5 章 非容器化部署应用 995.1 运维工作简介 995.2 部署工作流程 1015.2.1 选择服务器设备 101 5.2.2 配置服务器环境 103 5.2.3 使用进程管理器 108 5.2.4 反向代理服务器 109 5.2.5 关于之后的任务 112 5.3 项目实践 1125.3.1 部署数据库 112 5.3.2 添加反向代理 113 5.3.3 发现问题 116 第 6 章 应用程序的容器化 1176.1 软件生产理念回顾 1176.1.1 流水线式生产 117 6.1.2 敏捷软件开发 118 6.1.3 DevOps 工作理念 119 6.2 配置容器化工具 1206.2.1 Docker 简介 120 6.2.2 安装 Docker 121 6.2.3 配置工作 124 6.3 Docker 基本使用 1256.3.1 理解镜像 125 6.3.2 镜像管理 126 6.3.3 容器管理 131 6.3.4 其他操作 133 6.4 项目实践 1346.4.1 基本工作流程 134 6.4.2 容器化指令简介 136 第 7 章 自动化部署与维护(上) 1397.1 使用微服务架构 1397.1.1 微服务架构简介 140 7.1.2 容器化实现方式 141 7.2 Docker Compose 简介 1447.2.1 安装 Docker Compose 144 7.2.2 基本操作流程演示 145 7.2.3 编写容器编排文件 146 7.3 项目实践 1517.3.1 自动化部署 151 7.3.2 容器化维护 153 7.3.3 自动化清理 155 第 8 章 自动化部署与维护(下) 1578.1 Kubernetes 简介 1578.1.1 核心组成结构 158 8.1.2 软件架构设计 1608.2 构建 K8s 服务器集群 1618.2.1 安装与配置 Docker+K8s 环境 162 8.2.2 设置主控节点与工作节点 163 8.2.3 使用 kubectl 远程操作集群 166 8.3 项目实践 1678.3.1 部署应用的基本步骤 167 8.3.2 编写资源定义文件 172 8.3.3 使用 kubectl 173 附录 A Git 简易教程 176A.1 版本控制系统简介 176A.1.1 版本控制术语 176 A.1.2 版本控制方式 177 A.2 Git 版本控制系统 177A.2.1 Git 的特性 178 A.2.2 安装与配置 178 A.3 单人项目管理 181A.3.1 项目设置 181 A.3.2 文件管理 182 A.3.3 版本管理 187 A.3.4 分支管理 190 A.3.5 标签管理 193 A.4 团队项目协作 195A.4.1 配置 SSH 客户端 195 A.4.2 管理远程仓库 196 A.4.3 同步项目数据 199 附录 B 使用 Vagrant 搭建 K8s服务器集群 203B.1 Vagrant 的基本使用 203B.1.1 项目的组成架构 204 B.1.2 编写项目配置文件 204 B.1.3 Vagrant CLI 的常用命令 210 B.2 项目示例:搭建 K8s 服务器集群 212B.2.1 准备工作 212 B.2.2 搭建集群 215
|
|