Python Web开发实战
¥
5.8
0.6折
¥
105
八五品
仅1件
作者董伟明
出版社电子工业出版社
ISBN9787121297335
出版时间2016-09
装帧其他
开本16开
定价105元
货号9787121297335
上书时间2024-12-22
商品详情
- 品相描述:八五品
- 商品描述
-
作者简介
董伟明,豆瓣不错产品开发工程师,主要负责豆瓣读书、电影、音乐、东西等产品线。从2011年开始接触Python, 从运维、运维开发到现在的Web开发,积累了丰富的运维和开发经验,作者积极参与开源项目,给IPython、pip及Python标准库等贡献过代码。这本书将作者这些年使用Python进行Web开发,对各方面知识的理解和积累的经验进行梳理和总结。
目录
第1章 初识Python Web 开发
Python Web 开发介绍
为什么应该选择Python 作为Web 开发语言
选择Python
还是Python
Web 框架介绍
主流Web 框架
小众的Web 框架
选择Web 框架时应遵循的原则
第2章 Web 开发前的准备
搭建一个能运行的虚拟机环境
安装VirtualBox
使用Vagrant 安装
使用Docker 安装
包管理和虚拟环境
包管理
使用pip 替代easy_install
distribute、distutils 和setuptools
entry_points
插件系统
虚拟环境
virtualenv
virtualenv 定制化
virtualenvwrapper
virtualenv-burrito
autoenv
进阶篇:pip 高级用法
命令自动补全
普通用户安装
编辑模式
使用devapi 作为缓存代理服务器
PYPI 的完全镜像
第3章 Flask Web 开发
Flask 入门
安装Flask
从Hello World 开始
配置管理
调试模式
动态URL 规则
自定义URL 转换器
HTTP 方法
唯一URL
构造URL
跳转和重定向
响应
静态文件管理
即插视图
蓝图
子域名
命令行接口
模板
Jinja2
Mako
使用MySQL
安装MySQL 和驱动
设置应用账号和权限
用MySQLdb 写原生语句
事务提交和回滚
ORM 简介
使用SQLAlchemy
使用ORM
数据库关联
在Flask 中使用SQLAlchemy
记录慢查询
理解Context
本地线程
Werkzeug 的Local
flaskrequest
使用上下文
使用LocalProxy 替代g
从零开始实现一个文件托管服务
首页
重新设置图片页
下载页
预览页
短链接页
第4章 Flask 开发进阶
Flask 的信号机制
Blinker 的使用
Flask 中内置的信号
自定义信号
信号订阅的高级用法
Flask-Login 中的信号
Flask 的扩展
Flask-Script
Flask-DebugToolbar
Flask-Migrate
Flask-WTF
Flask-Security
Flask-RESTful
Flask-Admin
Flask-Assets
Werkzeug 的使用
DebuggedApplication
数据结构
功能函数
密码加密
中间件
第5章 REST 和Ajax
什么是REST
RESTful API 设计指南
使用名词来表示资源
关注请求头
合理使用请求方法和状态码
正确地使用REST
对输出的结果不再包装
不要做出错误的提示
使用嵌套对象序列化
版本
URI 失效和迁移
信息过滤
速度限制
缓存
并发控制
使用Ajax
第6章 网站架构
Python 应用服务器
WSGI 协议
常见的WSGI 容器
Web 服务器Nginx
Web 服务器与应用服务器的区别
为什么要选择Nginx
安装Nginx
使用Nginx 部署Flask 应用
缓存系统Memcached
Libmc 安装配置
使用原生SQL 缓存
缓存更新策略
Memcached 使用的经验
键值对数据库Redis
操作Redis
Redis 应用场景
分片和集群管理
NoSQL 数据库MongoDB
为什么使用NoSQL
MongoDB
使用pymongo 的例子
使用Mongoengine 的例子
MongoDB 实践经验
大型网站架构经验
缓存
负载均衡
高可用
业务拆分
集群
第7章 系统管理
进程管理Supervisor
Supervisor 组件
配置Supervisor
使用Supervisor
应用部署Fabric
Fabric 应用接口
使用Fabric 管理Flask 应用
配置管理工具SaltStack 和Ansible
SaltStack
Ansible
使用Psutil
使用Sentry 收集错误信息
安装配置Sentry
启动Sentry
创建团队和项目
配置SDK
使用StatsD、Graphite 等搭建Web 监控
配置Graphite
使用StatsD
配置Diamond
发布指标项
使用Grafana
使用Kenshin
第8章 测试和持续集成
使用unittest 和doctest 做测试
unittest
doctest
使用pytest 和mock
pytest
mock
持续集成
使用Tox 集成
第9章 消息队列和Celery
使用Beanstalkd
使用Beanstalkc
深入理解RabbitMQ
AMQP
虚拟主机
插件系统
通过Web 和REST API 管理RabbitMQ
故障转移
使用Celery
Celery 的架构
Celery 序列化
安装配置Celery
从一个简单的例子开始
指定队列
使用任务调度
任务绑定、记录日志和重试
在Flask 应用中使用Celery
深入理解Celery
Celery 的依赖
任务调用
信号系统
Worker 管理
监控和管理Celery
子任务
进阶篇:Celery 最佳实践
使用自动扩展
善用远程Debug
合理安排任务周期
合理使用队列和优先级
保证业务逻辑的事务性
关闭你不想要的功能
使用阅后即焚模式
善用Prefetch 模式
善用工作流
第10章 服务化
为什么需要服务化
RPC 框架
服务化带来的问题
微服务架构
使用ri
定义IDL 文件
服务端实现
客户端实现
PIDL——豆瓣的服务化实践
PIDL 架构
第11章 数据处理
使用MapReduce 做日志分析
使用MapReduce
使用DPark
分布式文件系统MooseFS
Mesos
配置DPark 环境
从WordCount 开始
PV & UV 统计
数据报表
发送带有样式和附件的邮件
创建xlsx 文件
使用Pandas
Pandas 入门
读取MySQL 数据库
和Flask 应用集成
第12章 帮助工具
IPython
IPython 交互模式
常用的Magic 函数
配置和自定义IPython
IPython 的扩展系统
使用IPython 调试复杂代码
双进程模型
并行计算
Jupyter Notebook
Notebook 格式
Notebook 格式转换和预览
为什么使用RequireJS
在Notebook 里使用Echarts
富显示
自定义JavaScript 和CSS 样式
使用nbextension 扩展Notebook
在Notebook 上使用并行计算
调试和Debug 工具
了解Linux 服务器运行情况
性能测试
Python 程序性能分析
性能调优实践
进阶篇:定制基于IPython 的交互解释环境
进阶篇:豆瓣东西的Jupyter Notebook 实践
第13章 Python 并发编程
使用多线程
使用Gevent
使用多进程
使用Future
使用asyncio
async/await
Future
使用aiohttp
使用队列
第14章 Python 进阶
使用标准库模块
errno
subprocess
contextlib
glob
operator
functools
collections
Python 语法最佳实践
命名
使用join 连接字符串
EAFP vs LBYL
定义类的__str__/__repr__ 方法
优美的Python
从Python 3 移植
partialmethod
singledispatch
suppress
redirect_stdout/redirect_stderr
使用CFFI/Cython 编写Python 扩展
使用CFFI
使用Cython
进阶篇:使用PyObjC 发送通知
第15章 Web 开发项目实践
Web 项目经验总结
开发流程
使用合理的项目结构
关注代码复杂度
代码质量保证工具
Pycodestyle 对中文缩进的处理
Flake8
Pylint
其他代码质量保证工具
使用AST 做静态检查
其他静态检查工具
编写Flake8 扩展
代码评审的意义
作为被评审者
作为评审者
评审的标准
内容摘要
董伟明著的《PythonWeb开发实战》按照一个Web产品从无到有、从简单变复杂、从基础到进阶的过程,多角度、全方位讲述了PythonWeb开发。内容涉及Web框架、测试、数据库、消息队列、服务化、
持续集成等,把网站工程的全貌展现在读者的眼前,从其中可以了解Web工程从开发到上线的完整流程。
另外,作者对当前现在正在流行的技术或工具,如
Flask、Celery、Jupyter、Supervisor、
SaltStack、Pandas等都有较为详细的阐述,可作为技术选型时的参考。
对于Web开发者、使用Python语言的运维工程师和运维开发工程师、想提高Python技能的开发者、想了解PythonWeb开发的其他开发者,本书都适合阅读。
— 没有更多了 —
以下为对购买帮助不大的评价