注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)TypeScript框架開發(fā)實(shí)踐(微課視頻版)

TypeScript框架開發(fā)實(shí)踐(微課視頻版)

TypeScript框架開發(fā)實(shí)踐(微課視頻版)

定 價(jià):¥79.00

作 者: 曾振中
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787302668831 出版時(shí)間: 2024-08-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  本書講述了一個(gè)開源Web框架從無到有,直至發(fā)布上線的開發(fā)歷程,逐步實(shí)現(xiàn)Web框架的核心對象管理、Web路由及數(shù)據(jù)庫支持等三大組成部分并集成多個(gè)常用服務(wù),完成框架中三十多個(gè)TypeScript裝飾器的設(shè)計(jì)與開發(fā)。通過本書,讀者能夠從最基礎(chǔ)的代碼開始,輕松掌握Web框架的開發(fā)技能,為深入探索高級Web技術(shù)奠定堅(jiān)實(shí)基礎(chǔ)。本書分為三大模塊。Web框架基礎(chǔ)模塊(第1章)從編寫最簡單的HTTP服務(wù)開始,介紹Web框架的基礎(chǔ)知識;框架開發(fā)模塊(第2~5章)詳細(xì)闡述框架核心對象管理的實(shí)現(xiàn)、集成ExpressJS服務(wù)及相關(guān)中間件的應(yīng)用整合,展示了兩類Web框架常見的數(shù)據(jù)庫功能的開發(fā)過程,以及RabbitMQ、Redis、SocketIO多種常用服務(wù)的集成開發(fā);測試與發(fā)布模塊(第6章)講述Web框架的測試和開源項(xiàng)目的發(fā)布過程,深入探討制作開源項(xiàng)目涉及的各種關(guān)鍵知識點(diǎn)。本書適合初學(xué)者入門,書中項(xiàng)目以真實(shí)線上開源項(xiàng)目為主線,深入探討了Web框架的實(shí)現(xiàn)細(xì)節(jié),對于有經(jīng)驗(yàn)的開發(fā)者同樣有參考價(jià)值,尤其適合對開源項(xiàng)目有濃厚興趣的開發(fā)者。

作者簡介

  曾振中,資深計(jì)算機(jī)工程師,十多年IT從業(yè)經(jīng)驗(yàn),曾任虎牙直播研發(fā)效能平臺、虎牙視頻、YY游戲盒子、多玩網(wǎng)等多個(gè)大型項(xiàng)目的技術(shù)負(fù)責(zé)人,PMP證書持有者,專注于架構(gòu)設(shè)計(jì)、全棧開發(fā)、技術(shù)管理及云原生等領(lǐng)域,長期開發(fā)和維護(hù)SpeedPHP、k、TypeSpeed等開源框架。

圖書目錄

