失效链接处理 |
Python Web开发实战 PDF 下载
本站整理下载:
版权归出版社和原作者所有,链接已删除,请购买正版
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/1649868423.html
相关截图:
资料简介: 本书按照一个Web 产品从无到有、从简单变复杂、从基础到进阶的过程,多角度、全方位讲述了Python Web开发。内容涉及Web框架、测试、数据库、消息队列、服务化、持续集成等,把网站工程的全貌展现在读者的眼前,从其中可以了解Web工程从开发到上线的完整流程。另外,作者对当前现在正在流行的技术或工具,如Flask、Celery、Jupyter、Supervisor、SaltStack、Pandas等都有较为详细的阐述,可作为技术选型时的参考。对于Web 开发者、使用Python 语言的运维工程师和运维开发工程师、想提高Python 技能的开发者、想了解Python Web 开发的其他开发者,本书都适合阅读。 资料目录: 第1 章初识Python Web 开发. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Python Web 开发介绍 为什么应该选择Python 作为Web 开发语言 选择Python 还是Python Web 框架介绍 主流Web 框架 小众的Web 框架 选择Web 框架时应遵循的原则 第2 章Web 开发前的准备. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 搭建一个能运行的虚拟机环境 安装VirtualBox 使用Vagrant 安装 使用Docker 安装 包管理和虚拟环境 包管理 使用pip 替代easy_install distribute、distutils 和setuptools entry_points 插件系统 虚拟环境 virtualenv virtualenv 定制化 virtualenvwrapper virtualenv-burrito autoenv 进阶篇:pip 高级用法 命令自动补全 普通用户安装 编辑模式 使用devapi 作为缓存代理服务器 PYPI 的完全镜像 第3 章Flask Web 开发. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 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 开发进阶. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 什么是REST RESTful API 设计指南 使用名词来表示资源 关注请求头 合理使用请求方法和状态码 正确地使用REST 对输出的结果不再包装 不要做出错误的提示 使用嵌套对象序列化 版本 URI 失效和迁移 信息过滤 速度限制 缓存 并发控制 使用Ajax 第6 章网站架构. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 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 章系统管理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 进程管理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 章测试和持续集成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 使用unittest 和doctest 做测试 unittest doctest 使用py.test 和mock py.test mock 持续集成 使用Tox 集成 第9 章消息队列和Celery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 使用Beanstalkd 使用Beanstalkc 深入理解RabbitMQ AMQP 虚拟主机 插件系统 通过Web 和REST API 管理RabbitMQ 259 故障转移 使用Celery Celery 的架构 Celery 序列化 安装配置Celery 从一个简单的例子开始 指定队列 使用任务调度 任务绑定、记录日志和重试 在Flask 应用中使用Celery 深入理解Celery Celery 的依赖 任务调用 信号系统 Worker 管理 监控和管理Celery 子任务 进阶篇:Celery 最佳实践 使用自动扩展 善用远程Debug 合理安排任务周期 合理使用队列和优先级 保证业务逻辑的事务性 关闭你不想要的功能 使用阅后即焚模式 善用Prefetch 模式 善用工作流 第10 章服务化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 为什么需要服务化 RPC 框架 服务化带来的问题 微服务架构 使用ri 定义IDL 文件 服务端实现 客户端实现 PIDL——豆瓣的服务化实践 PIDL 架构 第11 章数据处理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 使用MapReduce 做日志分析 使用MapReduce 使用DPark 分布式文件系统MooseFS Mesos 配置DPark 环境 从WordCount 开始 PV & UV 统计 数据报表 发送带有样式和附件的邮件 创建xlsx 文件 使用Pandas Pandas 入门 读取MySQL 数据库 和Flask 应用集成 第12 章帮助工具. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 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 并发编程. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 使用多线程 使用Gevent 使用多进程 使用Future 使用asyncio async/await Future 使用aiohttp 使用队列 第14 章Python 进阶. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418 使用标准库模块 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 开发项目实践. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455 Web 项目经验总结 开发流程 使用合理的项目结构 关注代码复杂度 代码质量保证工具 Pycodestyle 对中文缩进的处理 Flake8 Pylint 其他代码质量保证工具 使用AST 做静态检查 其他静态检查工具 编写Flake8 扩展 代码评审的意义 作为被评审者 作为评审者 评审的标准 |