<center id="i1wse"><output id="i1wse"><dd id="i1wse"></dd></output></center>
  • <thead id="i1wse"><sup id="i1wse"></sup></thead>
  • <thead id="i1wse"></thead>
    <ins id="i1wse"><div id="i1wse"></div></ins>
  • 注冊 | 登錄讀書好,好讀書,讀好書!
    讀書網(wǎng)-DuShu.com
    當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡網(wǎng)絡與數(shù)據(jù)通信Python Web開發(fā)實戰(zhàn)

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

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

    定 價:¥105.00

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

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

    內(nèi)容簡介

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

    作者簡介

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

    圖書目錄

    第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
    調(diào)試模式32
    動態(tài)URL 規(guī)則32
    自定義URL 轉(zhuǎn)換器33
    HTTP 方法34
    唯一URL 35
    構造URL 36
    跳轉(zhuǎn)和重定向36
    響應38
    靜態(tài)文件管理40
    即插視圖40
    藍圖43
    子域名43
    命令行接口44
    模板46
    Jinja2 46
    Mako 52
    使用MySQL 60
    安裝MySQL 和驅(qū)動61
    設置應用賬號和權限61
    用MySQLdb 寫原生語句62
    事務提交和回滾63
    ORM 簡介64
    使用SQLAlchemy 65
    使用ORM 67
    數(shù)據(jù)庫關聯(lián)69
    在Flask 中使用SQLAlchemy 71
    記錄慢查詢73
    理解Context 74
    本地線程74
    Werkzeug 的Local 75
    flask.request 76
    使用上下文77
    使用LocalProxy 替代g 80
    從零開始實現(xiàn)一個文件托管服務80
    首頁84
    重新設置圖片頁86
    下載頁87
    預覽頁87
    短鏈接頁88
    第4 章Flask 開發(fā)進階  89
    Flask 的信號機制89
    Blinker 的使用89
    Flask 中內(nèi)置的信號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
    數(shù)據(jù)結構120
    功能函數(shù)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 章網(wǎng)站架構.  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 使用的經(jīng)驗157
    鍵值對數(shù)據(jù)庫Redis 157
    操作Redis 158
    Redis 應用場景159
    分片和集群管理168
    NoSQL 數(shù)據(jù)庫MongoDB 169
    為什么使用NoSQL 169
    MongoDB 169
    使用pymongo 的例子171
    使用Mongoengine 的例子174
    MongoDB 實踐經(jīng)驗176
    大型網(wǎng)站架構經(jīng)驗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
    故障轉(zhuǎn)移262
    使用Celery 262
    Celery 的架構263
    Celery 序列化265
    安裝配置Celery 265
    從一個簡單的例子開始265
    指定隊列268
    使用任務調(diào)度269
    任務綁定、記錄日志和重試270
    在Flask 應用中使用Celery 271
    深入理解Celery 274
    Celery 的依賴274
    任務調(diào)用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
    服務端實現(xiàn)294
    客戶端實現(xiàn)297
    PIDL——豆瓣的服務化實踐301
    PIDL 架構302
    第11 章數(shù)據(jù)處理  305
    使用MapReduce 做日志分析305
    使用MapReduce 305
    使用DPark 309
    分布式文件系統(tǒng)MooseFS 309
    Mesos 310
    配置DPark 環(huán)境311
    從WordCount 開始314
    PV & UV 統(tǒng)計316
    數(shù)據(jù)報表320
    發(fā)送帶有樣式和附件的郵件320
    創(chuàng)建xlsx 文件325
    使用Pandas 328
    Pandas 入門329
    讀取MySQL 數(shù)據(jù)庫332
    和Flask 應用集成332
    第12 章幫助工具.   336
    IPython 336
    IPython 交互模式338
    常用的Magic 函數(shù)338
    配置和自定義IPython 341
    IPython 的擴展系統(tǒng)342
    使用IPython 調(diào)試復雜代碼343
    雙進程模型344
    并行計算345
    Jupyter Notebook 347
    Notebook 格式350
    Notebook 格式轉(zhuǎn)換和預覽351
    為什么使用RequireJS 352
    在Notebook 里使用Echarts 353
    富顯示355
    自定義JavaScript 和CSS 樣式356
    使用nbextension 擴展Notebook 358
    在Notebook 上使用并行計算359
    調(diào)試和Debug 工具360
    了解Linux 服務器運行情況360
    性能測試366
    Python 程序性能分析369
    性能調(diào)優(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 項目經(jīng)驗總結455
    開發(fā)流程455
    使用合理的項目結構456
    關注代碼復雜度457
    代碼質(zhì)量保證工具457
    Pycodestyle 對中文縮進的處理458
    Flake8 459
    Pylint 460
    其他代碼質(zhì)量保證工具461
    使用AST 做靜態(tài)檢查461
    其他靜態(tài)檢查工具467
    編寫Flake8 擴展468
    代碼評審的意義470
    作為被評審者471
    作為評審者472
    評審的標準473

    本目錄推薦

    掃描二維碼
    Copyright ? 讀書網(wǎng) m.talentonion.com 2005-2020, All Rights Reserved.
    鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號