Python Web开发实战

出版日期:2016-9-15
ISBN:9787121297337
作者:董伟明
页数:504页

作者简介

这本书涵盖了Web开发的方方面面,可以分为如下部分:
1. 使用最新的Flask 0.11进行Web开发,学习Jinja2、Flask-Script、Flask-Migrate、Flask-Security、Flask-Assets等8种常用扩展,帮助读者理解Flask 的 优秀设计(上下文、BluePrint等),最后利用Mako、Flask_mako、SQLAlchemy、Pillow等技术实现一个豆瓣一个真实的服务。
2. 阐述笔者对REST的理解,并提出一些设计API的注意事项,最后通过jQuery和fetch实现使用Ajax的例子,让读者了解如何让前后端通信。
3. 对Python应用服务器,Web服务器、缓存系统、键值对数据库等技术的选型和使用方法,最后演示大型网站架构及其重要组件的用意。
4. 使用Fabric、SaltStack、Ansible、Supervisor、Graphite等做系统管理,并演示一个通过最新的Sentry 8演示如何收集应用错误信息。
5. 测试和持续集成,最后使用最新的Buildbot 0.9实现一个Github项目的持续集成。
6. 深入RabbitMQ和Celery的原理和使用方法,最后分享笔者使用的进阶实践。
7. 服务化及豆瓣服务化实践。
8. 详细讲解豆瓣工程师都在用的DPark,包含安装、环境配置、使用和框架化分析uv&pv,接着将展示几个笔者实际工作中的数据报表需求,并讲解如何用Pandas做数据可视化。
9. 深入IPython和Jupyter Notebook这两个工具,并分享在豆瓣对应的实践。
10. 从获取Linux服务器的相关情况、性能测试、分析Python程序性能瓶颈三个方面展示对应的工具及使用方法。
11. 以抓取微信公众号文章为主线,分别使用多线程、多进程、Gevent、Future和asyncio这5种编程方式完成不同阶段的爬取任务,也深入地分析在它们之间如何选择。
12. Python进阶和Web项目经验。
封底推荐语
伟明把他个人多年 Web 开发的经验,以及豆瓣十年来数百名优秀工程师在 Web 开发上最佳实践的积累,凝聚在了《Python Web 开发实战》这本书里,多维度、全面地介绍了 Python Web 开发涉及的各种技术。我向所有有兴趣使用 Python 做 Web 开发的开发者们,强烈推荐此书。
——洪强宁,爱因互动CTO,前豆瓣首席架构师,前宜信大数据创新中心首席架构师
感谢伟明把豆瓣的一些工程实践进行了整理和总结,这是本书最宝贵的一点,库谁都会用,但在什么场景使用,在生产环境中这个库的表现到底如何,是这本书的一个精华,期望将来还可以看到越来越多这样的图书,祝此书大卖。
——清风,SAY CEO,前豆瓣技术总监。
伟明将自身在 Web 领域所有方面的经验提炼后整理成书,本质上是将几十个关联产品的官方文档,结合具体工程经验进行了梳理,给出了领域问题最佳方案的关键思考点和自己的答案,而更加可贵的是,给出了这些思考点的来源,以及形成过程,即给出了解决各种 Web 领域问题的思维模式。
——Zoom.Quiet(大妈),优视眼动科技 CTO,Python 中文社区创始人之一和管理员
阅读本书,我最大的感受就是:全和新。本书的内容涉及了Web框架、Ajax的前后端交互、测试、数据库、数据分析、服务化、部署、系统管理、常用工具等内容,有点百科全书的意味。另外,书中讲的许多东西都是现在正在流行的技术或工具,像Flask、Celery、Jupyter、Supervisor、SaltStack、Pandas等。
——李迎辉,Python开源资深行者,Python-CN邮件列表创建人,UliPad和Uliweb作者
本书由Python开发开始,循序渐进,把网站工程的全貌展现在读者的眼前,是了解Web工程从开发到上线完整流程的绝佳参考书籍。
——邢犇(CNBorn), 前豆瓣东西技术负责人
很多刚进入Python世界的人,伟明的这本书提供了一个非常好的“知识地图”,书中涉及了Python Web开发的方方面面。
——胡阳(the5fire),手机搜狐网,任资深开发工程师
这本书从开发环境的搭建,Web 框架的使用,到最后的持续集成和 Python 的进阶用法,无一不是他多年的实际工程经验总结,十分宝贵。
——姚钢强(acmerfight),知乎工程师
这本书非常全面地介绍了使用 Python 进行 Web 开发的方方面面,既有 Web 框架、缓存、消息队列、并发处理的场景介绍和技术选型,又有开发流程、质量保证的丰富实战经验。
——蔡斌(VeryCB),DeepDevelop工程师,前豆瓣条目组技术负责人
整本书都是作者对实际Web项目中大量实战经验的总结,绝非纸上谈兵。相信通过阅读该书可以帮助开发者规避掉大量项目中的“坑”,构建出更高性能、更稳定的Web项目。
——Spawnris, 腾讯工程师

