标签
内容简介
《Python Web开发实战》是豆瓣高级产品开发工程师董伟明撰写的一本面向工程实践的技术书。全书不以单一框架的语法手册为目的,而是按照一个 Web 产品「从无到有、从简单变复杂、从基础到进阶」的生命周期来组织内容,把网站工程从开发到上线的完整链路呈现给读者。 内容从选型谈起:为什么用 Python 做 Web 开发、Python 2 与 Python 3 的历史选择、主流与小众 Web 框架的对比及选型原则。随后进入开发环境准备,介绍 VirtualBox、Vagrant、Docker 搭环境,pip 与 virtualenv 系列的包管理和虚拟环境实践。主体部分以 Flask 为主线,从路由、模板、蓝图、即插视图讲到 MySQL、SQLAlchemy ORM、上下文与 LocalProxy,再延伸到 Flask 的信号机制、Flask-Script、Flask-Migrate、Flask-WTF、Flask-Security、Flask-RESTful、Flask-Admin 等扩展生态。 工程化与生产侧的内容是本书的重点:RESTful API 设计指南与 Ajax;WSGI 协议、Nginx 部署、Memcached、Redis、MongoDB 与大型网站架构经验;Supervisor、Fabric、SaltStack、Ansible、Sentry 与 StatsD/Graphite/Grafana 监控体系;unittest、doctest、py.test、mock 与持续集成;Beanstalkd、RabbitMQ、Celery 消息队列与异步任务;Thrift 与豆瓣 PIDL 的服务化实践;用 DPark 做日志 MapReduce、Pandas 做数据报表;以及 IPython、Jupyter Notebook、并发编程、Python 进阶语法与代码质量工具链。 书中的例子多处来源于豆瓣真实产品线的实践,适合把零散的 Python 知识串联成一条完整的 Web 工程能力线。
编辑推荐
很多 Python Web 书停在「会用框架写个博客」,这本书问的是另一个问题:一个网站真正上线,需要多少人、多少工具、多少条暗线?作者董伟明在豆瓣负责读书、电影、音乐等产品线,把豆瓣十年里数百名工程师踩过的坑,拎成了十五个章节。 它的稀缺之处在于「全流程」:环境与依赖管理、Flask 主体与扩展生态、REST 设计、Nginx + WSGI 部署、缓存与 NoSQL、进程管理与配置管理、错误收集与监控、测试与持续集成、消息队列与 Celery、服务化、数据处理。这条线走完,读者拿到的不只是 API 手册,而是一张关于「Web 工程长什么样」的地图。 书里不少内容是别处少见的:豆瓣开源的 Libmc 与缓存更新策略、豆瓣 PIDL 服务化实践、用 DPark 做日志 PV/UV 分析、Libmc 与 Flask 的搭配、Kenshin 监控、Flake8 扩展开发等,都带着鲜明的一线气味。也正因如此,它天然适合作为「读完入门书之后怎么办」的那块跳板——先有一门语言的手感,再来这里看工程怎么落地。 需要提醒的是,本书 2016 年出版,示例基于 Python 2/3 共存时代的工具链,pip、virtualenv、Flask 生态、Celery、py.test 等都已迭代多年。把它当架构教科书和选型地图读,价值依旧;把命令逐条照抄,则要配合官方文档做版本替换。
适合谁读
适合
- 已掌握 Python 基础语法、想系统了解 Web 工程全貌的开发者
- 用 Flask 做过小项目,想补齐部署、监控、测试链路的后端工程师
- 以 Python 为工作语言的运维工程师与运维开发工程师
- 希望了解豆瓣等大型站点架构与选型思路的技术人员
- 需要一份 Web 项目技术选型参考清单的技术负责人
不适合
- 完全没有编程基础的零起点读者,书里默认已有 Python 手感
- 只想学 Django 官方教程式写法的纯入门者
- 寻求 2016 年后新版本框架实操(如 Flask 2.x/3.x)的读者
- 只想找前端或 UI 设计内容的设计师
阅读建议
- 先读第1、2章与第15章,建立「选型—环境—项目结构」的整体框架,再回填中间章节。
- 第3、4章务必对照代码敲一遍,但把 pip、virtualenv 等命令替换为当前官方推荐写法。
- 第6至11章可当作技术选型地图按需查阅,遇到监控、服务化等概念先建立轮廓,用时再深入。
- 把书中示例当作工程思路而非可运行代码,配合 GitHub 上的勘误与示例仓库、以及各工具官方文档一起读。
出版社简介
电子工业出版社
中国 · 成立于 1982 年
电子工业出版社是一家以电子信息及相关领域为出版特色的综合性出版社。从库内三千余种图书来看,其出版方向覆盖编程设计、人工智能、计算机综合、财经、摄影与社科等门类,既关注技术前沿,也兼顾大众阅读。代表图书包括《因子投资:方法与实践》《x86汇编语言:从实模式到保护模式》《RISC-V开放架构设计之道》《人工智能:语音识别理解与实践》《相控阵雷达技术》《雷达目标特性》及《100个Go语言典型错误》等,多围绕技术方法与工程实践展开。作者资源方面,有石川、李忠、王晓波、大卫·帕特森、安德鲁·沃特曼、余子濠等中外作者。受公开资料所限,暂不展开更多出版特色。
目录
- 第1章 初识Python Web开发
- 第2章 Web开发前的准备
- 第3章 Flask Web开发
- 第4章 Flask开发进阶
- 第5章 REST和Ajax
- 第6章 网站架构
- 第7章 系统管理
- 第8章 测试和持续集成
- 第9章 消息队列和Celery
- 第10章 服务化
- 第11章 数据处理
- 第12章 帮助工具
- 第13章 Python并发编程
- 第14章 Python进阶
- 第15章 Web开发项目实践
常见问题
这本书适合零基础学 Python 的人读吗?
不太适合。书中默认读者已有 Python 语法基础,并直接进入 Flask、ORM、消息队列、部署等话题,没有语言入门铺垫。零基础读者建议先完成一本 Python 入门书并动手写过小脚本,再回来读这本。
这本书主要讲 Django 还是 Flask?
主讲 Flask。第3、4章系统覆盖 Flask 的路由、模板、蓝图、上下文以及 Flask-Script、Flask-Migrate、Flask-Security、Flask-RESTful 等扩展;Django 只在第1章框架选型对比中简要提及。
2016 年出版,现在读会不会过时?
部分内容会过时。书中大量命令基于当年的 Python 2/3 共存工具链,pip、virtualenv、Flask、Celery、py.test 等都已有较大变化。但 Nginx 部署、缓存策略、监控体系、服务化架构、代码质量的思路仍有参考价值,建议当作架构地图读,具体操作对照最新官方文档。
作者的实战背景是什么?
董伟明曾任豆瓣高级产品开发工程师,负责豆瓣读书、电影、音乐、东西等产品线,从 2011 年起接触 Python,经历运维、运维开发到 Web 开发,并给 IPython、pip 及 Python 标准库贡献过代码,书中不少案例来自豆瓣的真实实践。
书中内容有配套资源和勘误吗?
据出版方与公开资料,本书配有勘误表和示例代码,可获取于 GitHub(作者账号 dongweiming)。由于年代较久,示例代码运行前需按当前依赖版本做调整,建议以官方文档为准。
读者评论
查询本书
本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。