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