书籍目录

第1章 初识Web开发
1.1 Web开发介绍
1.2 Web框架介绍
第2章 环境搭建
2.1 Ubuntu环境搭建
2.2 包管理和虚拟环境
2.3 进阶篇: pip高级用法
第3章 Flask Web开发
3.1 Flask入门
3.2 模板
3.3 使用MySQL
3.4 理解Context
3.5 从零开始实现一个文件托管服务
第4章 Flask 开发进阶
4.1 Flask的信号机制
4.2 Flask的扩展
4.3 Werkzeug使用
第5章 REST和Ajax
5.1 什么是REST
5.2 RESTful API设计指南
5.3 使用Ajax
第6章 网站架构
6.1 Python应用服务器
6.2 Web服务器Nginx
6.3 缓存系统Memcached
6.4 键值对数据库Redis
6.5 NoSQL数据库MongoDB
6.6 大型网站架构经验
第7章 系统管理
7.1 进程管理Supervisor
7.2 应用部署Fabric
7.3 配置管理SaltStack和Ansible
7.4 使用Psutil
7.5 使用Sentry收集错误信息
7.6 使用StatsD、Graphite等搭建Web监控
第8章 测试和持续集成
8.1 使用unittest和doctest测试
8.2 使用py.test和mock
8.3 持续集成
第9章 消息队列和Celery
9.1 使用Beanstalkd
9.2 深入RabbitMQ
9.3 使用Celery
9.4 深入Celery
9.5 进阶篇: Celery最佳实践
第10章 服务化
10.1 为什么需要服务化
10.2 使用Thrift
10.3 PIDL - 豆瓣服务化实践
第11章 数据处理
11.1 使用MapReduce做日志分析
11.2 使用DPark
11.3 数据报表
11.4 使用Pandas
第12章 帮助工具
12.1 IPython
12.2 Jupyter Notebook
12.3 调试和DEBUG工具
12.4 进阶篇: 定制基于IPython的交互解释环境
12.5 进阶篇: 豆瓣东西的Jupyter Notebook实践
第13章 Python并发编程
13.1 使用多线程
12.2 使用Gevent
13.3 使用多进程
13.4 使用Future
13.5 使用asyncio
第14章 Python进阶
14.1 使用标准库模块
14.2 Python语法最佳实践
14.3 从Python 3移植
14.4 使用CFFI/Cython编写Python扩展
14.5 进阶篇: 使用PyObjC发送通知
第15章 Web开发项目实践
15.1 Web项目经验总结
15.2 编写代码质量检测插件
15.3 代码评审的意义

内容概要

作者是豆瓣条目组高级产品开发工程师,主要负责豆瓣读书(对,你没有看错,就是这个网站)、电影、音乐、东西等产品线。从2011年开始接触Python, 从运维、运维开发到现在的Web开发,积累了丰富的运维和开发经验,这本书将作者这些年使用Python进行Web开发,对各方面知识的理解和积累的经验进行梳理和 总结。
作者个人博客是http://www.dongwm.com,Github地址为https://github.com/dongweiming


 Python Web开发实战下载 更多精彩书评



发布书评

 
 


精彩书评 (总计4条)

  •     RT
  •     今天去同事那边逛 无意中发现他刚入手了一本 随便翻了翻 感觉整本书 就像作者的笔记一样 笔记零散 这本书主要介绍的web框架 是flask ,但这比flask web开发实战那本书差很多 那本书循序渐进 而这本书有种各种博客堆砌的感觉 唯一的亮点就是印刷还行吧。。。顺便提一下,推荐的序基本都是豆瓣的员工写的 他的同事 你懂得 。。。
  •     书中例子基本都放在 https://github.com/dongweiming/web_develop 下,欢迎clone.感谢多位读者的反馈。 勘误表请移步: https://github.com/dongweiming/web_develop/blob/master/errata.md如果你有任何问题,欢迎到Github去提Issue,也可以到 http://python-cn.org/ 提交和参与讨论。

