Python开发实战

142 阅读12分钟

Python开发实战 下载地址 pan.baidu.com/s/1F55_4-qh… 扫码下面二维码关注公众号回复 100090获取分享码 本书目录结构如下: 第一部分  使用Python开发   01  开始使用Python 2   01.01  Python环境搭建 2   01.01.01  安装apt软件包 2   01.01.02  easy_install 与pip 3   01.01.03  安装virtualenv 4   01.01.04  使用不同版本的Python 9   01.02  Mercurial环境搭建 12   01.02.01  Mercurial的简介 12   01.02.02  Mercurial的安装 12   01.02.03  代码库的建立 13   01.02.04  文件的操作 14   01.03  编辑器与方便的开发工具 17   01.03.01  编辑器 17   01.03.02  Python开发小贴士 19   01.04  本章小结 22   02  开发Web应用程序 23   02.01  了解Web应用程序 23   02.01.01  什么是Web应用程序 23   02.01.02  Web应用程序与桌面应用程序的不同 24   02.01.03  Web应用程序的机制 24   02.02  Web应用程序开发的事前准备 27   02.02.01  关于Flask 27   02.02.02  Flask的安装 27   02.03  Web应用程序的开发流程 28   02.04  明确需要开发的目标系统 28   02.04.01  留言簿应用程序的需求 28   02.04.02  明确必要的功能 29   02.04.03  明确页面的表现形式 29   02.05  页面设计 29   02.05.01  页面设计草图 30   02.05.02  设计HTML和CSS 30   02.06  后台功能的开发 35   02.06.01  保存评论数据 35   02.06.02  取出保存过的评论数据 36   02.06.03  使用模板引擎显示页面 37   02.06.04  准备评论的目标URL地址 39   02.06.05  调整模板输出 40   02.07  功能验证 41   02.08  本章小结 42   第二部分  团队开发的周期和流程   03  准备团队开发环境 46   03.01  在公共服务器上建立用户、设置权限 46   03.01.01  用户与用户组的建立 46   03.01.02  sudoers 46   03.01.03  virtualenv 47   03.02  问题跟踪系统 47   03.02.01  Trac 48   03.02.02  安装Trac 48   03.03  版本控制系统 51   03.04  有利于团队开发的工具 52   03.04.01  Skype 52   03.04.02  DropBox 53   03.04.03  Google Docs 54   03.05  本章小结 54   04  编写开发文档的准备 55   04.01  编写项目开发文档 55   04.01.01  在写文档时,我们不想做什么工作 55   04.01.02  愿意在什么样的条件下编写文档 57   04.02  Sphinx的基础与安装 58   04.02.01  Sphinx的安装 58   04.02.02  reStructuredText入门 60   04.02.03  使用Sphinx编写结构化文档的流程 61   04.02.04  Sphinx的扩展 66   04.03  引入Sphinx后解决的问题与新的问题 67   04.03.01  采用纯文本,可使用一般的编辑器来写文档 67   04.03.02  内容与形式分离,不关注文档形式而专注于内容的编写 68   04.03.03  不仅仅是PDF,通过一个源可以输出多种格式 71   04.03.04  将文档分割成多个文件编辑,进行结构化处理 72   04.03.05  通过Mercurial进行简单的版本控制 73   04.03.06  将API参考手册和对应程序协同管理 73   04.03.07  一般文档可通过Web浏览器共享 76   04.03.08  Sphinx引入后仍需探讨的问题 76   04.04  文档集合的创建与利用 77   04.04.01  什么是文档集合 78   04.04.02  项目中必不可少的文档列表 78   04.04.03  面向团队领导、经理 79   04.04.04  面向设计人员 80   04.04.05  面向开发人员 80   04.04.06  面向用户 81   04.05  本章小结 81   05  问题跟踪与评审 82   05.01  任务管理与ticket驱动开发 82   05.01.01  开始写代码……在这之前还是先创建一个ticket 82   05.01.02  创建和ticket编号一致的分支 83   05.01.03  让版本发布与分支对应 84   05.01.04  分支的合并 84   05.01.05  整理ticket信息 86   05.01.06  ticket 的分割 86   05.02  评审 87   05.02.01  为什么需要评审 87   05.02.02  作为被评审人:代码评审篇 87   05.02.03  作为被评审人:工作评审篇 88   05.02.04  作为评审人:代码评审篇 89   05.02.05  作为评审人:工作评审篇 92   05.03  本章小结 92   06  模块的分割设计与单元测试 93   06.01  模块分割设计方法 93   06.01.01  功能设计 93   06.01.02  Web应用程序的构成组件 94   06.01.03  组件设计 96   06.01.04  模块与包 97   06.02  测试 99   06.02.01  测试的种类 99   06.02.02  编写单元测试 101   06.02.03  从单元测试中去除环境依赖 109   06.02.04  使用WebTest进行功能测试 114   06.03  从测试来改善设计 118   06.04  迈向测试执行的自动化 120   06.04.01  测试环境的自动生成 120   06.04.02  可以反复执行的测试环境 121   06.05  本章小结 121   07  打包与自动建立环境 122   07.01  源代码打包与发布自动化 123   07.01.01  打包 123   07.01.02  程序包的自动化发布 127   07.01.03  向PyPI注册程序包 128   07.01.04  向PyPI上传程序包 128   07.01.05  书写程序包的使用说明 129   07.02  安装与环境关联库的介绍 131   07.02.01  Distribute 132   07.02.02  pip 133   07.02.03  virtualenv 134   07.03  应用环境自动构建所必备的功能与工具 135   07.03.01  准备独立的Python环境 135   07.03.02  Python库的程序包化以及标准安装 136   07.03.03  锁定应用环境的程序包版本 136   07.03.04  整个环境可以离线安装 136   07.03.05  重建环境时可以复用缓存 137   07.03.06  使用编译好的二进制模块 138   07.03.07  当PyPI宕机或高峰时,有备用服务器 138   07.04  自动应用环境构建 140   07.04.01  开始 140   07.04.02  构建初始环境 140   07.04.03  包含源代码的应用环境 141   07.04.04  在部署环境中的离线安装 143   07.04.05  安装部署需要二进制编译的程序包 144   07.05  公司内部共享专用库 144   07.05.01  在多个项目间共享代码的方法 145   07.05.02  自动建立非公开程序包的应用环境 149   07.06  本章小结 152   08  使用Mercurial管理源代码 153   08.01  Mercurial的代码库管理与配置 153   08.01.01  在服务器上设置UNIX用户与用户组 153   08.01.02  设置umask值 154   08.01.03  创建代码库 154   08.01.04  配置hgrc 155   08.01.05  使用配置后的代码库 155   08.01.06  使用hgweb作为简易的中央代码库 155   08.02  灵活使用钩子功能 156   08.02.01  钩子功能的设置方法 157   08.02.02  使用钩子脚本 157   08.02.03  钩子事件 157   08.02.04  钩子执行的时机 159   08.02.05  编写钩子脚本 161   08.03  分支操作 164   08.04  分支间的合并 165   08.04.01  没有冲突的合并 165   08.04.02  用文本编辑器消除合并冲突 167   08.04.03  合并的模式与冲突的种类 169   08.04.04  使用图形界面合并的方法 170   08.05  GUI客户端 173   08.05.01  GUI客户端的介绍 173   08.05.02  GUI客户端的优点 176   08.05.03  GUI客户端的缺点 179   08.05.04  hgwebcommit 180   08.06  考虑实际运用而产生的BP Mercurial W/F 182   08.06.01  概要 182   08.06.02  背景 183   08.06.03  代码库的构成 183   08.06.04  源代码提交 184   08.06.05  设计师的提交操作 186   08.06.06  分支的合并 187   08.06.07  集成分支 188   08.07  本章小结 189   09  使用Jenkins持续集成 192   09.01  什么是持续集成 192   09.01.01  关于持续集成 192   09.01.02  关于Jenkins 194   09.02  Jenkins的安装 194   09.02.01  安装Java 194   09.02.02  安装Jenkins主体程序 194   09.02.03  本章用到的Jenkins插件 195   09.03  执行测试代码 195   09.03.01  简单测试代码的示例 195   09.03.02  注册作业 196   09.03.03  作业执行成功与失败 198   09.04  测试结果通过报表输出 199   09.04.01  安装nose 199   09.04.02  调用nosetests命令 199   09.04.03  为使用nose修改Jenkins配置 200   09.05  展示代码覆盖率报告 201   09.05.01  coverage的安装 201   09.05.02  coverage命令的概述:分为“统计”和“输出”两步 201   09.05.03  通过nose执行coverage 201   09.05.04  读取代码覆盖率的报告 202   09.06  执行Django测试 204   09.06.01  Django模块的安装 204   09.06.02  Django的安装 204   09.06.03  样本代码 205   09.06.04  Jenkins的创建 208   09.06.05 “构建后处理”部分的配置 210   09.07  通过Jenkins构建文档 212   09.07.01  Sphinx的安装 212   09.07.02  配置Jenkins作业的注册信息 212   09.07.03  Sphinx的构建在出现告警时作业失败 213   09.07.04  查阅编译成果 214   09.07.05 使用Task Scanner Plugin管理TODO信息 215   09.07.06  Task Scanner Plugin的配置示例 216   09.08  进一步灵活使用Jenkins 216   09.08.01  便捷的功能 216   09.08.02  进一步的改善 218   09.09  本章小结 219   第三部分  服务的公开   10  自动构建和部署环境 222   10.01  安装与配置具有依赖关系的程序包 222   10.01.01  创建操作用户 223   10.01.02  列举必要的程序包 224   10.01.03  封闭环境的安装 226   10.01.04  应用程序的配置 228   10.01.05  环境验证 231   10.02  整理部署的操作步骤 231   10.02.01  赋予代码库访问权限 232   10.02.02  克隆源代码库 232   10.02.03  部署方法总结 232   10.03  使用Fabric将操作步骤自动化 233   10.03.01  什么是Fabric 233   10.03.02  安装与环境配置 233   10.03.03  编写简单的脚本 234   10.03.04  参考步骤说明书进行自动化 234   10.03.05  验证执行行为 238   10.03.06  添加注释 238   10.04  本章小结 239   11  改善应用程序的性能 240   11.01  Web应用程序的性能 240   11.01.01  Web应用遭遇大量请求时会如何 240   11.01.02  高负载时的对策 241   11.02  留言簿应用程序的性能测试 242   11.02.01  什么是应用程序的性能 242   11.02.02  ApacheBench的安装 242   11.02.03  使用ApacheBench检测性能 242   11.03  关于gunicorn 245   11.03.01  gunicorn的安装 245   11.03.02  使用gunicorn运行应用程序 245   11.04  关于nginx 247   11.04.01  nginx的安装 248   11.04.02  nginx的性能测试 248   11.05  使用nginx和gunicorn共同承载应用程序 250   11.05.01  gunicorn的配置 250   11.05.02  nginx的配置 251   11.05.03  测定nginx+gunicorn组合的性能 251   11.05.04  性能的比较 252   11.06  本章小结 253   12  Google App Engine 254   12.01  关于App Engine 254   12.01.01  什么是App Engine 254   12.01.02  App Engine的优点 255   12.01.03  App Engine平台的局限性 255   12.01.04  使用案例 256   12.02  App Engine的主要功能 256   12.02.01  数据存储 256   12.02.02  自动扩展与负载分散 257   12.02.03  在App Engine中的Python运行环境 259   12.03  App Engine的开发准备工作与步骤确认 260   12.03.01  获取账号并开发程序 260   12.03.02  创建SDK 263   12.03.03  开发简单的应用程序 264   12.03.04  部署 266   12.04  在App Engine中开发Flask的应用程序 267   12.04.01  使已有的应用程序运行 267   12.04.02  部署并运行 271   12.04.03  管理终端 272   12.05  调整:改善应用程序性能 274   12.05.01  根据Appstats进行性能测试 274   12.05.02  使用多线程来处理 276   12.06  性能调优:减少计费额 277   12.06.01  与计费有关的配置 277   12.06.02  计费表 277   12.06.03  节约实例的数量 279   12.06.04  减少数据存储的操作 280   12.07  测试 282   12.07.01  在测试代码内使用API 282   12.07.02  测试的执行 284   12.07.03  在真实服务器上测试 285   12.08  本章小结 285   第四部分  加速开发的技术   13  测试是不可分割的一部分 288   13.01  认清测试现状 288   13.02  在开发的各个阶段引入测试工作 289   13.02.01  文档的测试(文档评审) 289   13.02.02  编写测试的方法(输入与输出) 292   13.02.03  测试的执行与测试阶段的轮换(把什么工作做到什么程度) 295   13.03  本章小结:对测试不要抱有恐惧 298   14  便捷地使用Django 300   14.01  什么是Django 300   14.01.01  Django的安装 300   14.01.02  Django的架构 300   14.01.03  Django的文档 304   14.02  让数据库的集成更加方便 304   14.02.01  什么是数据库的集成 304   14.02.02  默认情况下Django能做什么 304   14.02.03  对,就是它,使用South就能够做到 305   14.03  使用fixture replacement使测试更加方便 312   14.03.01  什么是测试配置器(fixture) 312   14.03.02  默认测试配置器的不便之处 314   14.03.03  使用factory_boy 315   14.04  使调试更加方便 318   14.05  本章小结 324   15  使用方便的Python模块 325   15.01  简化日期计算的模块 325   15.01.01  日期计算的复杂之处 325   15.01.02  引入dateutil 327   15.02  简化模型映射的模块 329   15.02.01  必须进行模型映射的理由 329   15.02.02  映射规则的构造与复用 330   15.02.03  导入bpmappers模块 333   15.02.04  与Django的联动 335   15.02.05  编写JSON API 336   15.03  判断字符的编码 337   15.04  RSS阅读订阅的解析模块 339   15.04.01  导入feedparser模块 339   15.04.02  使用feedparser解析RSS阅读订阅信息 339   15.05  图像处理模块 340   15.05.01  安装PIL模块 340   15.05.02  转换图像格式 341   15.05.03  调整图像的尺寸 342   15.05.04  截取图像的某个部分 344   15.05.05  图像的过滤处理 345   15.06  数据的加密处理模块 346   15.06.01  PyCrypto的安装 346   15.06.02  共同密钥的加密与解密 347   15.06.03  公开密钥方式的加密与解密 347   15.07  调用Twitter的API模块 351   15.07.01  导入tweepy模块 351   15.07.02  应用程序的登录域和Consumer Key的获取 351   15.07.03  获得Access Token 354   15.07.04  调用TwitterAPI 354   15.07.05  开发使用Twitter认证的应用程序 356   15.08  本章小结 361