具体描述
这本书涵盖了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, 腾讯工程师
作者简介
作者是豆瓣条目组高级产品开发工程师,主要负责豆瓣读书(对,你没有看错,就是这个网站)、电影、音乐、东西等产品线。从2011年开始接触Python, 从运维、运维开发到现在的Web开发,积累了丰富的运维和开发经验,这本书将作者这些年使用Python进行Web开发,对各方面知识的理解和积累的经验进行梳理和 总结。
作者个人博客是http://www.dongwm.com,Github地址为https://github.com/dongweiming
目录信息
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 代码评审的意义
· · · · · · (收起)
读后感
这本书有2个主要问题: 1. 此书涉及内容非常多,比如 a. 并发编程这一章,其实讲的是爬虫 b. 数据处理这一章,要讲MapReduce,分布式文件系统等多个概念 2 每个章节相对独立的,作者所谓侧重点不同,给的范例代码基本独立 这会导致初学者: 1. 不易理解,容易卡壳 2. ...
今天去同事那边逛 无意中发现他刚入手了一本 随便翻了翻 感觉整本书 就像作者的笔记一样 笔记零散 这本书主要介绍的web框架 是flask ,但这比flask web开发实战那本书差很多 那本书循序渐进 而这本书有种各种博客堆砌的感觉 唯一的亮点就是印刷还行吧。。。顺便提一下,推荐的...
今天去同事那边逛 无意中发现他刚入手了一本 随便翻了翻 感觉整本书 就像作者的笔记一样 笔记零散 这本书主要介绍的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/ 提交...
用户评价
这本书的出现,简直就是为我这种渴望在Python Web开发领域“弯道超车”的学习者量身定做的。我一直觉得,学习一门技术,最怕的就是理论一套,实践一套,或者看完一堆官方文档,依然感觉云里雾里。而《Python Web开发实战》这本书,从名字上就传递出一种“动手能力”的信号,让我对接下来的学习充满信心。我尤其期待书中关于“项目实践”的部分。我总是从实际的项目中学习得最快,比如如何从零开始搭建一个电商网站、一个博客系统,或者一个社交媒体平台。我想知道作者是如何将复杂的Web开发概念,分解成一个个可管理的模块,并通过清晰的步骤展示出来。书中可能还会涉及如何处理用户上传的文件、如何实现邮件通知、如何构建搜索引擎等功能。这些都是我之前在开发中遇到的难题,如果书中能够提供有效的解决方案,那将是无价之宝。我也非常关注书中关于“安全”的讨论。Web应用的安全性是至关重要的,我希望书中能够详细讲解如何防止SQL注入、XSS攻击等常见的安全威胁,并给出相应的防御措施。毕竟,一个不安全的Web应用,即使功能再强大,也可能带来灾难性的后果。
作为一名对技术细节有极致追求的学习者,《Python Web开发实战》这本书的内容对我来说具有极大的吸引力。我不仅仅满足于知道“怎么做”,更想知道“为什么这么做”。我非常期待书中能够深入剖析Python Web开发中的一些核心原理,例如WSGI(Web Server Gateway Interface)的运作机制,或者ORM(Object-Relational Mapping)是如何在Python代码和数据库之间建立桥梁的。我希望书中能够提供一些关于异步编程的介绍,例如如何利用asyncio或者aiohttp来构建高性能的非阻塞Web服务。我还对书中关于“微服务架构”的讨论抱有很高的期望。在如今分布式系统盛行的时代,理解如何利用Python构建可独立部署、可扩展的微服务,将极大地提升我的开发视野。此外,书中对于“测试驱动开发(TDD)”或者“行为驱动开发(BDD)”的实践性讲解,也会让我受益匪浅。毕竟,高质量的代码离不开完善的测试。我预感这本书会提供大量的代码片段,并且这些代码都经过了精心的设计和验证,能够直接应用到我的实际项目中,成为我解决问题的宝贵参考。
我一直在寻找一本能够让我从“模仿者”转变为“创造者”的Python Web开发书籍,《Python Web开发实战》似乎正是这样一个契机。我深知,Web开发是一个不断演进的领域,新技术层出不穷,而《Python Web开发实战》这本书,很可能为我提供了扎实的根基,让我能够快速适应和学习新的技术。我尤其关注书中对于“架构设计”的探讨。一个良好的架构能够决定一个Web应用的生命周期和可维护性。我希望书中能够讲解如何根据项目需求选择合适的架构模式,例如MVC(Model-View-Controller)、MVVM(Model-View-ViewModel)或者其他更现代的架构风格。我也会密切关注书中关于“性能优化”和“安全性”的深入分析,例如如何进行代码级别的性能调优,如何利用CDN加速静态资源的访问,以及如何构建一套完善的安全防护体系。我还期待书中能够提供关于“DevOps”的实践经验,例如如何利用CI/CD(持续集成/持续部署)流程来自动化应用的构建、测试和部署,从而提高开发效率和交付质量。如果这本书能够引领我建立起系统性的Web开发思维,那将是我最宝贵的收获。
作为一个对Web开发充满热情,尤其是对Python这门语言情有独钟的开发者,我最近有幸接触到了一本名为《Python Web开发实战》的书籍。尽管我尚未深入阅读完,但从初步的浏览和对章节结构的把握来看,这本书无疑为我打开了一个全新的视角。 首先,我被书中对于Python Web开发生态系统的全面梳理深深吸引。它不仅仅停留在介绍某一个框架,而是将Django、Flask等主流框架的特性、适用场景以及它们之间的联系与区别娓娓道来。我特别欣赏作者对于“为什么选择Python”以及“Python在Web开发中的优势”的独到见解。书中提到,Python的易读性、丰富的库以及活跃的社区,使其成为快速构建健壮Web应用的理想选择。我还注意到,书中似乎在强调“实战”二字,这意味着它不会仅仅停留在理论层面,而是会通过大量的代码示例和项目实践,引导读者一步步构建真实的Web应用。我期待着书中能够深入讲解如何使用Python处理HTTP请求、管理数据库、实现用户认证、以及部署上线等关键环节。对于我而言,能够清晰地理解这些底层原理,并能亲手实践,是提升Web开发技能最有效的方式。书中对API设计、RESTful风格的阐述,以及如何利用Python实现前后端分离的架构,也引起了我极大的兴趣。我希望这本书能够提供清晰的指导,帮助我构建现代化、可扩展的Web服务。
说实话,我在Web开发领域摸爬滚打过一段时间,也接触过一些Python Web开发相关的书籍,但总觉得缺少那么点“灵魂”——要么过于晦涩,要么过于浅显。而《Python Web开发实战》这本书,从我粗略翻阅的几页中,已经让我感受到了它独特的魅力。我特别欣赏作者在讲解复杂概念时所采用的类比和循序渐进的叙述方式。我注意到书中可能在强调“优雅的代码”和“高效的开发流程”。我期待书中能够分享一些Pythonic的编码技巧,以及如何利用一些工具来提高开发效率,比如自动化测试、代码重构等。我希望书中能够深入探讨如何优化Web应用的性能,比如如何利用缓存、如何进行数据库查询优化、如何压缩静态资源等。这些都是在项目后期至关重要的环节,能够有效地提升用户体验和服务器负载能力。另外,书中关于“版本控制”和“部署”的讲解,也让我尤为期待。如何使用Git进行代码管理,以及如何将Python Web应用部署到云服务器上,是每一个Web开发者都必须掌握的技能。《Python Web开发实战》这本书,似乎能为我提供一条清晰的明路。
感觉好熟悉啊,豆瓣最好的就在于大家都想把代码写好,就有了很多可用的利器。团队影响个人,个人又影响团队。(我们也是这样的团队,而且我们没有历史包袱都 Python 3 走起了,招人了!
第一个标记读过的!
相对于国内上的技术书还是不错的
不一定要求内容不能这么写,但是毕竟是书籍,也要有基本的阅读友好度。这个格式真的和我平常的读书笔记整理成册一样,不过我的笔记过段时间就连自己都不会全看得懂了
这本书其实看个目录就可以了,了解下大致豆瓣用的都是什么库,什么技术就好了,里面的内容,杂乱,没有重点,该讲细致的不讲,该介绍的却扯了一大段…看个目录就好。