万本电子书0元读

万本电子书0元读

顶部广告

PythonWeb开发实战电子书

Python Web发的百科全书,了解Web工程从发到上线的完整流程 对实际Web项目中大量实战经验的总结,有用、实用

售       价:¥

纸质售价:¥78.70购买纸书

817人正在读 | 4人评论 6.4

作       者:董伟明

出  版  社:电子工业出版社

出版时间:2016-09-01

字       数:42.6万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(4条)
  • 读书简介
  • 目录
  • 累计评论(4条)
本书按照一个Web 产品从无到有、从简单变复杂、从基础到阶的过程,多角度、全方位讲述了Python Web发。内容涉及Web框架、测试、数据库、消息队列、服务化、持续集成等,把网站工程的全貌展现在读者的眼前,从其中可以了解Web工程从发到上线的完整流程。另外,作者对当前现在正在流行的技术或工具,如Flask、Celery、Jupyter、Supervisor、SaltStack、Pandas等都有较为详细的阐述,可作为技术选型时的参考。对于Web 发者、使用Python 语言的运维工程师和运维发工程师、想提高Python 技能的发者、想了解Python Web 发的其他发者,本书都适合阅读。<br/>【推荐语】<br/>Python Web发的百科全书,了解Web工程从发到上线的完整流程 对实际Web项目中大量实战经验的总结,有用、实用<br/>【作者】<br/>董伟明,豆瓣高级产品发工程师,主要负责豆瓣读书、电影、音乐、东西等产品线。从2011年始触Python, 从运维、运维发到现在的Web发,积累了丰富的运维和发经验,他积极参与源项目,给IPython、pip及Python标准库等贡献过代码。这本书是他这些年使用Python行Web发,对各方面知识理解和积累经验的梳理和总结。个人博客是http://www.dongwm.com,GitHub地址为https://github.com/dongweiming<br/>
目录展开

内容简介

推荐序一

推荐序二

推荐序三

一次真诚的倾诉

推荐序四

业界热评

前言

为什么写这本书

谁应该看本书

为什么值得看

本书的特别用法

本书的组织方式和阅读建议

使用代码示例

反馈和勘误

致谢

第1章 初识Python Web开发

Python Web开发介绍

为什么应该选择Python作为Web开发语言

选择Python 2还是Python 3

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

flask.request

使用上下文

使用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

使用py.test和mock

py.test

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框架

服务化带来的问题

微服务架构

使用Thrift

定义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扩展

代码评审的意义

作为被评审者

作为评审者

评审的标准

累计评论(4条) 4个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部