Python 架構模式:精通基於 Python 的 API 設計、事件驅動架構和套件管理 Python Architecture Patterns: Master API design, event-driven structures, and package management in Python
Jaime Buelta 譯者 盧浩//任鴻//金宏斌//陳新//冷毅
- 出版商: 機械工業
- 出版日期: 2024-01-01
- 定價: $834
- 售價: 7.9 折 $659
- 語言: 簡體中文
- 頁數: 428
- 裝訂: 平裝
- ISBN: 7111742877
- ISBN-13: 9787111742876
-
相關分類:
Design Pattern
- 此書翻譯自: Python Architecture Patterns: Master API design, event-driven structures, and package management in Python
立即出貨
買這商品的人也買了...
-
光纖通信概論 (修訂版)$440$396 -
$403Python 自動化運維實戰 (Hands-On Enterprise Automation with Python: Automate common administrative and security tasks with the most popular language Python) -
TinyML|TensorFlow Lite 機器學習 : 應用 Arduino 與低耗電微控制器 (Tinyml: Machine Learning with Tensorflow Lite on Arduino and Ultra-Low-Power Microcontrollers)$880$695 -
架構模式|使用 Python (Architecture Patterns with Python: Enabling Test-Driven Development, Domain-Driven Design, and Event-Driven Microservices)$680$537 -
Python 與 LINE Bot 機器人全面實戰特訓班 -- Flask 最強應用 (附210分鐘影音教學/範例程式)$550$435 -
用 Python 編程和實踐!數學教科書$539$512 -
$564邊緣計算:原理、技術與實踐 -
寫給新手的深度學習2 — 用 Python 實現的循環神經網絡 RNN 和 VAE、GAN$539$512 -
高速數字接口與光電測試$1,068$1,015 -
$505華為網絡技術系列 SD-WAN 架構與技術, 2/e -
Easy RL 強化學習教程$599$569 -
一本精通 - LINE BOT + Python + Google Dialogflow 完整掌握 LINE BOT 的開發技巧 打造全方位 AI機器人$650$514 -
Python ✕ ChatGPT ✕ Excel 高效率打造辦公室作業 + 數據分析自動化$699$552 -
精通 API 架構|設計、營運和發展基於 API 的系統 (Mastering API Architecture: Design, Operate, and Evolve Api-Based Systems)$680$537 -
AI 助攻 Python 超級入門 創意設計 x AI 程式實作$580$458 -
圖說演算法 -- 使用 Python, 2/e【好評回饋版】$500$350 -
AI PC 基礎 CPU 架構 - Arm Cortex-M4 STM32F407 HAL 開發實戰$1,080$853 -
$305玩轉物聯網 基於樂動掌控 -
Joy RL:強化學習實踐教程$479$455 -
$1,008物聯網的安全與隱私範式(精) -
$324STM32應用技術項目實踐 -
嵌入式系統原理與應用 — 基於 Arm Cortex-M4、STM32Cube 與 FreeRTOS 的開發方法$474$450 -
嵌入式系統原理與應用 ——基於STM32硬件和Proteus仿真$299$284 -
物聯網漏洞挖掘與利用:方法、技巧和案例$594$564 -
$207物聯網系統開發技術
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$576 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
78折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$390 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
本書講解軟件架構系統各方面的內容,從頂層設計到用來支援高層功能的低層細節。
本書首先介紹軟件架構的意義並給出簡單的設計範例,之後分為四個部分涵蓋軟件開發生命週期中的各個階段:
討論構成系統的每個組成單元的一般性原則及其核心內容;重點介紹一些成功的架構模式,包括它們的優點和限制;
闡述如何進行軟件測試以及如何建構和分享程式碼;
講解持續運維,涵蓋日誌、系統度量、效能分析、程式碼調試和架構調整等內容。
本書將幫助你形成架構思維,瞭解軟件開發的想法和專案中要考慮的重點問題。
作者簡介
詹姆·布爾塔(Jaime Buelta)是擁有20多年經驗的傑出程式設計師,其中10餘年全職從事Python開發。在此期間,他接觸了許多不同的技術,幫助航空航太、工業系統、線上電玩服務、金融服務和教育工具等多個行業領域的客戶達成目標。自2018年以來,Jaime一直在撰寫技術書籍,總結職業生涯中的經驗教訓,除本書外,他還著有Python Automation Cookbook和Hands On Docker for Microservices in Python。
目錄大綱
Contents目 錄
譯者序
前言
關於作者
關於審校者
第1章 軟件架構簡介 1
1.1 設計軟件系統的架構 1
1.2 劃分為較小的單元 3
1.3 康威定律:對軟件架構的影響 5
1.4 應用範例:概述 6
1.5 軟件架構安全 8
1.6 小結 9
第一部分 設計
第2章 API設計 13
2.1 抽象 14
2.1.1 使用適當的抽象 15
2.1.2 抽象失效 16
2.1.3 資源與操作抽象 17
2.2 RESTful接口 18
2.2.1 實用性定義 19
2.2.2 HTTP頭部及狀態 21
2.2.3 資源設計 24
2.2.4 資源與參數 25
2.2.5 分頁 26
2.2.6 RESTful API流程設計 27
2.2.7 使用Open API規格 29
2.3 認證 32
2.3.1 HTML接口認證 33
2.3.2 RESTful接口認證 34
2.4 API版本管理 38
2.4.1 為何需要版本管理 38
2.4.2 內部版本與外部版本 38
2.4.3 語意化版本管理 39
2.4.4 簡單的版本管理 40
2.5 前端與後端 41
2.6 HTML接口 43
2.6.1 傳統HTML接口 43
2.6.2 動態頁 44
2.6.3 單頁應用程式 45
2.6.4 混合模式 46
2.7 API設計範例 47
2.7.1 端點 48
2.7.2 設計及實現審查 55
2.8 小結 55
第3章 資料建模 56
3.1 數據庫的類型 56
3.1.1 關聯式數據庫 57
3.1.2 非關聯式數據庫 59
3.1.3 小型數據庫 62
3.2 數據庫事務 63
3.3 分佈式關聯式數據庫 65
3.3.1 主庫/副本 65
3.3.2 分片 67
3.3.3 分片的優點和缺點 71
3.4 數據庫模式設計 72
3.4.1 模式規範化 75
3.4.2 去規範化 77
3.5 資料索引 78
3.6 小結 81
第4章 資料層 82
4.1 模型層 82
4.1.1 DDD 83
4.1.2 使用ORM 84
4.1.3 工作單元模式及資料封裝 90
4.1.4 CQRS使用不同的讀寫
模型 93
4.2 數據庫遷移 96
4.2.1 向後相容性 96
4.2.2 關聯式數據庫遷移 97
4.2.3 非關聯式數據庫遷移 101
4.3 處理遺留數據庫 102
4.3.1 檢測數據庫模式 103
4.3.2 同步現有模式至ORM 104
4.4 小結 105
第二部分 架構模式
第5章 十二要素App方法論 109
5.1 十二要素App簡介 109
5.2 CI 110
5.3 可擴展性 111
5.4 配置 113
5.5 十二要素 115
5.5.1 一次構建,多次運行 115
5.5.2 依賴項與配置 117
5.5.3 可擴展性 120
5.5.4 監控與管理 122
5.6 容器化的十二要素App 125
5.7 小結 126
第6章 Web服務器架構 127
6.1 請求–回應架構 127
6.2 Web架構 129
6.3 Web服務器 130
6.3.1 由外部提供靜態內容 131
6.3.2 反向代理 133
6.3.3 日誌 135
6.3.4 高階用法 136
6.4 uWSGI 136
6.4.1 WSGI應用程式 137
6.4.2 與Web服務器互動 138
6.4.3 進程 139
6.4.4 進程生命週期 140
6.5 Python Worker 143
6.5.1 Django MVT架構 143
6.5.2 將請求路由到視圖 144
6.5.3 視圖 146
6.5.4 中間件 150
6.5.5 Django REST框架 152
6.6 外部層 158
6.7 小結 158
第7章 事件驅動架構 160
7.1 發送事件 160
7.2 異步任務 161
7.3 任務細分 164
7.4 計畫任務 165
7.5 隊列機制 166
7.5.1 統一Worker代碼 169
7.5.2 雲佇列和Worker 169
7.6 Celery 171
7.6.1 配置Celery 172
7.6.2 Celery Worker 172
7.6.3 觸發任務 175
7.6.4 聯調 175
7.6.5 計畫任務 178
7.6.6 Celery Flower 182
7.6.7 Flower的HTTP API 184
7.7 小結 185
第8章 高階事件驅動架構 187
8.1 流式事件 187
8.2 管道 190
8.2.1 準備 191
8.2.2 基礎任務 192
8.2.3 影像任務 193
8.2.4 視訊任務 195
8.2.5 連線任務 196
8.2.6 運行任務 198
8.3 定義總線 200
8.4 更複雜的系統 201
8.5 測試事件驅動系統 204
8.6 小結 205
第9章 微服務與單體 207
9.1 單體架構 207
9.2 微服務架構 208
9.3 架構選擇 209
9.4 關鍵因素:團隊溝通 213
9.5 從單體遷移到微服務 216
9.5.1 遷移面臨的挑戰 216
9.5.2 四步驟遷移 218
9.6 服務容器化 224
9.6.1 建置並運行鏡像 226
9.6.2 建置並執行Web服務 228
9.7 容器編排與Kubernetes 236
9.8 小結 237
第三部分 實現
第10章 測試與TDD 241
10.1 程式碼測試 2
