精通 twisted:python 事件驅動及異步編程 Expert Twisted: Event-Driven and Asynchronous Programming with Python
Mark Williams,Cory Benfield,Brian Warner,Moshe Zadka,Dustin Mitchell,Kevin Samu 黃凱 譚夢迪 華龍宇 劉月 張小坤譯
- 出版商: 機械工業
- 出版日期: 2020-12-16
- 定價: $594
- 售價: 7.9 折 $469
- 語言: 簡體中文
- 頁數: 298
- 裝訂: 平裝
- ISBN: 7111670353
- ISBN-13: 9787111670353
-
相關分類:
Python、Python
- 此書翻譯自: Expert Twisted: Event-Driven and Asynchronous Programming with Python
立即出貨 (庫存 < 3)
買這商品的人也買了...
-
Python 非同步設計|使用 Asyncio (Using Asyncio in Python )$480$379 -
React 學習手冊, 2/e (Learning React: Modern Patterns for Developing React Apps, 2/e)$580$458 -
JavaScript 設計模式學習手冊, 2/e (Learning JavaScript Design Patterns: A JavaScript and React Developer's Guide, 2/e)$580$458 -
營養師不開菜單後的 Next.js 全端轉職攻略:從專案規劃、畫面設計、資安到 SEO,挑戰一人 Side Project (iThome鐵人賽系列書)$680$449 -
這樣寫 code 好不好?辨識、分析、改善,寫出易讀易維護的程式碼$630$536 -
流暢的 React : 建構快速、高效、直覺的 Web 應用程式 (Fluent React: Build Fast, Performant, and Intuitive Web Applications)$780$616 -
先整理一下?|個人層面的軟體設計考量 (Tidy First?: A Personal Exercise in Empirical Software Design)$480$379
中文年末書展|繁簡參展書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 -
85折
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$544 -
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
相關主題
商品描述
本書探討基於Python的事件驅動的網絡引擎Twisted,並回顧它的幾個的應用程序項目。
由社區領頭人撰寫,他們為所涵蓋的許多項目做出了貢獻,並在書中分享了他們來之不易的見解和經驗。
目錄大綱
前言
關於作者
關於技術評審員
致謝
部分基礎
第1章基於Twisted的事件驅動編程2
1.1一個關於Python版本的註釋3
1.2什麼是事件驅動編程3
1.3多重事件3
1.4 Application (tkinter.Tk()).mainloop ()4
1.5多路復用和多路分解5
1.6 select多路復用6
1.6.1 select的歷史、成員及目的6
1.6.2 select和套接字7
1.6.3套接字事件的“如何”和“為什麼”8
1.6.4處理事件9
1.6.5一個使用select的事件循環10
1.6.6事件驅動的客戶端和服務器11
1.7非阻塞I/O14
1.7.1知道何時停止14
1.7.2跟蹤狀態14
1.7.3狀態讓程序更複雜18
1.8通過傳輸和協議管理複雜度18
1.9傳輸:使用協議19
1.9.1使用傳輸和協議打乒乓球20
1.9.2具有協議和傳輸的客戶端與服務器24
1.9.3 Twisted和反應器、協議以及傳輸25
1.10事件驅動編程的價值25
1.11 Twisted和現實世界27
1.12實時事件31
1.13通過zope.interface來實現的事件接口35
1.14事件驅動程序中的流控制37
1.15 Twisted中的流控制以及生產者和消費者38
1.15.1推送生產者38
1.15.2消費者41
1.15.3拉起生產者43
1.16小結43
第2章Twisted異步編程介紹45
2.1事件處理程序和組合45
2.2什麼是異步編程48
2.3未來值的佔位符48
2.4異步式異常處理50
2.5 Twisted中的Deferred介紹54
2.5.1 callback54
2.5.2 errback和Failure55
2.5.3組合Deferred58
2.6生成器和內聯回調61
2.6.1 yield表達式61
2.6.2 send方法62
2.6.3 throw方法64
2.6.4使用內聯回調進行異步編程65
2.7 Python中的協程67
2.7.1使用yield from的協程67
2.7.2協程的async和await用法68
2.8等待Deferred73
2.9通過ensureDeferred使用協程74
2.10多路復用Deferred75
2.11測試Deferred78
2.12小結81
第3章使用treq和Klein的應用83
3.1為何使用庫83
3.2 feed聚合84
3.3 treq介紹85
3.4 Klein介紹87
3.4.1 Klein和Deferred89
3.4.2使用Plating構建Klein模板90
3.5 feed聚合初探92
3.6使用Klein和treq進行測試驅動開發97
3.6.1在可安裝項目上運行測試98
3.6.2使用StubTreq測試Klein101
3.6.3使用Klein測試treq107
3.6.4使用twisted.logger記錄日誌110
3.6.5使用twist運行Twisted應用程序115
3.7小結118
第二部分項目
第4章在Docker中使用Twisted122
4.1 Docker介紹122
4.1.1容器123
4.1.2容器鏡像123
4.1.3 runc和containerd124
4.1.4客戶端124
4.1.5註冊服務器125
4.1.6鏡像構建125
4.1.7多階段構建126
4.2在Docker中使用Python127
4.2.1部署選項127
4.2.2虛擬環境132
4.2.3 Pex133
4.2.4構建選項134
4.3在Docker中使用Twisted135
4.3.1 ENTRYPOINT入口點和進程ID 1135
4.3.2自定義插件136
4.3.3 NColony136
4.4小結138
第5章使用Twisted作為WSGI服務器139
5.1 WSGI介紹139
5.1.1 PEP140
5.1.2原生案例141
5.1.3參考實現142
5.1.4 WebOb示例144
5.1.5 Pyramid示例145
5.2開始146
5.2.1 WSGI服務器146
5.2.2為什麼使用Twisted149
5.3使用多核的策略161
5.3.1負載均衡器162
5.3.2在共享模式下打開套接字163
5.3.3其他選項165
5.4動態配置166
5.4.1可A/B測試的Pyramid應用程序166
5.4.2使用AMP自定義插件167
5.4.3控製程序170
5.5小結171
第6章Tahoe-LAFS:權限少的文件173
6.1 Tahoe-LAFS是如何工作的173
6.2架構176
6.3 Tahoe-LAFS如何使用Twisted178
6.4曾經遇到的問題178
6.5內部文件節點接口180
6.6前端協議組合181
6.7 Web前端181
6.7.1文件類型、內容類型、/name/183
6.7.2保存至磁盤184
6.7.3 Range標頭185
6.7. 4返回端的轉換186
6.7.5渲染UI元素:Nevow模板187
6.8 FTP前端187
6.9 SFTP前端192
6.10向後不兼容的Twisted API192
6.11小結194
6.12參考資料195
第7章Magic Wormhole196
7.1 Magic Wormhole看起來像什麼197
7.2 Magic Wormhole是如何工作的198
7.3網絡協議、傳輸、客戶端兼容性199
7.4服務器架構201
7.5傳輸客戶端:可取消的Deferred203
7.6傳輸中繼服務器205
7.7 Wormhole客戶端架構206
7.8 Deferred與狀態機的比較207
7.9一次性觀察者209
7.10 Promise/Future與Deferred的比較210
7.11終發送和同步測試213
7.12使用Deferred進行異步測試214
7.13使用Defferred進行同步測試215
7.14小結219
7.15參考資料219
第8章使用WebSocket將數據推送到瀏覽器和微服務221
8.1為什麼使用WebSocket221
8.2 WebSocket和Twisted222
8.3原始WebSocket,從Python到Python223
8.4原始WebSocket,在Python和之間227
8.5帶有WAMP的更強大的WebSocket229
8.6小結235
第9章使用asyncio和Twisted的應用程序237
9.1核心概念237
9.2 Promise238
9.3準則239
9.4案例研究:具有aiohttp和treq的代理242
9.5小結246
第10章Buildbot和Twisted247
10.1 Buildbot的歷史247
10.1.1 Buildbot異步Python的演變248
10.1.2遷移同步API250
10.1.3異步構建步驟251
10.2 Buildbot的代碼251
10.2.1異步實用程序252
10.2.2去抖動252
10.2.3異步服務252
10.2.4 LRU緩存254
10.2.5 eventual255
10.2.6與同步代碼結合255
10.2.7 SQLAlchemy255
10.2.8 request256
10.2.9 Docker258
10.2.10共享資源的並發訪問259
10.2.11測試261
10.2.12偽造262
10.3小結263
第11章Twisted和HTTP/2264
11.1介紹264
11.2設計目標266
11.2.1無縫集成266
11.2.2默認情況下化的行為267
11.2.3分離問題和代碼重用267
11.3實現中的問題268
11.3.1標準接口的價值以及什麼是連接268
11.3.2多路復用和優先級270
11.3.3背壓275
11.3.4 Twisted中的背壓277
11.3.5 HTTP/2中的背壓279
11.4現狀和未來發展281
11.5小結282
第12章Twisted和Django Channel283
12.1介紹283
12.2 Channel構建基塊284
12.3消息代理和隊列285
12.4 Twisted分佈式多層286
12.5現狀和未來發展287
12.6小結288
