 |
|
|
| |
|
再上一層樓 - 用NestJS快速建構高效可擴充伺服器應用
|
|
|
|
|
|
出版日期:2025-03-19
|
|
ISBN:9786267569627
|
|
定價:880元
特價:90折!792元
|
|
|
|
參考分類(CAT):
|
|
參考分類(CIP): 電腦科學
|
|
|
|
|
|
|
|
|
內容簡介 ★原生Node與Express的請求差異解析
★TypeScript類型檢查與編譯實用技巧
★使用Nest CLI快速建立專案
★IoC與AOP在Nest中的實際應用
★裝飾器在控制器與模組中的運用
★控制器與服務間的協作方式解析
★中介軟體的分類與使用場景
★攔截器結合RxJS處理資料流
★TypeORM進行資料庫關係操作示例
★Redis快取在資料效能中的應用
★JWT實現登入與授權控制方法
★Docker與Compose快速部署專案
★單元測試與整合測試的重要性
★日誌記錄與錯誤管理的實踐方法
本書全面介紹了Nest框架的基礎與進階應用,適合各層次的開發者學習。從Node.js到Express與Nest的比較,清晰講解了後端開發的核心技能。以TypeScript為基礎,詳述類型系統與編譯流程,幫助讀者掌握扎實的技術基礎。
全面介紹了Nest框架的基礎與進階應用,從概念到實戰,內容深入且實用。
基礎篇:
講解Node.js請求與回應處理,並比較原生Node、Express與Nest的差異,同時介紹TypeScript的類型系統與編譯基礎,為開發奠定扎實基礎。Nest初識部分從框架特點到CLI工具,指導讀者快速建立第一個模組化應用,並探討AOP與IoC的應用價值。核心章節深入解析裝飾器、模組化設計、控制器與服務的協作,以及中介軟體與攔截器的使用,幫助讀者全面掌握框架的設計理念。
進階篇:
涵蓋資料庫與TypeORM整合、多表關係操作,以及Redis快取技術在效能提升中的實踐。身份驗證部分講解JWT與RBAC的應用,展示安全控制的最佳實踐。系統部署章節介紹Docker與Compose工具,幫助高效完成容器化部署。
擴充篇:
說明了單元測試及日誌錯誤處理。
實戰篇:
以數位門店平臺開發為例,展示從需求分析到專案部署的完整流程。 作者介紹 溫健民 編著
畢業於中國廣東海洋大學計算機系,擁有5年前端開發經驗,先後在網際網路公司擔任前端工程師和前端技術leader職位。在Vue、React以及前端工程化方面有著深入的研究。同時是掘金技術博主,Nest技術愛好者,也是hello-algo算法開源項目的貢獻者。 目次 第1部分 基礎篇
第1章 需要提前掌握的知識
1.1 Node中的請求與回應物件
1.1.1 原生Node處理HTTP請求
1.1.2 Express處理HTTP請求
1.1.3 Nest處理HTTP請求
1.2 TypeScript基礎與應用
1.2.1 TypeScript編譯
1.2.2 TypeScript類型系統
第2章 Nest初識
2.1 什麼是Nest
2.1.1 Nest概述
2.1.2 Nest的主要特點
2.1.3 Nest的應用場景
2.2 快速上手Nest CLI
2.2.1 Nest CLI的安裝
2.2.2 建立專案
2.2.3 生成指定的程式部分
2.2.4 建構應用
2.2.5 啟動開發偵錯
2.2.6 查看專案資訊
2.3 建立第一個Nest應用
2.3.1 生成後端專案
2.3.2 生成前端專案
2.3.3 準備工作
2.3.4 運行結果
2.3.5 模組化開發
2.4 Nest的AOP架構理念
2.4.1 MVC架構概述
2.4.2 AOP解決的問題
2.4.3 AOP在Nest中的應用
2.5 IoC思想解決了什麼問題
2.5.1 IoC核心思想概述
2.5.2 IoC在Nest中的應用
2.6 學會偵錯Nest應用
2.6.1 Chrome DevTools偵錯
2.6.2 VS Code偵錯
2.6.3 擴充偵錯技巧
第3章 Nest核心概念介紹
3.1 貫穿全書的裝飾器
3.1.1 基本概念
3.1.2 裝飾器的種類
3.1.3 Nest中的裝飾器
3.2 井然有序的模組化
3.2.1 基本概念
3.2.2 建立模組
3.2.3 共用模組
3.2.4 全域模組
3.2.5 動態模組
3.3 控制器與服務的默契配合
3.3.1 基本概念
3.3.2 Controller管理請求路由
3.3.3 Controller處理請求參數與請求本體
3.3.4 Service處理資料層
3.3.5 服務與服務提供者
3.4 耳熟能詳的中介軟體
3.4.1 類別中介軟體
3.4.2 函數式中介軟體
3.4.3 局部中介軟體
3.4.4 全域中介軟體
3.5 攔截器與RxJS知多少
3.5.1 基本概念
3.5.2 建立專案
3.5.3 攔截器的基本使用方法
3.6 資料之源守護者:管道
3.6.1 基本概念
3.6.2 內建管道
3.6.3 自訂管道
3.7 Nest實現檔案上傳
3.7.1 初識Multer
3.7.2 單檔案上傳
3.7.3 多檔案上傳
3.7.4 上傳任意檔案
3.7.5 檔案驗證
第2部分 進階篇
第4章 Nest與資料庫
4.1 快速上手MySQL
4.1.1 安裝和運行
4.1.2 MySQL的常用命令
4.1.3 視覺化操作MySQL
4.2 MySQL表之間的關係
4.2.1 一對一關聯性
4.2.2 一對多/多對一關係
4.2.3 多對多關係
4.3 快速上手TypeORM
4.3.1 基本概念
4.3.2 專案準備
4.3.3 建立模型及實體
4.3.4 定義資料列及類型
4.3.5 連接資料庫
4.3.6 使用Repository操作CRUD
4.3.7 使用QueryBuilder操作CRUD
4.4 使用TypeORM處理多表關係
4.4.1 一對一關聯性
4.4.2 一對多/多對一關係
4.4.3 多對多關係
4.5 在Nest中使用TypeORM操作MySQL
4.5.1 專案準備
4.5.2 使用EntityManager操作實體
4.5.3 使用Repository操作實體
4.5.4 使用QueryBuilder操作實體
第5章 性能最佳化之資料快取
5.1 快速上手Redis
5.1.1 安裝和運行
5.1.2 Redis的常用命令
5.2 在Nest中使用Redis快取
5.2.1 專案準備
5.2.2 Redis初始化
5.2.3 建表並建構快取
5.2.4 運行程式
5.2.5 設置快取有效期
5.2.6 選擇合理的有效期
第6章 身份驗證與授權
6.1 Cookie、Session、Token、JWT、SSO詳解
6.1.1 什麼是身份驗證
6.1.2 什麼是授權
6.1.3 什麼是憑證
6.1.4 什麼是Cookie
6.1.5 什麼是Session
6.1.6 Session與Cookie的區別
6.1.7 什麼是Token
6.1.8 什麼是JWT
6.1.9 JWT與Token的區別
6.1.10 什麼是SSO
6.2 基於Passport和JWT實現身份驗證
6.2.1 基本概念
6.2.2 專案準備
6.2.3 用本地策略實現使用者登入
6.2.4 用JWT策略實現介面驗證
6.2.5 程式最佳化
6.3 基於RBAC實現許可權控制
6.3.1 基本概念
6.3.2 資料表設計
6.3.3 專案準備
6.3.4 建立實體
6.3.5 啟動服務
6.3.6 實現角色守衛控制
6.3.7 生成測試資料
6.3.8 測試效果
第7章 系統部署與擴充
7.1 快速上手Docker
7.1.1 初識Docker
7.1.2 安裝Docker
7.1.3 Docker的使用
7.2 快速上手Dockerfile
7.2.1 Docker的基本概念
7.2.2 Dockerfile的基本語法
7.2.3 Dockerfile實踐
第3部分 擴充篇
第8章 單元測試與點對點測試
8.1 重新認識單元測試
8.1.1 什麼是單元測試
8.1.2 為什麼大部分公司沒有進行單元測試
8.1.3 為什麼要撰寫單元測試
8.1.4 先撰寫單元測試還是先撰寫程式
8.1.5 測試驅動開發
8.2 在Nest中使用Jest撰寫單元測試
8.2.1 初識Jest
8.2.2 專案準備
8.2.3 撰寫測試用例
8.2.4 實現業務程式
8.2.5 重構程式
8.3 整合測試
8.3.1 撰寫測試用例
8.3.2 測試效果
8.4 點對點測試
8.4.1 撰寫測試用例
8.4.2 實現業務程式
第9章 日誌與錯誤處理
9.1 如何在Nest中記錄日誌
9.1.1 為什麼要記錄日誌
9.1.2 內建日誌器Logger
9.1.3 訂製日誌器
9.1.4 記錄日誌的正確姿勢
9.1.5 第三方日誌器Winston
9.2 Winston日誌管理實踐
9.2.1 Winston的基礎使用
9.2.2 本地持久化日誌
9.3 面向切面日誌統計實踐
9.3.1 中介軟體日誌統計
9.3.2 攔截器日誌統計
9.3.3 篩檢程式日誌統計
第4部分 Nest專案實戰篇
第10章 數位門店管理平臺開發
10.1 產品需求分析與設計
10.1.1 產品需求說明
10.1.2 功能原型圖
10.2 技術選型與專案準備
10.2.1 前端技術選型
10.2.2 初始化前端專案
10.2.3 前端架構設計
10.2.4 後端技術選型
10.2.5 初始化後端專案
10.2.6 後端架構設計
10.3 API介面及資料庫表設計
10.3.1 API介面功能劃分
10.3.2 資料庫設計
10.4 實現註冊登入
10.4.1 頁面效果展示
10.4.2 介面實現
10.5 實現使用者與角色模組
10.5.1 頁面效果展示
10.5.2 表關係設計
10.5.3 介面實現
10.6 實現商品與訂單模組
10.6.1 頁面效果展示
10.6.2 表關係設計
10.6.3 介面實現
10.7 基於Redis實現商品熱銷榜
10.7.1 頁面效果展示
10.7.2 介面實現
10.8 實現活動模組與定時任務
10.8.1 頁面效果展示
10.8.2 表關係設計
10.8.3 介面實現
10.9 使用Docker Compose部署專案
10.9.1 撰寫後端Docker Compose檔案
10.9.2 撰寫Dockerfile檔案
完結語:是終點,更是新的起點
一個小小的決定
時間的槓桿
結語
1、五南網路會員所購買的商品均享有取貨7天的鑑賞期﹝包含國定假日、例假日﹞,退換貨之商品必需於取貨7天內辦理退換貨,否則恕不接受退換貨。
2、依照消費者保護法規定,凡消費者於網站購物均享有7天商品鑑賞期,唯需注意辦理退貨商品需保留完整外包裝、附件、外盒等等,才可辦理退貨。
3、如欲退貨,請在鑑賞期內將商品連同發票寄回,每張訂單限退一次。
4、鑑賞期非試用期,若您收到商品經檢視後有任何不合意之處,請立即依照退貨規定辦理退貨
1、若本網站已設團購價,請直接下訂即可。
2、如您需要其他類型產品團購,則請聯繫客服或直接將需求e-mail
至wunan2351960@gmail.com即可
一、購物說明 1.本站商品近60萬筆。(商品圖片、出版日期等相關資訊僅供參考,出貨一律是最新版本) ◎請注意:上架商品不等於一定可以出貨。(會有缺書而訂不到書的狀況,敬請體諒) 2.當您下訂時,我們會向出版訂書(約7-10個工作天)(政府出版品因受限於採購程序,平均補貨作業時間約 2~6週)。如有久候,敬請見諒。當出版社回覆缺書時,我們只能取消您的訂單。 3.當您下訂時您必須同意:訂單成立的第14天起,因缺某一本書無法出貨的訂單,本站有權利自動取消您的訂單。◎請注意:缺書取消訂單我們統一發送簡訊通知。如果您要部份出貨者,請留言後再重新下單。 4.、本站保留出貨的權利。 二、運費說明 1.宅配到府:滿999元免運費,未滿則加收65元(台灣本島),離島一律加收120元 2.五南門市取貨:未滿350,運費20元 3.揪團:免運費 三、退貨與退款說明 五南會員所購買的商品均享有取貨7天的猶豫期﹝包含國定假日、例假日﹞,退換貨之商品必需於取貨7天內辦理退換貨,否則恕不接受退換貨。 1.請注意!下列商品購買後不提供7天的猶豫期,請務必詳閱商品說明並再次確認確實有購買該項商品之需求及意願時始下單購買,有任何疑問並請先聯繫客服詢問: (1)客製化之商品。 (2)買斷不退之商品。 (3)報紙、期刊或雜誌。 (4)經消費者拆封之影音商品或電腦軟體。 (5)下載版軟體、資訊及電子書。 (6)涉及個人衛生,並經消費者拆封之商品,如:內衣褲、刮鬍刀…等。 (7)藝文展覽票券、藝文表演票券。 (8)易於腐敗、保存期限較短或解約時即將逾期。 2.退貨退款詳細說明: (1)如欲退貨,請在鑑賞期內將商品連同發票寄回,每張訂單限退一次。 (2)退換貨政策:請在收到商品後,立刻檢查商品是否正確,如果有問題或瑕疵,請於7天猶豫期內完成退換貨申請手續。辦理退換貨時,商品必須是全新狀態與完整包裝(請注意保持商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性,切勿缺漏任何配件或損毀原廠外盒)。退回商品無法回復原狀者,恐將影響退貨權益或需負擔部分費用。 (3)退款說明:請您填寫退貨退款書,若您採信用卡付款,由客服人員辦理刷退手續。若採其他付款方式,我們會將退款,匯款至指定帳戶。以上需要14個工作天。 (4)退貨退款書請至【客服中心】點選『退換商品】的說明中下載。
1.每日09:00前截止訂單,包含出貨通知、缺書通知等。 3.上午9:00點以前下單,可在當日下午17:00以後,查詢出貨進度。例假日除外 4.上午9:00以後在下單,需在隔日17:00以後,方能查詢訂單出貨進度。例假日除外 5.當你使匯款或轉帳時,請務必提供帳戶末5碼之資訊,請拍照email或傳真給我方,否則須等與銀行確認後,才能出貨。 6.出貨是以下單時間為出貨先後的順序,也就是請先下單再查詢庫存,因為就算查完庫存,也可能無法先為你保留書籍(政府出版品因受限於採購程序,平均補貨作業時間約 2~6週)。
|
|
|
|
|
|
 |
再上一層樓 - 用NestJS快速建構高效可擴充伺服器應用
出版日期:2025-03-19
ISBN:9786267569627
定價:880元
特價:90折!792元
參考分類(CAT):
參考分類(CIP): 電腦科學