图书 | Python Web开发实战 |
内容 | 内容推荐 本书按照一个Web 产品从无到有、从简单变复杂、从基础到进阶的过程,多角度、多方面讲述了Python Web开发。内容涉及Web框架、测试、数据库、消息队列、服务化、持续集成等,把网站工程的全貌展现在读者的眼前,从其中可以了解Web工程从开发到上线的完整流程。另外,作者对当前现在正在流行的技术或工具,如Flask、Celery、Jupyter、Supervisor、SaltStack、Pandas等都有较为详细的阐述,可作为技术选型时的参考。对于Web 开发者、使用Python 语言的运维工程师和运维开发工程师、想提高Python 技能的开发者、想了解Python Web 开发的其他开发者,本书都适合阅读。 目录 第1章初识Python Web 开发1 Python Web 开发介绍1 为什么应该选择Python 作为Web 开发语言2 选择Python 2 还是Python 3 2 Web 框架介绍3 主流Web 框架3 小众的Web 框架5 选择Web 框架时应遵循的原则5 第2章Web 开发前的准备7 搭建一个能运行的虚拟机环境7 安装VirtualBox 8 使用Vagrant 安装8 使用Docker 安装10 包管理和虚拟环境13 包管理13 使用pip 替代easy_install 13 distribute、distutils 和setuptools 14 entry_points 15 插件系统16 虚拟环境17 virtualenv 18 virtualenv 定制化18 virtualenvwrapper 21 virtualenv-burrito 23 autoenv 24 进阶篇:pip 高级用法25 命令自动补全25 普通用户安装25 编辑模式25 使用devapi 作为缓存代理服务器26 PYPI 的接近镜像27 第3章Flask Web 开发 28 Flask 入门29 安装Flask 29 从Hello World 开始29 配置管理31 调试模式32 动态URL 规则32 自定义URL 转换器33 HTTP 方法34 专享URL 35 构造URL 36 跳转和重定向36 响应38 静态文件管理40 即插视图40 蓝图43 子域名43 命令行接口44 模板46 Jinja2 46 Mako 52 使用MySQL 60 安装MySQL 和驱动61 设置应用账号和权限61 用MySQLdb 写原生语句62 事务提交和回滚63 ORM 简介64 使用SQLAlchemy 65 使用ORM 67 数据库关联69 在Flask 中使用SQLAlchemy 71 记录慢查询73 理解Context 74 本地线程74 Werkzeug 的Local 75 flask.request 76 使用上下文77 使用LocalProxy 替代g 80 从零开始实现一个文件托管服务80 首页84 重新设置图片页86 下载页87 预览页87 短链接页88 第4章Flask 开发进阶 89 Flask 的信号机制89 Blinker 的使用89 Flask 中内置的信号90 自定义信号92 信号订阅的高级用法92 Flask-Login 中的信号93 Flask 的扩展95 Flask-Script 95 Flask-DebugToolbar 97 Flask-Migrate 98 Flask-WTF 100 Flask-Security 102 Flask-RESTful 109 Flask-Admin 111 Flask-Assets 115 Werkzeug 的使用118 DebuggedApplication 118 数据结构120 功能函数121 密码加密122 中间件123 第5章REST 和Ajax 127 什么是REST 127 RESTful API 设计指南128 使用名词来表示资源128 关注请求头129 合理使用请求方法和状态码129 正确地使用REST 130 对输出的结果不再包1 不要做出错误的提示131 使用嵌套对象序列化131 版本132 URI 失效和迁移132 信息过滤132 速度133 缓存133 并发控制134 使用Ajax 135 第6章网站架构. 140 Python 应用服务器140 WSGI 协议141 常见的WSGI 容器141 Web 服务器Nginx 143 Web 服务器与应用服务器的区别143 为什么要选择Nginx 143 安装Nginx 144 使用Nginx 部署Flask 应用144 缓存系统Memcached 149 Libmc 安装配置150 使用原生SQL 缓存152 缓存更新策略157 Memcached 使用的经验157 键值对数据库Redis 157 操作Redis 158 Redis 应用场景159 分片和集群管理168 NoSQL 数据库MongoDB 169 为什么使用NoSQL 169 MongoDB 169 使用pymongo 的例子171 使用Mongoengine 的例子174 MongoDB 实践经验176 大型网站架构经验182 缓存183 负载均衡183 高可用184 业务拆分184 集群184 第7章系统管理 186 进程管理Supervisor 186 Supervisor 组件187 配置Supervisor 187 使用Supervisor 190 应用部署Fabric 193 Fabric 应用接口194 使用Fabric 管理Flask 应用197 配置管理工具SaltStack 和Ansible 199 SaltStack 200 Ansible 207 使用Psutil 213 使用Sentry 收集错误信息215 安装配置Sentry 216 启动Sentry 218 创建团队和项目218 配置SDK 220 使用StatsD、Graphite 等搭建Web 监控223 配置Graphite 225 使用StatsD 226 配置Diamond 227 发布指标项227 使用Grafana 228 使用Kenshin 232 第8章测试和持续集成 233 使用unittest 和doctest 做测试233 unittest 233 doctest 236 使用py.test 和mock 237 py.test 237 mock 241 持续集成243 使用Tox 集成248 第9章消息队列和Celery 250 使用Beanstalkd 251 使用Beanstalkc 252 深入理解RabbitMQ 253 AMQP 254 虚拟主机258 插件系统258 通过Web 和REST API 管理RabbitMQ 259 故障转移262 使用Celery 262 Celery 的架构263 Celery 序列化265 安装配置Celery 265 从一个简单的例子开始265 指定队列268 使用任务调度269 任务绑定、记录日志和重试270 在Flask 应用中使用Celery 271 深入理解Celery 274 Celery 的依赖274 任务调用277 信号系统278 Worker 管理279 监控和管理Celery 280 子任务281 进阶篇:Celery 很好实践283 使用自动扩展283 善用远程Debug 283 合理安排任务周期284 合理使用队列和优先级285 保证业务逻辑的事务性285 关闭你不想要的功能285 使用阅后即焚模式285 善用Prefetch 模式286 善用工作流286 第10章服务化 288 为什么需要服务化288 RPC 框架289 服务化带来的问题290 微服务架构290 使用 ri 291 定义IDL 文件292 服务端实现294 客户端实现297 PIDL——豆瓣的服务化实践301 PIDL 架构302 第11章数据处理 305 使用MapReduce 做日志分析305 使用MapReduce 305 使用DPark 309 分布式文件系统MooseFS 309 Mesos 310 配置DPark 环境311 从WordCount 开始314 PV & UV 统计316 数据报表320 发送带有样式和附件的邮件320 创建xlsx 文件325 使用Pandas 328 Pandas 入门329 读取MySQL 数据库332 和Flask 应用集成332 第12章帮助工具. 336 IPython 336 IPython 交互模式338 常用的Magic 函数338 配置和自定义IPython 341 IPython 的扩展系统342 使用IPython 调试复杂代码343 双进程模型344 并行计算345 Jupyter Notebook 347 Notebook 格式350 Notebook 格式转换和预览351 为什么使用RequireJS 352 在Notebook 里使用Echarts 353 富显示355 自定义JavaScript 和CSS 样式356 使用nbextension 扩展Notebook 358 在Notebook 上使用并行计算359 调试和Debug 工具360 了解Linux 服务器运行情况360 性能测试366 Python 程序性能分析369 性能调优实践373 进阶篇:定制基于IPython 的交互解释环境374 进阶篇:豆瓣东西的Jupyter Notebook 实践376 第13章Python 并发编程383 使用多线程385 使用Gevent 392 使用多进程399 使用Future 406 使用asyncio 408 async/await 409 Future 412 使用aiohttp 414 使用队列416 第14章Python 进阶 418 使用标准库模块418 errno 419 subprocess 420 contextlib 421 glob 424 operator 424 functools 426 collections 428 Python 语法很好实践432 命名434 目录xxix 使用join 连接字符串435 EAFP vs LBYL 435 定义类的__str__/__repr__ 方法436 优美的Python 437 从Python 3 移植439 partialmethod 439 singledispatch 440 suppress 442 redirect_stdout/redirect_stderr 443 使用CFFI/Cython 编写Python 扩展444 使用CFFI 444 使用Cython 447 进阶篇:使用PyObjC 发送通知451 第15章Web 开发项目实践455 Web 项目经验总结455 开发流程455 使用合理的项目结构456 关注代码复杂度457 代码质量保证工具457 Pycodestyle 对中文缩进的处理458 Flake8 459 Pylint 460 其他代码质量保证工具461 使用AST 做静态检查461 其他静态检查工具467 编写Flake8 扩展468 代码评审的意义470 作为被评审者471 作为评审者472 评审的标准473 |
标签 | |
缩略图 | ![]() |
书名 | Python Web开发实战 |
副书名 | |
原作名 | |
作者 | 董伟明 |
译者 | |
编者 | |
绘者 | |
出版社 | 电子工业出版社 |
商品编码(ISBN) | 9787121297335 |
开本 | 16开 |
页数 | 474 |
版次 | 1 |
装订 | 平装 |
字数 | 617 |
出版时间 | 2016-09-01 |
首版时间 | 2016-09-01 |
印刷时间 | 2016-10-01 |
正文语种 | 汉 |
读者对象 | 普通大众 |
适用范围 | |
发行范围 | 公开发行 |
发行模式 | 实体书 |
首发网站 | |
连载网址 | |
图书大类 | |
图书小类 | |
重量 | 0.816 |
CIP核字 | 2016200131 |
中图分类号 | TP311.561 |
丛书名 | |
印张 | 31.5 |
印次 | 3 |
出版地 | 北京 |
长 | 235 |
宽 | 185 |
高 | 20 |
整理 | |
媒质 | 图书 |
用纸 | 普通纸 |
是否注音 | 否 |
影印版本 | 原版 |
出版商国别 | CN |
是否套装 | 单册 |
著作权合同登记号 | |
版权提供者 | |
定价 | |
印数 | |
出品方 | |
作品荣誉 | |
主角 | |
配角 | |
其他角色 | |
一句话简介 | |
立意 | |
作品视角 | |
所属系列 | |
文章进度 | |
内容简介 | |
作者简介 | |
目录 | |
文摘 | |
安全警示 | 适度休息有益身心健康,请勿长期沉迷于阅读小说。 |
随便看 |
|
兰台网图书档案馆全面收录古今中外各种图书,详细介绍图书的基本信息及目录、摘要等图书资料。