-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
華章程序員書庫精通Twisted(Python事件驅動及異步編程)/華章程序員書庫 版權信息
- ISBN:9787111670353
- 條形碼:9787111670353 ; 978-7-111-67035-3
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
華章程序員書庫精通Twisted(Python事件驅動及異步編程)/華章程序員書庫 本書特色
本書探討基于Python的事件驅動的網絡引擎Twisted,并回顧它的幾個流行的應用程序項目。由社區領頭人撰寫,他們為所涵蓋的許多項目做出了貢獻,并在書中分享了他們來之不易的見解和經驗。
華章程序員書庫精通Twisted(Python事件驅動及異步編程)/華章程序員書庫 內容簡介
本書探討基于Python的事件驅動的網絡引擎Twisted,并回顧它的幾個*流行的應用程序項目。由社區領頭人撰寫,他們為所涵蓋的許多項目做出了貢獻,并在書中分享了他們來之不易的見解和經驗。
華章程序員書庫精通Twisted(Python事件驅動及異步編程)/華章程序員書庫 目錄
【**部分 基礎】
第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和JavaScript之間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
華章程序員書庫精通Twisted(Python事件驅動及異步編程)/華章程序員書庫 作者簡介
Mark Williams在工作中使用Twisted,曾在eBay和PayPal負責高性能Python Web服務(日請求量達10億次以上)、應用和信息安全,以及將企業級的只支持Java的庫移植到Python上。 Cory Benfield是一名Python開源開發人員,主要活躍在Python HTTP社區。他是Request和urllib3的核心貢獻者,領導了Hyper—一個用于Python的HTTP和HTTP/2工具的集合項目的維護工作,還幫助解決了PyOpenSSL上的Python密碼授權問題。 Brian Warner是一名安全工程師和軟件開發人員,曾在Mozilla公司從事Firefox Sync、附加SDK和Persona方面的工作。他還是Tahoe-LAFS分布式安全文件系統的聯合創始人,開發了安全存儲和通信工具。 Moshe Zadka自1995年以來一直是開源社區的一員,于1998年完成了他的第一個核心Python貢獻,并且是Twisted開源項目的創始成員。他喜歡教授Twisted和Python,在幾次會議上做過專題報告,還經常寫博客。 Dustin Mitchell為Buildbot的研發做出了貢獻,他是Mozilla公司TaskCluster團隊的成員,曾從事過發布工程、發布運營和基礎設施團隊方面的工作。 Kevin Samuel從Python 2.4開始就是一名開發人員和培訓師,他將自己的技能應用到了東歐、北美、亞洲和西非。他一直與Crossbar.io團隊密切合作,而且是法國Python社區的活躍成員。 Pierre Tardy是雷諾軟件實驗室的持續集成專家,目前是Buildbot的首席提交人。
- >
新文學天穹兩巨星--魯迅與胡適/紅燭學術叢書(紅燭學術叢書)
- >
企鵝口袋書系列·偉大的思想20:論自然選擇(英漢雙語)
- >
史學評論
- >
經典常談
- >
巴金-再思錄
- >
伯納黛特,你要去哪(2021新版)
- >
二體千字文
- >
山海經