当前位置: 首页 > 后端技术 > Python

Python开发实践

时间:2023-03-26 19:44:31 Python

Python开发实践下载地址https://pan.baidu.com/s/1F55_4-qh1LjWWzADwrHbDg扫描下方二维码关注公众号回复100090获取分享代码本书目录结构为如下: 使用Python开发01 开始使用Python201.01搭建Python环境201.01.01 安装apt包201.01.02easy_install和pip301.01.03 安装virtualenv401.01.04 使用不同版本的Python901.02Mercurial环境搭建1201.02.01Mercurial介绍1201.02.02Mercurial安装1201.02.03代码库建立1301.02.04文件操作1401.03编辑器和便捷的开发工具1701.03.01编辑器1701.03.02Python开发技巧1901.04章节总结2202 开发Web应用程序2302.01 理解Web应用程序2302.01.01 什么是Web应用程序2302.01.02Web应用程序的区别应用程序和桌面应用程序2402。01.03web应用的机制2402.02web应用开发准备2702.02.01 关于Flask2702.02.02Flask安装2702.03web应用开发流程2802.04定义要开发的目标系统2802.04.01留言本要求应用程序2802.04.02定义必要的功能2902.04.03定义页面的形式2902.05页面设计2902.05.01页面设计草图3002.05.02 设计HTML和CSS3002.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.02sudoers4603.01.03virtualenv4703.02问题跟踪系统4703.02.01Trac4803.02.02 安装Trac4803.03版本控制系统5103.04有利于团队发展5203.04.01Skype5203.04.02DropBox5303.04.03GoogleDocs5403.05章节总结5404准备编写开发文档5504.01编写项目开发文档5504.01.01编写文档时,我们不想做工作5504.01。02什么情况下你愿意写文档5704.02Sphinx的基础和安装5804.02.01Sphinx的安装5804.02.02reStructuredText介绍6004.02.03 用Sphinx6104.02写结构化文档的过程。04Sphinx扩展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 一般文档可以通过网络浏览器共享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 任务管理和工单驱动开发8205.01.01 开始写代码...在此之前先创建工单8205.01.02 创建工单号相同的分支8305.01.03让版本发布对应分支8405.01.04合并分支8405.01.05 整理工单信息8605.01.06工单分割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.02Web应用程序组件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 上传包到PyPI12807.01.05编写说明程序包12907.02安装和环境相关库介绍13107.02.01Distribute13207.02.02pip13307.02.03virtualenv13407.03应用环境自动化构建必备的功能和工具13507.03.01 准备一个独立的Python环境13507.03.02Python库包及标准安装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.01Mercurial代码库管理和配置15308.01.01 在服务器上设置UNIX用户和用户组15308.01.02 setumask值15408.01.03创建代码库15408.01.04 配置hgrc15508.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.05GUI客户端17308.05.01GUI客户端介绍17308.05.02GUI客户端的优点17608.05.03GUI客户端的缺点17908.05.04hgwebcommit18008.06 考虑到实际使用的BPMercurialW/F18208.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 关于Jenkins194jenkins09.01安装19409.02.01 安装Java19409.02.02 安装Jenkins主程序19409.02.03 本章使用的Jenkins插件19509.03执行测试代码19509.03.01测试代码简单示例19509.03.02注册作业19609.03.03作业执行成功与失败19809.04测试结果通过报告输出19909.04.01 安装nose19909.04.02 调用nosetests命令19909.04.03 修改Jenkins配置使用nose20009.05显示代码覆盖率报告20109.05.01覆盖率安装20109.05.02覆盖率命令概述:分为“统计”两步和“输出”20109.05.03 通过nose执行覆盖20109.05.04阅读代码覆盖率报告20209.06 执行Django测试20409.06.01安装Django模块20409.06.02安装Django20409.06.03示例代码20509.06.04Jenkins创建20809.06.05配置“构建后处理”部分21009.07 通过Jenkins构建文档21209.07.01Sphinx安装21209.07.02 配置Jenkins作业注册信息21209.07.01告警时Sphinx构建失败21309.07.04查看编译结果21409.07.05使用TaskScannerPlugin管理TODO信息21509.07.06TaskScannerPlugin配置示例21609.08 进一步灵活使用Jenkins21609.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 什么是Fabric23310.03.02安装和环境配置23310.03.03编写简单脚本23410.03.04使用分步手册实现自动化23410.03.05验证执行行为23810.03.06添加注释23810.04章节总结23911改进应用程序性能24011.01Web应用程序的性能24011.01.01Web应用程序遇到大量请求时会发生什么24011.01.02高负载下的对策24111.02留言簿应用程序的性能测试24211.02.01什么是应用程序性能24211.02.02安装ApacheBench24211.02.03 使用ApacheBench测量性能24211.03 关于gunicorn24511.03.01安装gunicorn24511.03.02 使用gunicorn运行应用程序24511.04nginx7.04nginx1.04nginx1.04安装24811.04.02nginx性能测试24811.05 使用nginx和gunicorn共同托管应用程序25011.05.01gunicorn配置25011.05.02nginx配置25111.05.03 测量nginx+gunicorn组合的性能25111.05.04性能对比25211.06本章小结25312GoogleAppEngine25412.01 关于AppEngine25412.01.01 什么是AppEngine25412.01.02AppEngine的优势25512.01.03AppEngine平台的局限性25512.01.04用例25612.02AppEngine的主要功能25612.02.01数据存储25612.02.02自动缩放和负载分配25712.02.03 AppEngine中Python运行环境25912.03AppEngine开发准备及步骤确认26012.03.01获取账号并开发程序26012.03.02 创建SDK26312.03.03开发简单应用程序26412.03.04部署26612.04 在AppEngine中开发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.03Savings实例数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 方便使用Django30014.01 什么是Django30014.01.01Django安装30014.01.02Django架构30014.01.03Django文档30414.02让数据库集成更方便30414.02.01什么是数据库集成30414.02.02默认情况下,Django能做的是30414.02.03 是的,就是这样它,用南能做到30514.03 使用fixture替换让测试更方便31214.03.01 什么是测试配置器(fixture)31214.03.02默认测试配置器带来的不便31414.03.03 使用factory_boy31514.04让调试更方便31814.05本章小结32415 好用的Python模块32515.01简化日期计算的模块32515.01.01日期计算的复杂性32515.01.02 介绍dateutil32715.02简化模型映射的模块32915.02.01需要模型映射的原因32915.02.02映射规则的构建与复用33015.02.03 导入bpmappers模块33315.02.04 与Django联动33515.02.05 编写JSONAPI33615.03判断字符编码33715.04RSS阅读订阅分析模块33915.04.01 导入feedparser模块33915.04.02 使用feedparser解析RSS阅读订阅信息33915.05图像处理模块34015.05.01stainllPIL模块34015.05.02转换图片格式34115.05.03调整图片大小34215.05.04截取图片的某一部分34415.05.05图片过滤处理34515.06数据加密处理模块34615.06.01PyCrypto安装34615.06.02公钥加解密34715.06.03公钥加解密34715.07 调用TwitterAPI模块35115.07.01 导入tweepy模块35115.07.02 应用获取登录域和ConsumerKey35115.07.03 获取访问令牌35415.07.04 调用TwitterAPI35415.07.05 使用Twitter身份验证开发应用程序35615.08本章小结361