注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡網絡與數據通信Python Web開發(fā)實戰(zhàn)

Python Web開發(fā)實戰(zhàn)

Python Web開發(fā)實戰(zhàn)

定 價:¥105.00

作 者: 董偉明
出版社: 電子工業(yè)出版社
叢編項:
標 簽: 計算機?網絡 網頁制作

購買這本書可以去


ISBN: 9787121297335 出版時間: 2016-09-01 包裝:
開本: 16開 頁數: 字數:  

內容簡介

  《Python Web開發(fā)實戰(zhàn)》按照一個Web 產品從無到有、從簡單變復雜、從基礎到進階的過程,多角度、全方位講述了Python Web 開發(fā)。內容涉及Web 框架、測試、數據庫、消息隊列、服務化、持續(xù)集成等,把網站工程的全貌展現在讀者的眼前,從其中可以了解Web 工程從開發(fā)到上線的完整流程。另外,作者對當前現在正在流行的技術或工具,如Flask、Celery、Jupyter、Supervisor、SaltStack、Pandas 等都有較為詳細的闡述,可作為技術選型時的參考。對于Web 開發(fā)者、使用Python 語言的運維工程師和運維開發(fā)工程師、想提高Python 技能的開發(fā)者、想了解Python Web 開發(fā)的其他開發(fā)者,《Python Web開發(fā)實戰(zhàn)》都適合閱讀。

作者簡介

  董偉明,豆瓣高級產品開發(fā)工程師,主要負責豆瓣讀書、電影、音樂、東西等產品線。從2011年開始接觸Python, 從運維、運維開發(fā)到現在的Web開發(fā),積累了豐富的運維和開發(fā)經驗,作者積極參與開源項目,給IPython、pip及Python標準庫等貢獻過代碼。這本書將作者這些年使用Python進行Web開發(fā),對各方面知識的理解和積累的經驗進行梳理和總結。

圖書目錄

