小苏子
小苏子PDF在线图书

Python开发实战 内容简介

Python开发实战 内容简介

Python开发实战 目录

Python开发实战 前言/序言

《Python开发实战》来自真正的开发现场,是BePROUD公司众多极客在真实项目中的经验总结。作者从Python的环境搭建讲起,介绍了Web应用开发方法、任务管理,以及评审、测试及高效部署、服务器调试等内容,尽可能网罗了Python开发流程中所涉及的方方面面。在这里,Python仅仅是一个载体,很多知识点在非Python下也适用,这也是本书大的特色所在。《Python开发实战》适合有一定基础的Python开发者,以及使用PHP或Ruby进行网页开发的读者阅读。第一部分 使用Python开发01 开始使用Python  201.01 Python环境搭建  201.01.01 安装apt软件包  201.01.02 easy_install 与pip  301.01.03 安装virtualenv  401.01.04 使用不同版本的Python  901.02 Mercurial环境搭建  1201.02.01 Mercurial的简介  1201.02.02 Mercurial的安装  1201.02.03 代码库的建立  1301.02.04 文件的操作  1401.03 编辑器与方便的开发工具  1701.03.01 编辑器  1701.03.02 Python开发小贴士  1901.04 本章小结  2202 开发Web应用程序  2302.01 了解Web应用程序  2302.01.01 什么是Web应用程序  2302.01.02 Web应用程序与桌面应用程序的不同  2402.01.03 Web应用程序的机制  2402.02 Web应用程序开发的事前准备  2702.02.01 关于Flask  2702.02.02 Flask的安装  2702.03 Web应用程序的开发流程  2802.04 明确需要开发的目标系统  2802.04.01 留言簿应用程序的需求  2802.04.02 明确必要的功能  2902.04.03 明确页面的表现形式  2902.05 页面设计  2902.05.01 页面设计草图  3002.05.02 设计HTML和CSS  3002.06 后台功能的开发  3502.06.01 保存评论数据  3502.06.02 取出保存过的评论数据  3602.06.03 使用模板引擎显示页面  3702.06.04 准备评论的目标URL地址  3902.06.05 调整模板输出  4002.07 功能验证  4102.08 本章小结  42第二部分 团队开发的周期和流程03 准备团队开发环境  4603.01 在公共服务器上建立用户、设置权限  4603.01.01 用户与用户组的建立  4603.01.02 sudoers  4603.01.03 virtualenv  4703.02 问题跟踪系统  4703.02.01 Trac  4803.02.02 安装Trac  4803.03 版本控制系统  5103.04 有利于团队开发的工具  5203.04.01 Skype  5203.04.02 DropBox  5303.04.03 Google Docs  5403.05 本章小结  5404 编写开发文档的准备  5504.01 编写项目开发文档  5504.01.01 在写文档时,我们不想做什么工作  5504.01.02 愿意在什么样的条件下编写文档  5704.02 Sphinx的基础与安装  5804.02.01 Sphinx的安装  5804.02.02 reStructuredText入门  6004.02.03 使用Sphinx编写结构化文档的流程  6104.02.04 Sphinx的扩展  6604.03 引入Sphinx后解决的问题与新的问题  6704.03.01 采用纯文本,可使用一般的编辑器来写文档  6704.03.02 内容与形式分离,不关注文档形式而专注于内容的编写  6804.03.03 不仅仅是PDF,通过一个源可以输出多种格式  7104.03.04 将文档分割成多个文件编辑,进行结构化处理  7204.03.05 通过Mercurial进行简单的版本控制  7304.03.06 将API参考手册和对应程序协同管理  7304.03.07 一般文档可通过Web浏览器共享  7604.03.08 Sphinx引入后仍需探讨的问题  7604.04 文档集合的创建与利用  7704.04.01 什么是文档集合  7804.04.02 项目中必不可少的文档列表  7804.04.03 面向团队领导、经理  7904.04.04 面向设计人员  8004.04.05 面向开发人员  8004.04.06 面向用户  8104.05 本章小结  8105 问题跟踪与评审  8205.01 任务管理与ticket驱动开发  8205.01.01 开始写代码……在这之前还是先创建一个ticket  8205.01.02 创建和ticket编号一致的分支  8305.01.03 让版本发布与分支对应  8405.01.04 分支的合并  8405.01.05 整理ticket信息  8605.01.06 ticket 的分割  8605.02 评审  8705.02.01 为什么需要评审  8705.02.02 作为被评审人:代码评审篇  8705.02.03 作为被评审人:工作评审篇  8805.02.04 作为评审人:代码评审篇  8905.02.05 作为评审人:工作评审篇  9205.03 本章小结  9206 模块的分割设计与单元测试  9306.01 模块分割设计方法  9306.01.01 功能设计  9306.01.02 Web应用程序的构成组件  9406.01.03 组件设计  9606.01.04 模块与包  9706.02 测试  9906.02.01 测试的种类  9906.02.02 编写单元测试  10106.02.03 从单元测试中去除环境依赖  10906.02.04 使用WebTest进行功能测试  11406.03 从测试来改善设计  11806.04 迈向测试执行的自动化  12006.04.01 测试环境的自动生成  12006.04.02 可以反复执行的测试环境  12106.05 本章小结  12107 打包与自动建立环境  12207.01 源代码打包与发布自动化  12307.01.01 打包  12307.01.02 程序包的自动化发布  12707.01.03 向PyPI注册程序包  12807.01.04 向PyPI上传程序包  12807.01.05 书写程序包的使用说明  12907.02 安装与环境关联库的介绍  13107.02.01 Distribute  13207.02.02 pip  13307.02.03 virtualenv  13407.03 应用环境自动构建所必备的功能与工具  13507.03.01 准备独立的Python环境  13507.03.02 Python库的程序包化以及标准安装  13607.03.03 锁定应用环境的程序包版本  13607.03.04 整个环境可以离线安装  13607.03.05 重建环境时可以复用缓存  13707.03.06 使用编译好的二进制模块  13807.03.07 当PyPI宕机或高峰时,有备用服务器  13807.04 自动应用环境构建  14007.04.01 开始  14007.04.02 构建初始环境  14007.04.03 包含源代码的应用环境  14107.04.04 在部署环境中的离线安装  14307.04.05 安装部署需要二进制编译的程序包  14407.05 公司内部共享专用库  14407.05.01 在多个项目间共享代码的方法  14507.05.02 自动建立非公开程序包的应用环境  14907.06 本章小结  15208 使用Mercurial管理源代码  15308.01 Mercurial的代码库管理与配置  15308.01.01 在服务器上设置UNIX用户与用户组  15308.01.02 设置umask值  15408.01.03 创建代码库  15408.01.04 配置hgrc  15508.01.05 使用配置后的代码库  15508.01.06 使用hgweb作为简易的中央代码库  15508.02 灵活使用钩子功能  15608.02.01 钩子功能的设置方法  15708.02.02 使用钩子脚本  15708.02.03 钩子事件  15708.02.04 钩子执行的时机  15908.02.05 编写钩子脚本  16108.03 分支操作  16408.04 分支间的合并  16508.04.01 没有冲突的合并  16508.04.02 用文本编辑器消除合并冲突  16708.04.03 合并的模式与冲突的种类  16908.04.04 使用图形界面合并的方法  17008.05 GUI客户端  17308.05.01 GUI客户端的介绍  17308.05.02 GUI客户端的优点  17608.05.03 GUI客户端的缺点  17908.05.04 hgwebcommit  18008.06 考虑实际运用而产生的BP Mercurial W/F  18208.06.01 概要  18208.06.02 背景  18308.06.03 代码库的构成  18308.06.04 源代码提交  18408.06.05 设计师的提交操作  18608.06.06 分支的合并  18708.06.07 集成分支  18808.07 本章小结  18909 使用Jenkins持续集成  19209.01 什么是持续集成  19209.01.01 关于持续集成  19209.01.02 关于Jenkins  19409.02 Jenkins的安装  19409.02.01 安装Java  19409.02.02 安装Jenkins主体程序  19409.02.03 本章用到的Jenkins插件  19509.03 执行测试代码  19509.03.01 简单测试代码的示例  19509.03.02 注册作业  19609.03.03 作业执行成功与失败  19809.04 测试结果通过报表输出  19909.04.01 安装nose  19909.04.02 调用nosetests命令  19909.04.03 为使用nose修改Jenkins配置  20009.05 展示代码覆盖率报告  20109.05.01 coverage的安装  20109.05.02 coverage命令的概述:分为“统计”和“输出”两步  20109.05.03 通过nose执行coverage  20109.05.04 读取代码覆盖率的报告  20209.06 执行Django测试  20409.06.01 Django模块的安装  20409.06.02 Django的安装  20409.06.03 样本代码  20509.06.04 Jenkins的创建  20809.06.05 “构建后处理”部分的配置  21009.07 通过Jenkins构建文档  21209.07.01 Sphinx的安装  21209.07.02 配置Jenkins作业的注册信息  21209.07.03 Sphinx的构建在出现告警时作业失败  21309.07.04 查阅编译成果  21409.07.05  使用Task Scanner Plugin管理TODO信息  21509.07.06 Task Scanner Plugin的配置示例  21609.08 进一步灵活使用Jenkins  21609.08.01 便捷的功能  21609.08.02 进一步的改善  21809.09 本章小结  219第三部分 服务的公开10 自动构建和部署环境  22210.01 安装与配置具有依赖关系的程序包  22210.01.01 创建操作用户  22310.01.02 列举必要的程序包  22410.01.03 封闭环境的安装  22610.01.04 应用程序的配置  22810.01.05 环境验证  23110.02 整理部署的操作步骤  23110.02.01 赋予代码库访问权限  23210.02.02 克隆源代码库  23210.02.03 部署方法总结  23210.03 使用Fabric将操作步骤自动化  23310.03.01 什么是Fabric  23310.03.02 安装与环境配置  23310.03.03 编写简单的脚本  23410.03.04 参考步骤说明书进行自动化  23410.03.05 验证执行行为  23810.03.06 添加注释  23810.04 本章小结  23911 改善应用程序的性能  24011.01 Web应用程序的性能  24011.01.01 Web应用遭遇大量请求时会如何  24011.01.02 高负载时的对策  24111.02 留言簿应用程序的性能测试  24211.02.01 什么是应用程序的性能  24211.02.02 ApacheBench的安装  24211.02.03 使用ApacheBench检测性能  24211.03 关于gunicorn  24511.03.01 gunicorn的安装  24511.03.02 使用gunicorn运行应用程序  24511.04 关于nginx  24711.04.01 nginx的安装  24811.04.02 nginx的性能测试  24811.05 使用nginx和gunicorn共同承载应用程序  25011.05.01 gunicorn的配置  25011.05.02 nginx的配置  25111.05.03 测定nginx+gunicorn组合的性能  25111.05.04 性能的比较  25211.06 本章小结  25312 Google App Engine  25412.01 关于App Engine  25412.01.01 什么是App Engine  25412.01.02 App Engine的优点  25512.01.03 App Engine平台的局限性  25512.01.04 使用案例  25612.02 App Engine的主要功能  25612.02.01 数据存储  25612.02.02 自动扩展与负载分散  25712.02.03 在App Engine中的Python运行环境  25912.03 App Engine的开发准备工作与步骤确认  26012.03.01 获取账号并开发程序  26012.03.02 创建SDK  26312.03.03 开发简单的应用程序  26412.03.04 部署  26612.04 在App Engine中开发Flask的应用程序  26712.04.01 使已有的应用程序运行  26712.04.02 部署并运行  27112.04.03 管理终端  27212.05 调整:改善应用程序性能  27412.05.01 根据Appstats进行性能测试  27412.05.02 使用多线程来处理  27612.06 性能调优:减少计费额  27712.06.01 与计费有关的配置  27712.06.02 计费表  27712.06.03 节约实例的数量  27912.06.04 减少数据存储的操作  28012.07 测试  28212.07.01 在测试代码内使用API  28212.07.02 测试的执行  28412.07.03 在真实服务器上测试  28512.08 本章小结  285第四部分 加速开发的技术13 测试是不可分割的一部分  28813.01 认清测试现状  28813.02 在开发的各个阶段引入测试工作  28913.02.01 文档的测试(文档评审)  28913.02.02 编写测试的方法(输入与输出)  29213.02.03 测试的执行与测试阶段的轮换(把什么工作做到什么程度)  29513.03 本章小结:对测试不要抱有恐惧  29814 便捷地使用Django  30014.01 什么是Django  30014.01.01 Django的安装  30014.01.02 Django的架构  30014.01.03 Django的文档  30414.02 让数据库的集成更加方便  30414.02.01 什么是数据库的集成  30414.02.02 默认情况下Django能做什么  30414.02.03 对,就是它,使用South就能够做到  30514.03 使用fixture replacement使测试更加方便  31214.03.01 什么是测试配置器(fixture)  31214.03.02 默认测试配置器的不便之处  31414.03.03 使用factory_boy  31514.04 使调试更加方便  31814.05 本章小结  32415 使用方便的Python模块  32515.01 简化日期计算的模块  32515.01.01 日期计算的复杂之处  32515.01.02 引入dateutil  32715.02 简化模型映射的模块  32915.02.01 必须进行模型映射的理由  32915.02.02 映射规则的构造与复用  33015.02.03 导入bpmappers模块  33315.02.04 与Django的联动  33515.02.05 编写JSON API  33615.03 判断字符的编码  33715.04 RSS阅读订阅的解析模块  33915.04.01 导入feedparser模块  33915.04.02 使用feedparser解析RSS阅读订阅信息  33915.05 图像处理模块  34015.05.01 安装PIL模块  34015.05.02 转换图像格式  34115.05.03 调整图像的尺寸  34215.05.04 截取图像的某个部分  34415.05.05 图像的过滤处理  34515.06 数据的加密处理模块  34615.06.01 PyCrypto的安装  34615.06.02 共同密钥的加密与解密  34715.06.03 公开密钥方式的加密与解密  34715.07 调用Twitter的API模块  35115.07.01 导入tweepy模块  35115.07.02 应用程序的登录域和Consumer Key的获取  35115.07.03 获得Access Token  35415.07.04 调用TwitterAPI  35415.07.05 开发使用Twitter认证的应用程序  35615.08 本章小结  361附录A 建立VirtualBox环境  362附录B 建立操作系统环境  366BePROUD 股份有限公司在众多的项目开发中使用了Python编程语言。我们希望通过撰写本书,与你分享在项目实践中所积累Python使用技巧。最近,公司的员工数量不断增加,为了让新员工快速上手,我们亦将在BePROUD工作必须掌握的基础知识写入本书中。本书从整个工程环境的建立开始,介绍了Web应用开发方法、任务管理,以及评审、测试及高效部署、服务器调试等内容,尽可能网罗了Python开发流程中所涉及的一系列内容。如书名所示,本书更多关注项目实战技巧。在进入正题前,我想先谈谈BePROUD公司日常工作的思维方式。Geek/Nerd云集的公司BePROUD是一个Geek和Nerd众多的公司,云集了许多行业精英。出于兴趣,这些员工经常利用自己的业余时间学习,将学到的知识付诸实践。作为Geek/Nerd,他们永远不会吝惜时间和精力。当然,Geek/Nerd中有许多怪人,但BePROUD公司所有成员都有这样的共识:尽量简化不想做的工作。掌握了好的方法就要付诸实践。带着好心情快乐地工作。尽量简化不想做的工作在工作中,重复地做一项工作是非常无聊的。我们都尽量想办法使其一劳永逸。另外,我们也不喜欢那些过程复杂且又容易失败的工作。因此我们尽可能将其简化,防止失败。掌握了好的方法就要付诸实践世间总有一些好办法或一些新想法,我们总是积极地在工作中去尝试。在工作中去实践好方法往往可以减轻我们的负担。但在实践之前,我们必须先甄别出可以真正起到作用的方式方法,然后再开始学习、应用。带着好心情快乐地工作如前所述,当掌握了好的方法,提高工作效率之后,我们就可以抱有一种好心情去享受工作了。比如做一个好玩的Skype机器人,在下班后找一个空闲的会议室玩LT游戏等。我们都认为,公司不仅是工作场所,也是一个让大家在做好工作的同时又能够享受它的地方。本书的内容基于BePROUD公司员工的实践经验,因此不会强迫你去单纯地记忆复杂的知识,而是为你提供能够在实践中直接应用的内容。如果本书中介绍的知识能够对你的实际工作有帮助,我们将感到莫大的欣慰。

赞(0)
未经允许不得转载:小苏子图书 » Python开发实战 内容简介