Node.js 後端全程實戰
凌傑
買這商品的人也買了...
-
$500$390 -
$500$300 -
$580$452 -
$305Node.js 開發實戰教程 (慕課版)
-
$550$429 -
$600$468 -
$500Android App 開發入門與項目實戰
-
$602嵌入式 C語言自我修養 — 從芯片、編譯器到操作系統
-
$509JavaScript 全棧開發
-
$1,850$1,758 -
$607Go 語言高級開發與實戰
-
$588$559 -
$594$564 -
$828$787 -
$720$706 -
$359$341 -
$539$512 -
$580$458 -
$680$537 -
$594$564 -
$414$393 -
$880$695 -
$650$325 -
$474$450 -
$880$695
相關主題
商品描述
本書是《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 章 服務端開發環境 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