第1 章初識Python Web 開發(fā)1
Python Web 開發(fā)介紹1
為什么應該選擇Python 作為Web 開發(fā)語言2
選擇Python 2 還是Python 3 2
Web 框架介紹3
主流Web 框架3
小眾的Web 框架5
選擇Web 框架時應遵循的原則5
第2 章Web 開發(fā)前的準備7
搭建一個能運行的虛擬機環(huán)境7
安裝VirtualBox 8
使用Vagrant 安裝8
使用Docker 安裝10
包管理和虛擬環(huán)境13
包管理13
使用pip 替代easy_install 13
distribute、distutils 和setuptools 14
entry_points 15
插件系統(tǒng)16
虛擬環(huán)境17
virtualenv 18
virtualenv 定制化18
virtualenvwrapper 21
virtualenv-burrito 23
autoenv 24
進階篇:pip 高級用法25
命令自動補全25
普通用戶安裝25
編輯模式25
使用devapi 作為緩存代理服務器26
PYPI 的完全鏡像27
第3 章Flask Web 開發(fā) 28
Flask 入門29
安裝Flask 29
從Hello World 開始29
配置管理31
調試模式32
動態(tài)URL 規(guī)則32
自定義URL 轉換器33
HTTP 方法34
唯一URL 35
構造URL 36
跳轉和重定向36
響應38
靜態(tài)文件管理40
即插視圖40
藍圖43
子域名43
命令行接口44
模板46
Jinja2 46
Mako 52
使用MySQL 60
安裝MySQL 和驅動61
設置應用賬號和權限61
用MySQLdb 寫原生語句62
事務提交和回滾63
ORM 簡介64
使用SQLAlchemy 65
使用ORM 67
數據庫關聯69
在Flask 中使用SQLAlchemy 71
記錄慢查詢73
理解Context 74
本地線程74
Werkzeug 的Local 75
flask.request 76
使用上下文77
使用LocalProxy 替代g 80
從零開始實現一個文件托管服務80
首頁84
重新設置圖片頁86
下載頁87
預覽頁87
短鏈接頁88
第4 章Flask 開發(fā)進階  89
Flask 的信號機制89
Blinker 的使用89
Flask 中內置的信號90
自定義信號92
信號訂閱的高級用法92
Flask-Login 中的信號93
Flask 的擴展95
Flask-Script 95
Flask-DebugToolbar 97
Flask-Migrate 98
Flask-WTF 100
Flask-Security 102
Flask-RESTful 109
Flask-Admin 111
Flask-Assets 115
Werkzeug 的使用118
DebuggedApplication 118
數據結構120
功能函數121
密碼加密122
中間件123
第5 章REST 和Ajax  127
什么是REST 127
RESTful API 設計指南128
使用名詞來表示資源128
關注請求頭129
合理使用請求方法和狀態(tài)碼129
正確地使用REST 130
對輸出的結果不再包裝131
不要做出錯誤的提示131
使用嵌套對象序列化131
版本132
URI 失效和遷移132
信息過濾132
速度限制133
緩存133
并發(fā)控制134
使用Ajax 135
第6 章網站架構.  140
Python 應用服務器140
WSGI 協(xié)議141
常見的WSGI 容器141
Web 服務器Nginx 143
Web 服務器與應用服務器的區(qū)別143
為什么要選擇Nginx 143
安裝Nginx 144
使用Nginx 部署Flask 應用144
緩存系統(tǒng)Memcached 149
Libmc 安裝配置150
使用原生SQL 緩存152
緩存更新策略157
Memcached 使用的經驗157
鍵值對數據庫Redis 157
操作Redis 158
Redis 應用場景159
分片和集群管理168
NoSQL 數據庫MongoDB 169
為什么使用NoSQL 169
MongoDB 169
使用pymongo 的例子171
使用Mongoengine 的例子174
MongoDB 實踐經驗176
大型網站架構經驗182
緩存183
負載均衡183
高可用184
業(yè)務拆分184
集群184
第7 章系統(tǒng)管理 186
進程管理Supervisor 186
Supervisor 組件187
配置Supervisor 187
使用Supervisor 190
應用部署Fabric 193
Fabric 應用接口194
使用Fabric 管理Flask 應用197
配置管理工具SaltStack 和Ansible 199
SaltStack 200
Ansible 207
使用Psutil 213
使用Sentry 收集錯誤信息215
安裝配置Sentry 216
啟動Sentry 218
創(chuàng)建團隊和項目218
配置SDK 220
使用StatsD、Graphite 等搭建Web 監(jiān)控223
配置Graphite 225
使用StatsD 226
配置Diamond 227
發(fā)布指標項227
使用Grafana 228
使用Kenshin 232
第8 章測試和持續(xù)集成 233
使用unittest 和doctest 做測試233
unittest 233
doctest 236
使用py.test 和mock 237
py.test 237
mock 241
持續(xù)集成243
使用Tox 集成248
第9 章消息隊列和Celery  250
使用Beanstalkd 251
使用Beanstalkc 252
深入理解RabbitMQ 253
AMQP 254
虛擬主機258
插件系統(tǒng)258
通過Web 和REST API 管理RabbitMQ 259
故障轉移262
使用Celery 262
Celery 的架構263
Celery 序列化265
安裝配置Celery 265
從一個簡單的例子開始265
指定隊列268
使用任務調度269
任務綁定、記錄日志和重試270
在Flask 應用中使用Celery 271
深入理解Celery 274
Celery 的依賴274
任務調用277
信號系統(tǒng)278
Worker 管理279
監(jiān)控和管理Celery 280
子任務281
進階篇:Celery 最佳實踐283
使用自動擴展283
善用遠程Debug 283
合理安排任務周期284
合理使用隊列和優(yōu)先級285
保證業(yè)務邏輯的事務性285
關閉你不想要的功能285
使用閱后即焚模式285
善用Prefetch 模式286
善用工作流286
第10 章服務化  288
為什么需要服務化288
RPC 框架289
服務化帶來的問題290
微服務架構290
使用ri 291
定義IDL 文件292
服務端實現294
客戶端實現297
PIDL——豆瓣的服務化實踐301
PIDL 架構302
第11 章數據處理  305
使用MapReduce 做日志分析305
使用MapReduce 305
使用DPark 309
分布式文件系統(tǒng)MooseFS 309
Mesos 310
配置DPark 環(huán)境311
從WordCount 開始314
PV & UV 統(tǒng)計316
數據報表320
發(fā)送帶有樣式和附件的郵件320
創(chuàng)建xlsx 文件325
使用Pandas 328
Pandas 入門329
讀取MySQL 數據庫332
和Flask 應用集成332
第12 章幫助工具.   336
IPython 336
IPython 交互模式338
常用的Magic 函數338
配置和自定義IPython 341
IPython 的擴展系統(tǒng)342
使用IPython 調試復雜代碼343
雙進程模型344
并行計算345
Jupyter Notebook 347
Notebook 格式350
Notebook 格式轉換和預覽351
為什么使用RequireJS 352
在Notebook 里使用Echarts 353
富顯示355
自定義JavaScript 和CSS 樣式356
使用nbextension 擴展Notebook 358
在Notebook 上使用并行計算359
調試和Debug 工具360
了解Linux 服務器運行情況360
性能測試366
Python 程序性能分析369
性能調優(yōu)實踐373
進階篇:定制基于IPython 的交互解釋環(huán)境374
進階篇:豆瓣東西的Jupyter Notebook 實踐376
第13 章Python 并發(fā)編程383
使用多線程385
使用Gevent 392
使用多進程399
使用Future 406
使用asyncio 408
async/await 409
Future 412
使用aiohttp 414
使用隊列416
第14 章Python 進階 418
使用標準庫模塊418
errno 419
subprocess 420
contextlib 421
glob 424
operator 424
functools 426
collections 428
Python 語法最佳實踐432
命名434
目錄xxix
使用join 連接字符串435
EAFP vs LBYL 435
定義類的__str__/__repr__ 方法436
優(yōu)美的Python 437
從Python 3 移植439
partialmethod 439
singledispatch 440
suppress 442
redirect_stdout/redirect_stderr 443
使用CFFI/Cython 編寫Python 擴展444
使用CFFI 444
使用Cython 447
進階篇:使用PyObjC 發(fā)送通知451
第15 章Web 開發(fā)項目實踐455
Web 項目經驗總結455
開發(fā)流程455
使用合理的項目結構456
關注代碼復雜度457
代碼質量保證工具457
Pycodestyle 對中文縮進的處理458
Flake8 459
Pylint 460
其他代碼質量保證工具461
使用AST 做靜態(tài)檢查461
其他靜態(tài)檢查工具467
編寫Flake8 擴展468
代碼評審的意義470
作為被評審者471
作為評審者472
評審的標準473

本目錄推薦

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