
掃描右側(cè)圖片或微信搜索 “ Java技術(shù)分享屋 ” ,回復(fù) “ 驗(yàn)證碼 ” ,獲取驗(yàn)證密碼。
本資料僅供讀者預(yù)覽及學(xué)習(xí)交流使用,不能用于商業(yè)用途,請?jiān)谙螺d后24小時(shí)內(nèi)刪除。如果喜歡,請購買正版!
一.資料圖片
二.資料簡介
這本書涵蓋了Web開發(fā)的方方面面,可以分為如下部分:
1. 使用最新的Flask 0.11進(jìn)行Web開發(fā),學(xué)習(xí)Jinja2、Flask-Script、Flask-Migrate、Flask-Security、Flask-Assets等8種常用擴(kuò)展,幫助讀者理解Flask 的 優(yōu)秀設(shè)計(jì)(上下文、BluePrint等),最后利用Mako、Flask_mako、SQLAlchemy、Pillow等技術(shù)實(shí)現(xiàn)一個(gè)豆瓣一個(gè)真實(shí)的服務(wù)。
2. 闡述筆者對REST的理解,并提出一些設(shè)計(jì)API的注意事項(xiàng),最后通過jQuery和fetch實(shí)現(xiàn)使用Ajax的例子,讓讀者了解如何讓前后端通信。
3. 對Python應(yīng)用服務(wù)器,Web服務(wù)器、緩存系統(tǒng)、鍵值對數(shù)據(jù)庫等技術(shù)的選型和使用方法,最后演示大型網(wǎng)站架構(gòu)及其重要組件的用意。
4. 使用Fabric、SaltStack、Ansible、Supervisor、Graphite等做系統(tǒng)管理,并演示一個(gè)通過最新的Sentry 8演示如何收集應(yīng)用錯(cuò)誤信息。
5. 測試和持續(xù)集成,最后使用最新的Buildbot 0.9實(shí)現(xiàn)一個(gè)Github項(xiàng)目的持續(xù)集成。
6. 深入RabbitMQ和Celery的原理和使用方法,最后分享筆者使用的進(jìn)階實(shí)踐。
7. 服務(wù)化及豆瓣服務(wù)化實(shí)踐。
8. 詳細(xì)講解豆瓣工程師都在用的DPark,包含安裝、環(huán)境配置、使用和框架化分析uv&pv,接著將展示幾個(gè)筆者實(shí)際工作中的數(shù)據(jù)報(bào)表需求,并講解如何用Pandas做數(shù)據(jù)可視化。
9. 深入IPython和Jupyter Notebook這兩個(gè)工具,并分享在豆瓣對應(yīng)的實(shí)踐。
10. 從獲取Linux服務(wù)器的相關(guān)情況、性能測試、分析Python程序性能瓶頸三個(gè)方面展示對應(yīng)的工具及使用方法。
11. 以抓取微信公眾號文章為主線,分別使用多線程、多進(jìn)程、Gevent、Future和asyncio這5種編程方式完成不同階段的爬取任務(wù),也深入地分析在它們之間如何選擇。
12. Python進(jìn)階和Web項(xiàng)目經(jīng)驗(yàn)。
封底推薦語
偉明把他個(gè)人多年 Web 開發(fā)的經(jīng)驗(yàn),以及豆瓣十年來數(shù)百名優(yōu)秀工程師在 Web 開發(fā)上最佳實(shí)踐的積累,凝聚在了《Python Web 開發(fā)實(shí)戰(zhàn)》這本書里,多維度、全面地介紹了 Python Web 開發(fā)涉及的各種技術(shù)。我向所有有興趣使用 Python 做 Web 開發(fā)的開發(fā)者們,強(qiáng)烈推薦此書。
——洪強(qiáng)寧,愛因互動(dòng)CTO,前豆瓣首席架構(gòu)師,前宜信大數(shù)據(jù)創(chuàng)新中心首席架構(gòu)師
感謝偉明把豆瓣的一些工程實(shí)踐進(jìn)行了整理和總結(jié),這是本書最寶貴的一點(diǎn),庫誰都會(huì)用,但在什么場景使用,在生產(chǎn)環(huán)境中這個(gè)庫的表現(xiàn)到底如何,是這本書的一個(gè)精華,期望將來還可以看到越來越多這樣的圖書,祝此書大賣。
——清風(fēng),SAY CEO,前豆瓣技術(shù)總監(jiān)。
偉明將自身在 Web 領(lǐng)域所有方面的經(jīng)驗(yàn)提煉后整理成書,本質(zhì)上是將幾十個(gè)關(guān)聯(lián)產(chǎn)品的官方文檔,結(jié)合具體工程經(jīng)驗(yàn)進(jìn)行了梳理,給出了領(lǐng)域問題最佳方案的關(guān)鍵思考點(diǎn)和自己的答案,而更加可貴的是,給出了這些思考點(diǎn)的來源,以及形成過程,即給出了解決各種 Web 領(lǐng)域問題的思維模式。
——Zoom.Quiet(大媽),優(yōu)視眼動(dòng)科技 CTO,Python 中文社區(qū)創(chuàng)始人之一和管理員
閱讀本書,我最大的感受就是:全和新。本書的內(nèi)容涉及了Web框架、Ajax的前后端交互、測試、數(shù)據(jù)庫、數(shù)據(jù)分析、服務(wù)化、部署、系統(tǒng)管理、常用工具等內(nèi)容,有點(diǎn)百科全書的意味。另外,書中講的許多東西都是現(xiàn)在正在流行的技術(shù)或工具,像Flask、Celery、Jupyter、Supervisor、SaltStack、Pandas等。
——李迎輝,Python開源資深行者,Python-CN郵件列表創(chuàng)建人,UliPad和Uliweb作者
本書由Python開發(fā)開始,循序漸進(jìn),把網(wǎng)站工程的全貌展現(xiàn)在讀者的眼前,是了解Web工程從開發(fā)到上線完整流程的絕佳參考書籍。
——邢犇(CNBorn), 前豆瓣東西技術(shù)負(fù)責(zé)人
很多剛進(jìn)入Python世界的人,偉明的這本書提供了一個(gè)非常好的“知識(shí)地圖”,書中涉及了Python Web開發(fā)的方方面面。
——胡陽(the5fire),手機(jī)搜狐網(wǎng),任資深開發(fā)工程師
這本書從開發(fā)環(huán)境的搭建,Web 框架的使用,到最后的持續(xù)集成和 Python 的進(jìn)階用法,無一不是他多年的實(shí)際工程經(jīng)驗(yàn)總結(jié),十分寶貴。
——姚鋼強(qiáng)(acmerfight),知乎工程師
這本書非常全面地介紹了使用 Python 進(jìn)行 Web 開發(fā)的方方面面,既有 Web 框架、緩存、消息隊(duì)列、并發(fā)處理的場景介紹和技術(shù)選型,又有開發(fā)流程、質(zhì)量保證的豐富實(shí)戰(zhàn)經(jīng)驗(yàn)。
——蔡斌(VeryCB),DeepDevelop工程師,前豆瓣條目組技術(shù)負(fù)責(zé)人
整本書都是作者對實(shí)際Web項(xiàng)目中大量實(shí)戰(zhàn)經(jīng)驗(yàn)的總結(jié),絕非紙上談兵。相信通過閱讀該書可以幫助開發(fā)者規(guī)避掉大量項(xiàng)目中的“坑”,構(gòu)建出更高性能、更穩(wěn)定的Web項(xiàng)目。
——Spawnris, 騰訊工程師
三.作者簡介
作者是豆瓣條目組高級產(chǎn)品開發(fā)工程師,主要負(fù)責(zé)豆瓣讀書(對,你沒有看錯(cuò),就是這個(gè)網(wǎng)站)、電影、音樂、東西等產(chǎn)品線。從2011年開始接觸Python, 從運(yùn)維、運(yùn)維開發(fā)到現(xiàn)在的Web開發(fā),積累了豐富的運(yùn)維和開發(fā)經(jīng)驗(yàn),這本書將作者這些年使用Python進(jìn)行Web開發(fā),對各方面知識(shí)的理解和積累的經(jīng)驗(yàn)進(jìn)行梳理和 總結(jié)。
作者個(gè)人博客是http://www.dongwm.com,Github地址為https://github.com/dongweiming
四.資料目錄
第1章 初識(shí)Web開發(fā)
1.1 Web開發(fā)介紹
1.2 Web框架介紹
第2章 環(huán)境搭建
2.1 Ubuntu環(huán)境搭建
2.2 包管理和虛擬環(huán)境
2.3 進(jìn)階篇: pip高級用法
第3章 Flask Web開發(fā)
3.1 Flask入門
3.2 模板
3.3 使用MySQL
3.4 理解Context
3.5 從零開始實(shí)現(xiàn)一個(gè)文件托管服務(wù)
第4章 Flask 開發(fā)進(jìn)階
4.1 Flask的信號機(jī)制
4.2 Flask的擴(kuò)展
4.3 Werkzeug使用
第5章 REST和Ajax
5.1 什么是REST
5.2 RESTful API設(shè)計(jì)指南
5.3 使用Ajax
第6章 網(wǎng)站架構(gòu)
6.1 Python應(yīng)用服務(wù)器
6.2 Web服務(wù)器Nginx
6.3 緩存系統(tǒng)Memcached
6.4 鍵值對數(shù)據(jù)庫Redis
6.5 NoSQL數(shù)據(jù)庫MongoDB
6.6 大型網(wǎng)站架構(gòu)經(jīng)驗(yàn)
第7章 系統(tǒng)管理
7.1 進(jìn)程管理Supervisor
7.2 應(yīng)用部署Fabric
7.3 配置管理SaltStack和Ansible
7.4 使用Psutil
7.5 使用Sentry收集錯(cuò)誤信息
7.6 使用StatsD、Graphite等搭建Web監(jiān)控
第8章 測試和持續(xù)集成
8.1 使用unittest和doctest測試
8.2 使用py.test和mock
8.3 持續(xù)集成
第9章 消息隊(duì)列和Celery
9.1 使用Beanstalkd
9.2 深入RabbitMQ
9.3 使用Celery
9.4 深入Celery
9.5 進(jìn)階篇: Celery最佳實(shí)踐
第10章 服務(wù)化
10.1 為什么需要服務(wù)化
10.2 使用Thrift
10.3 PIDL - 豆瓣服務(wù)化實(shí)踐
第11章 數(shù)據(jù)處理
11.1 使用MapReduce做日志分析
11.2 使用DPark
11.3 數(shù)據(jù)報(bào)表
11.4 使用Pandas
第12章 幫助工具
12.1 IPython
12.2 Jupyter Notebook
12.3 調(diào)試和DEBUG工具
12.4 進(jìn)階篇: 定制基于IPython的交互解釋環(huán)境
12.5 進(jìn)階篇: 豆瓣東西的Jupyter Notebook實(shí)踐
第13章 Python并發(fā)編程
13.1 使用多線程
12.2 使用Gevent
13.3 使用多進(jìn)程
13.4 使用Future
13.5 使用asyncio
第14章 Python進(jìn)階
14.1 使用標(biāo)準(zhǔn)庫模塊
14.2 Python語法最佳實(shí)踐
14.3 從Python 3移植
14.4 使用CFFI/Cython編寫Python擴(kuò)展
14.5 進(jìn)階篇: 使用PyObjC發(fā)送通知
第15章 Web開發(fā)項(xiàng)目實(shí)踐
15.1 Web項(xiàng)目經(jīng)驗(yàn)總結(jié)
15.2 編寫代碼質(zhì)量檢測插件
15.3 代碼評審的意義