精彩短评 (总计25条)

  •     写的还算比较全面,但太多用不到的东西,感觉就是把网上的文章汇总整理了一下
  •     第一个标记读过的!
  •     嗯读起来还算不错,适合刚入门想了解多点 Web 相关的 Python 程序员观看。 已经入门的也可以拿来复习一下。
  •     第一时间买来看,一些经验介绍还不错,其它大部分简直官方文档入门部分
  •     不会再买这种通篇代码的书了, 可能是个人之见,但方方面面都点到一点。只是买来作为系统了解 python web 构架的入门书。
  •     把web栈各种工具罗列出来给你,免得搜索不挺好吗,有些人啊就喜欢开上帝视角,减一颗星是因为你丫用的啥破字体啊
  •     2016.58 需要点基础,内容还是不错,就是很多地方太泛泛了,不够深入,当成科普书还不错,python生态介绍
  •     草草翻过一遍,等有机会用到再细读
  •     十分失望;市面上的技术书籍普遍有个毛病:“”1+1=2,剩下的你去看文档吧”,此书也不能免俗
  •     看目录给我感觉什么都覆盖到了 看内容给我感觉什么都没说清楚
  •     解决很多 flask 使用中的疑问,学习了;缺点是知识点比较琐碎,适合当手册遇到问题可以翻一翻
  •     不仅仅是Web开发,实际上是一整个工程实践,能感受到作者将自己所知倾囊传授的迫切心情...苛求深度是没意义的,脉络梳理好了,血肉还是要靠自我奋斗啊
  •     比较泛的一本进阶书,适合想要快速了解Python Web开发全貌的读者
  •     定位是进阶读者,介绍了Python web的生态,有些包介绍得太简单,每个包应用场景都有提及,但又过于分散,如果是围绕着一个项目构建组织全书就更好了。PS:没有高亮代码的实体书看着不舒服,技术书是不是该革新代码显示这部分了。
  •     感觉好熟悉啊,豆瓣最好的就在于大家都想把代码写好,就有了很多可用的利器。团队影响个人,个人又影响团队。(我们也是这样的团队,而且我们没有历史包袱都 Python 3 走起了,招人了!
  •     买书之前对这本书期待挺高的,买完之后,就非常失望,早知道就买个目录,每个库点到为止,最重要的是,我觉得作者应该结合一个具体的小项目来讲解,这个就可以把各个知识点串联起来,不然,太散了。哎,些许失望。
  •     这是一本罗列了Python Web后端程序员所需知识点和工具的书,适合Web后端程序员入门快速了解工业界开发的全貌,见微知著。评论里有很多批评这本书不够深入,可是话说回来,具体深入某一项技术或者工具的要怎么去写呢,这要根据实际的开发需求而来的呀。小明不知道你的需求,他只知豆瓣的需求。
  •     比较泛泛而谈。没有一个贯彻始终的项目,不适合从零开始。但是进阶的话这又太简单了,就是一些常用的库介绍。
  •     awaits
  •     非常*糟糕*的一本书,洋洋洒洒,每一个章节都只是目录标题的一点点展开,把一万种选择摆在你面前,却既不深入介绍自己推荐的,又不深入任何一个。 看了开头的环境搭建我就知道很多新人要放弃了——洋洋洒洒,写Vagrant,写Docker,但是核心只写了”要搭建一个虚拟机”,但是如何搭建?怎么把Vagrant或Docker在VirtualBox上run起来?怎么去写Vagrant的配置文件去映射本地代码到虚拟环境?一句没有。 至于后文,更是散乱不堪,花十几页介绍Flask,介绍模板语言Mako,然后move on……每一种涉及到的技术都仅仅是“提及”的程度,我只能认为这是一部技术“目录”,而非入门书
  •     实用主义
  •     Python Web开发的Roadmap,如果你是新人,那么恭喜你,你会少走很多弯路。如果你是老司机,相信很多地方会有共鸣,会想起曾经折腾的自己:)
  •     相对于国内上的技术书还是不错的
  •     书没有读过,但根据知乎上作者的态度就可以判断出
  •     支持
 

农业基础科学,时尚,美术/书法,绘画,软件工程/开发项目管理,研究生/本专科,爱情/情感,动漫学堂PDF下载,。 PDF下载网 

PDF下载网 @ 2024