華章程序員書庫精通Twisted(Python事件驅(qū)動及異步編程)/華章程序員書庫
-
>
決戰(zhàn)行測5000題(言語理解與表達(dá))
-
>
軟件性能測試.分析與調(diào)優(yōu)實(shí)踐之路
-
>
第一行代碼Android
-
>
深度學(xué)習(xí)
-
>
Unreal Engine 4藍(lán)圖完全學(xué)習(xí)教程
-
>
深入理解計(jì)算機(jī)系統(tǒng)-原書第3版
-
>
Word/Excel PPT 2013辦公應(yīng)用從入門到精通-(附贈1DVD.含語音視頻教學(xué)+辦公模板+PDF電子書)
華章程序員書庫精通Twisted(Python事件驅(qū)動及異步編程)/華章程序員書庫 版權(quán)信息
- ISBN:9787111670353
- 條形碼:9787111670353 ; 978-7-111-67035-3
- 裝幀:一般膠版紙
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>>
華章程序員書庫精通Twisted(Python事件驅(qū)動及異步編程)/華章程序員書庫 本書特色
本書探討基于Python的事件驅(qū)動的網(wǎng)絡(luò)引擎Twisted,并回顧它的幾個流行的應(yīng)用程序項(xiàng)目。由社區(qū)領(lǐng)頭人撰寫,他們?yōu)樗w的許多項(xiàng)目做出了貢獻(xiàn),并在書中分享了他們來之不易的見解和經(jīng)驗(yàn)。
華章程序員書庫精通Twisted(Python事件驅(qū)動及異步編程)/華章程序員書庫 內(nèi)容簡介
本書探討基于Python的事件驅(qū)動的網(wǎng)絡(luò)引擎Twisted,并回顧它的幾個*流行的應(yīng)用程序項(xiàng)目。由社區(qū)領(lǐng)頭人撰寫,他們?yōu)樗w的許多項(xiàng)目做出了貢獻(xiàn),并在書中分享了他們來之不易的見解和經(jīng)驗(yàn)。
華章程序員書庫精通Twisted(Python事件驅(qū)動及異步編程)/華章程序員書庫 目錄
【**部分 基礎(chǔ)】
第1章 基于Twisted的事件驅(qū)動編程2
1.1 一個關(guān)于Python版本的注釋3
1.2 什么是事件驅(qū)動編程3
1.3 多重事件3
1.4 Application (tkinter.Tk()).mainloop()4
1.5 多路復(fù)用和多路分解5
1.6 select多路復(fù)用6
1.6.1 select的歷史、成員及目的6
1.6.2 select和套接字7
1.6.3 套接字事件的“如何”和“為什么”8
1.6.4 處理事件9
1.6.5 一個使用select的事件循環(huán)10
1.6.6 事件驅(qū)動的客戶端和服務(wù)器11
1.7 非阻塞I/O14
1.7.1 知道何時(shí)停止14
1.7.2 跟蹤狀態(tài)14
1.7.3 狀態(tài)讓程序更復(fù)雜18
1.8 通過傳輸和協(xié)議管理復(fù)雜度18
1.9 傳輸:使用協(xié)議19
1.9.1 使用傳輸和協(xié)議打乒乓球20
1.9.2 具有協(xié)議和傳輸?shù)目蛻舳伺c服務(wù)器24
1.9.3 Twisted和反應(yīng)器、協(xié)議以及傳輸25
1.10 事件驅(qū)動編程的價(jià)值25
1.11 Twisted和現(xiàn)實(shí)世界27
1.12 實(shí)時(shí)事件31
1.13 通過zope.interface來實(shí)現(xiàn)的事件接口35
1.14 事件驅(qū)動程序中的流控制37
1.15 Twisted中的流控制以及生產(chǎn)者和消費(fèi)者38
1.15.1 推送生產(chǎn)者38
1.15.2 消費(fèi)者41
1.15.3 拉起生產(chǎn)者43
1.16 小結(jié)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 生成器和內(nèi)聯(lián)回調(diào)61
2.6.1 yield表達(dá)式61
2.6.2 send方法62
2.6.3 throw方法64
2.6.4 使用內(nèi)聯(lián)回調(diào)進(jìn)行異步編程65
2.7 Python中的協(xié)程67
2.7.1 使用yield from的協(xié)程67
2.7.2 協(xié)程的async和await用法68
2.8 等待Deferred73
2.9 通過ensureDeferred使用協(xié)程74
2.10 多路復(fù)用Deferred75
2.11 測試Deferred78
2.12 小結(jié)81
第3章 使用treq和Klein的應(yīng)用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構(gòu)建Klein模板90
3.5 feed聚合初探92
3.6 使用Klein和treq進(jìn)行測試驅(qū)動開發(fā)97
3.6.1 在可安裝項(xiàng)目上運(yùn)行測試98
3.6.2 使用StubTreq測試Klein101
3.6.3 使用Klein測試treq107
3.6.4 使用twisted.logger記錄日志110
3.6.5 使用twist運(yùn)行Twisted應(yīng)用程序115
3.7 小結(jié)118
【第二部分 項(xiàng)目】
第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 注冊服務(wù)器125
4.1.6 鏡像構(gòu)建125
4.1.7 多階段構(gòu)建126
4.2 在Docker中使用Python127
4.2.1 部署選項(xiàng)127
4.2.2 虛擬環(huán)境132
4.2.3 Pex133
4.2.4 構(gòu)建選項(xiàng)134
4.3 在Docker中使用Twisted135
4.3.1 ENTRYPOINT入口點(diǎn)和進(jìn)程ID 1135
4.3.2 自定義插件136
4.3.3 NColony136
4.4 小結(jié)138
第5章 使用Twisted作為WSGI服務(wù)器139
5.1 WSGI介紹139
5.1.1 PEP140
5.1.2 原生案例141
5.1.3 參考實(shí)現(xiàn)142
5.1.4 WebOb示例144
5.1.5 Pyramid示例145
5.2 開始146
5.2.1 WSGI服務(wù)器146
5.2.2 為什么使用Twisted149
5.3 使用多核的策略161
5.3.1 負(fù)載均衡器162
5.3.2 在共享模式下打開套接字163
5.3.3 其他選項(xiàng)165
5.4 動態(tài)配置166
5.4.1 可A/B測試的Pyramid應(yīng)用程序166
5.4.2 使用AMP自定義插件167
5.4.3 控制程序170
5.5 小結(jié)171
第6章 Tahoe-LAFS: 權(quán)限*少的文件系統(tǒng)173
6.1 Tahoe-LAFS是如何工作的173
6.2 系統(tǒng)架構(gòu)176
6.3 Tahoe-LAFS如何使用Twisted178
6.4 曾經(jīng)遇到的問題178
6.5 內(nèi)部文件節(jié)點(diǎn)接口180
6.6 前端協(xié)議組合181
6.7 Web前端181
6.7.1 文件類型、內(nèi)容類型、/name/183
6.7.2 保存至磁盤184
6.7.3 Range標(biāo)頭185
6.7.4 返回端的錯誤轉(zhuǎn)換186
6.7.5 渲染UI元素:Nevow模板187
6.8 FTP前端187
6.9 SFTP前端192
6.10 向后不兼容的Twisted API192
6.11 小結(jié)194
6.12 參考資料195
第7章 Magic Wormhole196
7.1 Magic Wormhole看起來像什么197
7.2 Magic Wormhole是如何工作的198
7.3 網(wǎng)絡(luò)協(xié)議、傳輸延遲、客戶端兼容性199
7.4 服務(wù)器架構(gòu)201
7.5 傳輸客戶端:可取消的Deferred203
7.6 傳輸中繼服務(wù)器205
7.7 Wormhole客戶端架構(gòu)206
7.8 Deferred與狀態(tài)機(jī)的比較207
7.9 一次性觀察者209
7.10 Promise/Future與Deferred的比較210
7.11 *終發(fā)送和同步測試213
7.12 使用Deferred進(jìn)行異步測試214
7.13 使用Defferred進(jìn)行同步測試215
7.14 小結(jié)219
7.15 參考資料219
第8章 使用WebSocket將數(shù)據(jù)推送到瀏覽器和微服務(wù)221
8.1 為什么使用WebSocket221
8.2 WebSocket和Twisted222
8.3 原始WebSocket,從Python到Python223
8.4 原始WebSocket,在Python和JavaScript之間227
8.5 帶有WAMP的更強(qiáng)大的WebSocket229
8.6 小結(jié)235
第9章 使用asyncio和Twisted的應(yīng)用程序237
9.1 核心概念237
9.2 Promise238
9.3 準(zhǔn)則239
9.4 案例研究:具有aiohttp和treq的代理242
9.5 小結(jié)246
第10章 Buildbot和Twisted247
10.1 Buildbot的歷史247
10.1.1 Buildbot異步Python的演變248
10.1.2 遷移同步API250
10.1.3 異步構(gòu)建步驟251
10.2 Buildbot的代碼251
10.2.1 異步實(shí)用程序252
10.2.2 去抖動252
10.2.3 異步服務(wù)252
10.2.4 LRU緩存254
10.2.5 eventual255
10.2.6 與同步代碼結(jié)合255
10.2.7 SQLAlchemy255
10.2.8 request256
10.2.9 Docker258
10.2.10 共享資源的并發(fā)訪問259
10.2.11 測試261
10.2.12 偽造262
10.3 小結(jié)263
第11章 Twisted和HTTP/2264
11.1 介紹264
11.2 設(shè)計(jì)目標(biāo)266
11.2.1 無縫集成266
11.2.2 默認(rèn)情況下*優(yōu)化的行為267
11.2.3 分離問題和代碼重用267
11.3 實(shí)現(xiàn)中的問題268
11.3.1 標(biāo)準(zhǔn)接口的價(jià)值以及什么是連接268
11.3.2 多路復(fù)用和優(yōu)先級270
11.3.3 背壓275
11.3.4 Twisted中的背壓277
11.3.5 HTTP/2中的背壓279
11.4 現(xiàn)狀和未來發(fā)展281
11.5 小結(jié)282
第12章 Twisted和Django Channel283
12.1 介紹283
12.2 Channel構(gòu)建基塊284
12.3 消息代理和隊(duì)列285
12.4 Twisted分布式多層系統(tǒng)286
12.5 現(xiàn)狀和未來發(fā)展287
12.6 小結(jié)288
華章程序員書庫精通Twisted(Python事件驅(qū)動及異步編程)/華章程序員書庫 作者簡介
Mark Williams在工作中使用Twisted,曾在eBay和PayPal負(fù)責(zé)高性能Python Web服務(wù)(日請求量達(dá)10億次以上)、應(yīng)用和信息安全,以及將企業(yè)級的只支持Java的庫移植到Python上。 Cory Benfield是一名Python開源開發(fā)人員,主要活躍在Python HTTP社區(qū)。他是Request和urllib3的核心貢獻(xiàn)者,領(lǐng)導(dǎo)了Hyper—一個用于Python的HTTP和HTTP/2工具的集合項(xiàng)目的維護(hù)工作,還幫助解決了PyOpenSSL上的Python密碼授權(quán)問題。 Brian Warner是一名安全工程師和軟件開發(fā)人員,曾在Mozilla公司從事Firefox Sync、附加SDK和Persona方面的工作。他還是Tahoe-LAFS分布式安全文件系統(tǒng)的聯(lián)合創(chuàng)始人,開發(fā)了安全存儲和通信工具。 Moshe Zadka自1995年以來一直是開源社區(qū)的一員,于1998年完成了他的第一個核心Python貢獻(xiàn),并且是Twisted開源項(xiàng)目的創(chuàng)始成員。他喜歡教授Twisted和Python,在幾次會議上做過專題報(bào)告,還經(jīng)常寫博客。 Dustin Mitchell為Buildbot的研發(fā)做出了貢獻(xiàn),他是Mozilla公司TaskCluster團(tuán)隊(duì)的成員,曾從事過發(fā)布工程、發(fā)布運(yùn)營和基礎(chǔ)設(shè)施團(tuán)隊(duì)方面的工作。 Kevin Samuel從Python 2.4開始就是一名開發(fā)人員和培訓(xùn)師,他將自己的技能應(yīng)用到了東歐、北美、亞洲和西非。他一直與Crossbar.io團(tuán)隊(duì)密切合作,而且是法國Python社區(qū)的活躍成員。 Pierre Tardy是雷諾軟件實(shí)驗(yàn)室的持續(xù)集成專家,目前是Buildbot的首席提交人。
- >
名家?guī)阕x魯迅:朝花夕拾
- >
史學(xué)評論
- >
羅曼·羅蘭讀書隨筆-精裝
- >
經(jīng)典常談
- >
我從未如此眷戀人間
- >
人文閱讀與收藏·良友文學(xué)叢書:一天的工作
- >
大紅狗在馬戲團(tuán)-大紅狗克里弗-助人
- >
唐代進(jìn)士錄