本書源代碼
第1章了解Web框架(51min)
1.1Web框架
1.1.1Web框架的應(yīng)用領(lǐng)域
1.1.2主流編程語言的Web框架
1.1.3需要了解的相關(guān)知識
1.2TypeSpeed 
1.2.1TypeSpeed框架的特性
1.2.2學(xué)習(xí)TypeSpeed的開發(fā)過程
1.3準(zhǔn)備源代碼
1.3.1安裝環(huán)境
1.3.2安裝編碼工具
1.3.3獲取源代碼
1.4從零實(shí)現(xiàn)最簡Web框架
1.4.1顯示Hello World頁面
1.4.2增加頁面
1.4.3用面向?qū)ο蠓椒ńM織頁面代碼
1.4.4增加數(shù)據(jù)庫查詢
1.4.5單例模式實(shí)現(xiàn)數(shù)據(jù)庫鏈接
1.4.6Web框架的主要組成部分 
第2章構(gòu)建框架核心(92min)
2.1TypeScript裝飾器
2.1.1裝飾器的用途
2.1.2如何設(shè)計(jì)裝飾器
2.1.3裝飾器執(zhí)行原理
2.1.4定時(shí)任務(wù)裝飾器開發(fā)
2.1.5小結(jié)
2.2構(gòu)建對象管理機(jī)制
2.2.1對象管理
2.2.2設(shè)計(jì)對象管理機(jī)制
2.2.3依賴注入
2.2.4對象工廠
2.2.5項(xiàng)目初始結(jié)構(gòu)
2.2.6實(shí)現(xiàn)日志功能
2.2.7入口文件機(jī)制
2.2.8小結(jié)
 
 
2.3系統(tǒng)配置管理
2.3.1約定優(yōu)于配置
2.3.2設(shè)計(jì)程序配置規(guī)范
2.3.3配置的集成
2.3.4開發(fā)配置裝飾器
2.3.5小結(jié)
第3章Web服務(wù)系統(tǒng)(184min)
3.1集成Web服務(wù)框架
3.1.1ExpressJS
3.1.2中間件機(jī)制
3.1.3應(yīng)用程序入口
3.1.4集成ExpressJS
3.1.5小結(jié)
3.2路由裝飾器
3.2.1簡單的路由實(shí)現(xiàn)
3.2.2路徑功能詳解
3.2.3開發(fā)路由裝飾器
3.2.4測試路由裝飾器
3.2.5優(yōu)化路由裝飾器
3.2.6小結(jié)
3.3路由切面功能
3.3.1面向切面編程
3.3.2設(shè)計(jì)切面程序功能
3.3.3@before切面裝飾器
3.3.4@after切面裝飾器
3.3.5小結(jié)
3.4請求參數(shù)裝飾器
3.4.1設(shè)計(jì)請求參數(shù)裝飾器
3.4.2請求參數(shù)裝飾器的實(shí)現(xiàn)
3.4.3用toString()優(yōu)化裝飾器
3.4.4小結(jié)
3.5響應(yīng)處理與模板引擎
3.5.1MVC設(shè)計(jì)模式
3.5.2JSON格式輸出
3.5.3模板引擎是什么
3.5.4ExpressJS的模板引擎
3.5.5模板引擎的選型
3.5.6集成多模板引擎庫
3.5.7小結(jié)
3.6使用中間件增強(qiáng)框架功能
3.6.1靜態(tài)資源服務(wù)
3.6.2站點(diǎn)圖標(biāo)功能
3.6.3傳輸壓縮實(shí)現(xiàn)
3.6.4Cookie
3.6.5Session
3.6.6小結(jié)
3.7文件上傳
3.7.1文件上傳原理
3.7.2使用文件上傳庫
3.7.3實(shí)現(xiàn)文件上傳裝飾器
3.7.4小結(jié)
3.8Web服務(wù)鑒權(quán)
3.8.1實(shí)現(xiàn)基本訪問認(rèn)證
3.8.2實(shí)現(xiàn)驗(yàn)證裝飾器
3.8.3攔截器
3.8.4開發(fā)全局?jǐn)r截器機(jī)制
3.8.5實(shí)現(xiàn)JWT全局?jǐn)r截器
3.8.6小結(jié)
3.9服務(wù)器端錯(cuò)誤輸出
3.9.1捕捉常見錯(cuò)誤
3.9.2錯(cuò)誤日志輸出
3.9.3美化內(nèi)置錯(cuò)誤頁面
3.9.4小結(jié)
第4章數(shù)據(jù)庫開發(fā)(184min)
4.1數(shù)據(jù)庫開發(fā)準(zhǔn)備
4.1.1安裝Docker Desktop
4.1.2安裝MySQL
4.1.3連接MySQL
4.1.4創(chuàng)建測試數(shù)據(jù)庫
4.1.5創(chuàng)建測試表
4.2裝飾器風(fēng)格的SQL方法
4.2.1SQL裝飾器的設(shè)計(jì)
4.2.2初步實(shí)現(xiàn)@Insert裝飾器
4.2.3初步實(shí)現(xiàn)@Update和@Delete
4.2.4@Select查詢實(shí)現(xiàn)
4.2.5小結(jié)
4.3參數(shù)綁定
4.3.1SQL注入攻擊示例
4.3.2SQL參數(shù)裝飾器
4.3.3優(yōu)化查詢裝飾器
4.3.4小結(jié)
4.4查詢結(jié)果的處理
4.4.1數(shù)據(jù)類
4.4.2查詢結(jié)果裝飾器
4.4.3裝飾器配合使用
4.4.4小結(jié)
4.5內(nèi)置查詢緩存
4.5.1緩存的作用
4.5.2內(nèi)置緩存功能
4.5.3緩存裝飾器
4.5.4優(yōu)化緩存更新
4.5.5小結(jié)
4.6模型風(fēng)格的數(shù)據(jù)操作
4.6.1統(tǒng)一底層數(shù)據(jù)庫執(zhí)行機(jī)制
4.6.2設(shè)計(jì)Model類型
4.6.3開發(fā)模型查詢方法
4.6.4小結(jié)
4.7自定義查詢語法
4.7.1設(shè)計(jì)自定義查詢語法
4.7.2開發(fā)比較條件語法
4.7.3開發(fā)模糊查詢和 OR 語法
4.7.4優(yōu)化查詢方法
4.7.5便捷查詢方法
4.7.6小結(jié)
4.8增、刪、改的優(yōu)化
4.8.1增、刪、改方法
4.8.2簡化查詢方法
4.8.3簡化修改方法
4.8.4小結(jié)
4.9內(nèi)置分頁
4.9.1頁碼計(jì)算
4.9.2實(shí)現(xiàn)查詢內(nèi)置分頁
4.9.3小結(jié)
4.10數(shù)據(jù)源讀寫分離
4.10.1數(shù)據(jù)源
4.10.2主從數(shù)據(jù)庫架構(gòu)
4.10.3設(shè)計(jì)多數(shù)據(jù)源機(jī)制
4.10.4內(nèi)置多數(shù)據(jù)源實(shí)現(xiàn)
4.10.5測試多數(shù)據(jù)源
4.10.6小結(jié)
第5章常用服務(wù)(198min)
5.1消息隊(duì)列功能
5.1.1RabbitMQ
5.1.2安裝RabbitMQ
5.1.3創(chuàng)建交換機(jī)和隊(duì)列
5.1.4使用amqplib庫
5.1.5監(jiān)聽消息裝飾器
5.1.6注入發(fā)送消息方法
5.1.7小結(jié)
5.2Socket.IO 即時(shí)通信
5.2.1Socket.IO
5.2.2即時(shí)通信
5.2.3使用Socket.IO
5.2.4與Web服務(wù)共用端口
5.2.5開發(fā)Socket.IO裝飾器
5.2.6測試即時(shí)通信功能
5.2.7小結(jié)
5.3Redis 數(shù)據(jù)庫
5.3.1安裝Redis服務(wù)
5.3.2集成Redis 
5.3.3發(fā)布訂閱功能
5.3.4優(yōu)化排行榜邏輯
5.3.5Session支持Redis 存儲
5.3.6小結(jié)
5.4命令行腳手架功能
5.4.1腳手架是什么
5.4.2開發(fā)命令行程序
5.4.3發(fā)布命令
5.4.4小結(jié)
5.5支持Swagger平臺
5.5.1Swagger接口交互平臺
5.5.2外部項(xiàng)目
5.5.3設(shè)計(jì)TypeSpeedSwagger
5.5.4實(shí)現(xiàn)集成Swagger中間件
5.5.5替換裝飾器收集接口信息
5.5.6小結(jié)
5.6自動化文檔
5.6.1JSDoc文檔和工具
5.6.2Reflect Metadata運(yùn)行原理
5.6.3進(jìn)階反射庫
5.6.4實(shí)現(xiàn)中間件配置
5.6.5獲取對象詳細(xì)信息
5.6.6小結(jié)
第6章項(xiàng)目測試與發(fā)布(63min)
6.1開源項(xiàng)目的測試
6.1.1單元測試
6.1.2Mocha測試框架
6.1.3調(diào)整框架配合測試
6.1.4編寫測試集
6.1.5測試結(jié)果
6.1.6小結(jié)
6.2測試覆蓋率
6.2.1測試覆蓋率
6.2.2持續(xù)集成
6.2.3GitHub Action
6.2.4測試覆蓋率報(bào)告
6.2.5小結(jié)
6.3NPM發(fā)布
6.3.1框架目錄結(jié)構(gòu)
6.3.2導(dǎo)出類型定義
6.3.3框架配置
6.3.4發(fā)布項(xiàng)目
 

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.stefanvlieger.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號