Python中文网

Python项目开发实战(第2版)

cnpython702

推荐编程书籍:Python项目开发实战(第2版),由人民邮电出版社2016-12-01月出版发行,本书编译以及作者信息 为:[日] BePROUD股份有限公司 著,支鹏浩 译,此次为第2次发行, 国际标准书号为:9787115438560,品牌为人民邮电出版社, 这本书采用平装开本为16开,纸张采为胶版纸,全书共有424页字数万字,是本Python 编程相关非常不错的书。

此书内容摘要

本书来自真正的开发现场,是BePROUD公司众多极客在真实项目中的经验总结和智慧结晶。作者从Python的环境搭建开始讲起,介绍了Web应用的开发方法、项目管理及审查、测试与高效部署、服务器调试等内容,尽可能网罗了Python项目开发流程中的方方面面,有助于开发者建立有序生产环境,提高开发效率,让编程事半功倍。此外,在本书中Python仅仅是一个载体,很多知识点在非Python下也适用。

关于此书作者

日本BeProud股份有限公司,BeProud是一家专注于Python开发的公司,因云集了众多杰出的Python工程师而闻名于日本国内。多年来在Python开发上硕果累累,以其精湛的技术水平,得到了客户及业界人士的认可和好评。

编辑们的推荐

会写代码≠能做好项目!
1.建立有序生产环境
2.迅速融入开发团队
3.高效处理项目问题

网罗Python项目开发中的流程,让你的编程事半功倍

Python项目与封装/团队开发环境/问题驱动开发/源码管理(Mercurial)
Jenkins持续集成(CI)/环境搭建与部署的自动化(Ansible)/Django框架……

日本极客和书虫们的智慧结晶和经验总结
BeProud里不乏极客和书虫们。在这里,很多人对特定领域的了解程度能吓掉你的下巴。大家一旦发现感兴趣的事,就会拿出私人时间来学习、实践。要知道,极客和书虫们不会为这种事情吝啬时间。
正如人们印象中的那样,极客和书虫们大多有些怪癖,但BeProud 的员工都具备下列共识。
1.希望能不做不想做的事
2.希望学会好的方法并付诸实践
3.希望工作时有个好心情

本书的内容全部基于事实,都是BeProud员工实际尝试、实践过的。我们希望给各位提供一些能实际应用且行之有效的知识,而不是让各位去死记硬背一大堆晦涩难懂的概念。我们很愿意看到本书的知识能对各位有所帮助,愿各位能在工作中有个好心情。

Python项目开发实战(第2版)图书的目录

第1部分Python开发入门1
第1章Python入门2
1.1安装Python2
1.1.1安装deb包3
1.1.2安装第三方包4
1.1.3virtualenv的使用方法5
1.1.4多版本Python的使用7
1.2安装Mercurial9
1.2.1Mercurial概述10
1.2.2安装Mercurial10
1.2.3创建版本库11
1.2.4文件操作12
1.3编辑器与辅助开发工具14
1.3.1编辑器14
1.3.2开发辅助工具20
1.4小结22
第2章开发Web应用24
2.1了解Web应用24
2.1.1Web应用是什么24
2.1.2Web应用与桌面应用的区别25
2.1.3Web应用的机制25
2.2前置准备28
2.2.1关于Flask28
2.2.2安装Flask28
2.3Web应用的开发流程29
2.4明确要开发什么应用30
2.4.1留言板应用的需求30
2.4.2明确必备的功能30
2.4.3明确必备的页面31
2.5页面设计31
2.5.1确定成品页面的形式31
2.5.2编写HTML和CSS32
2.6实现功能37
2.6.1保存留言数据37
2.6.2获取已保存的留言列表38
2.6.3用模板引擎显示页面39
2.6.4准备评论接收方的URL42
2.6.5调整模板的输出43
2.7查看运行情况45
2.8小结47
第3章Python项目的结构与包的创建48
3.1Python项目48
3.2环境与工具49
3.2.1用virtualenv搭建独立环境49
3.2.2用pip安装程序包55
3.2.3小结62
3.3文件结构与发布程序包62
3.3.1编写setup.py62
3.3.2留言板的项目结构64
3.3.3setup.py与MANIFEST.in——设置程序包信息与捆绑的文件65
3.3.4setup.py——创建执行命令69
3.3.5python setup.py sdist——创建源码发布程序包71
3.3.6提交至版本库71
3.3.7README.rst——开发环境设置流程73
3.3.8变更依赖包75
3.3.9通过requirements.txt固定开发版本77
3.3.10python setup.py bdist_wheel——制作用于wheel发布的程序包78
3.3.11上传到PyPI并公开79
3.3.12小结85
3.4小结86
第2部分团队开发的周期87
第4章面向团队开发的工具88
4.1问题跟踪系统88
4.1.1Redmine88
4.1.2安装Redmine89
4.1.3Redmine的设置91
4.1.4插件93
4.2版本控制系统94
4.2.1Mercurial与Redmine的联动94
4.2.2用于生成版本库的插件95
4.3聊天系统97
4.3.1Slack97
4.3.2Slack的特点98
4.3.3Slack做不到的事101
4.3.4Slack的注册102
4.4对团队开发有帮助的工具102
4.4.1Dropbox102
4.4.2Google Drive102
4.5小结103
第5章项目管理与审查104
5.1项目管理与问题的区分使用104
5.1.1项目管理的前置准备工作104
5.1.2创建问题105
5.1.3整理问题107
5.1.4分割问题107
5.2问题模板108
5.2.1安装插件108
5.2.2问题模板的使用方法109
5.2.3Global Issue Templates111
5.2.4问题模板示例112
5.3问题驱动开发114
5.3.1别急着敲代码,先建问题114
5.3.2创建与问题编号同名的分支115
5.3.3让发布与分支相对应115
5.3.4分支的合并116
5.4审查117
5.4.1为什么需要审查117
5.4.2审查委托:代码审查篇118
5.4.3审查委托:作业审查篇119
5.4.4实施审查:代码审查篇120
5.4.5实施审查:作业审查篇123
5.5小结123
第6章用Mercurial管理源码125
6.1Mercurial版本库的管理与设置125
6.1.1服务器上的Uinx用户群设置125
6.1.2创建版本库126
6.1.3hgrc的设置127
6.1.4使用设置好的版本库127
6.1.5使用hgweb建立简易中央版本库127
6.2灵活使用“钩子”128
6.2.1钩子功能的设置方法129
6.2.2尝试钩子脚本129
6.2.3钩子事件130
6.2.4钩子功能的执行时机131
6.2.5编写钩子脚本134
6.3分支的操作136
6.4关于合并137
6.4.1未发生冲突的合并138
6.4.2合并时发生冲突以及用文本编辑器解决冲突的方法140
6.4.3合并的类型与冲突143
6.4.4用GUI的合并工具进行合并144
6.5GUI客户端147
6.5.1GUI客户端的介绍147
6.5.2GUI客户端的优点149
6.5.3GUI客户端的缺点151
6.6考虑实际运用的BePROUD Mercurial Workflow152
6.6.1概述152
6.6.2背景152
6.6.3版本库的结构153
6.6.4提交源码154
6.6.5提交设计156
6.6.6分支的合并157
6.6.7集成分支158
6.7小结160
第7章完备文档的基础162
7.1要记得给项目写文档162
7.1.1写文档时不想做的事162
7.1.2什么样的状态让人想写文档164
7.2Sphinx的基础与安装165
7.2.1Sphinx的安装166
7.2.2reStructuredText入门167
7.2.3用Sphinx写结构化文档的流程169
7.2.4Sphinx扩展174
7.3导入Sphinx可解决的问题与新出现的问题175
7.3.1由于是纯文本,所以能在平时用的编辑器上写文档176
7.3.2信息与视图相分离,所以能集中精神编辑内容,不用顾虑装饰等外观问题176
7.3.3可根据一个源码输出PDF等多种格式179
7.3.4通过结构化,文档可分成几个文件来写180
7.3.5能用Mercurial等轻松实现版本管理181
7.3.6API参考手册与程序的管理一体化182
7.3.7通过Web浏览器共享184
7.3.8导入Sphinx后仍存在的问题185
7.4文档集的创建与使用186
7.4.1什么是文档集186
7.4.2项目所需文档的一览表187
7.4.3面向项目组长、经理187
7.4.4面向设计者189
7.4.5面向开发者189
7.4.6面向客户189
7.5小结190
第8章模块分割设计与单元测试191
8.1模块分割设计191
8.1.1功能设计191
8.1.2构成Web应用的组件192
8.1.3组件设计194
8.1.4模块与程序包195
8.2测试197
8.2.1测试的种类197
8.2.2编写单元测试198
8.2.3从单元测试中剔除环境依赖209
8.2.4用WebTest做功能测试215
8.3通过测试改良设计219
8.4推进测试自动化221
8.4.1用tox自动生成执行测试的环境221
8.4.2可重复使用的测试环境223
8.5小结223
第9章Python封装及其运用224
9.1使用程序包224
9.1.1程序包的版本指定224
9.1.2从非PyPI服务器安装程序包226
9.1.3程序包的发布格式228
9.1.4生成wheelhouse的方法230
9.1.5从wheelhouse安装231
9.2巧用程序包232
9.2.1私密发布232
9.2.2巧用requirements.txt232
9.2.3requirements.txt层级化233
9.2.4为部署和CI+tox准备的requiremests234
9.2.5通过requirements.txt指定库的版本235
9.3小结236
第10章用Jenkins持续集成237
10.1什么是持续集成237
10.1.1持续集成的简介237
10.1.2Jenkins简介239
10.2Jenkins的安装239
10.2.1安装Jenkins主体程序239
10.2.2本章将用到的Jenkins插件240
10.3执行测试代码241
10.3.1让Jenkins运行简单的测试代码241
10.3.2添加Job242
10.3.3Job的成功与失败244
10.4测试结果输出到报告246
10.4.1安装pytest246
10.4.2调用pytest命令246
10.4.3根据pytest更改Jenkins的设置246
10.5显示覆盖率报告247
10.5.1安装pytest-cov248
10.5.2从pytest获取覆盖率248
10.5.3读取覆盖率报告248
10.6执行Django的测试250
10.6.1安装Python模块250
10.6.2Django的调整251
10.6.3示例代码251
10.6.4Jenkins的调整255
10.6.5“构建后操作”选项卡的设置257
10.7通过Jenkins构建文档260
10.7.1安装Sphinx261
10.7.2在Jenkins添加Job261
10.7.3Sphinx构建发出警告时令Job失败261
10.7.4查看成果262
10.7.5通过Task Scanner Plugin管理TODO263
10.7.6Task Scanner Plugin的设置示例264
10.8Jenkins进阶技巧265
10.8.1好用的功能265
10.8.2进一步改善267
10.9小结268
第3部分服务公开269
第11章环境搭建与部署的自动化270
11.1确定所需环境的内容270
11.1.1网络结构270
11.1.2服务器搭建内容的结构化272
11.1.3用户的设置273
11.1.4选定程序包274
11.1.5中间件的设置277
11.1.6部署280
11.2用Ansible实现自动化作业282
11.2.1Ansible简介282
11.2.2文件结构287
11.2.3执行Ansible288
11.2.4与最初确定的结构相对应288
11.2.5将各步骤Ansible化289
11.2.6整理Ansible的执行环境295
11.3小结296
第12章应用的性能改善298
12.1Web应用的性能298
12.1.1Web应用面对大量集中请求时会产生哪些问题298
12.1.2针对高负荷的对策299
12.2评估留言板应用的性能300
12.2.1什么是应用的性能300
12.2.2安装ApacheBench300
12.2.3用ApachBench评估性能301
12.3gunicorn简介303
12.3.1安装gunicorn304
12.3.2在gunicorn上运行应用304
12.4nginx简介306
12.4.1安装nginx306
12.4.2检测nginx的性能307
12.5在nginx和gunicorn上运行应用310
12.5.1gunicorn的设置310
12.5.2nginx的设置310
12.5.3评估nginx+gunicorn的性能311
12.5.4性能比较312
12.6小结313
第4部分加速开发的技巧315
第13章让测试为我们服务316
13.1认识现状:测试的客观环境316
13.2将测试导入开发各个阶段317
13.2.1文档的测试(审查)317
13.2.2测试设计的编写方法(输入与输出)320
13.2.3测试的实施与测试阶段的轮换(做什么,做多少)323
13.3小结:测试并不可怕326
第14章轻松使用Django327
14.1Django简介327
14.1.1Django的安装327
14.1.2Django的架构327
14.1.3Django的文档331
14.2数据库的迁移331
14.2.1什么是数据库的迁移331
14.2.2Django的迁移功能332
14.3fixture replacement339
14.3.1什么是测试配置器339
14.3.2几种不便使用默认配置器的情况342
14.3.3如何使用factory_boy343
14.3.4消除“不便使用默认配置器的情况”345
14.4Django Debug Toolbar346
14.5小结353
第15章方便好用的Python模块355
15.1轻松计算日期355
15.1.1日期计算的复杂性355
15.1.2导入dateutil357
15.2简化模型的映射359
15.2.1模型映射的必要性359
15.2.2映射规则的结构化与重复利用360
15.2.3导入bpmappers363
15.2.4与Django联动366
15.2.5编写JSON API367
15.3图像处理369
15.3.1安装Pillow369
15.3.2图像格式转换371
15.3.3改变图像尺寸372
15.3.4剪裁图像374
15.3.5对图像进行滤镜处理375
15.4数据加密377
15.4.1安装PyCrypto377
15.4.2通用加密系统的加密及解密377
15.4.3公钥加密系统(RSA)的加密与解密378
15.5使用Twitter的API382
15.5.1导入tweepy382
15.5.2添加应用与获取用户密钥382
15.5.3获取访问令牌385
15.5.4调用Twitter API385
15.5.5编写用Twitter认证的系统387
15.6使用REST API393
15.6.1REST简介394
15.6.2导入Requests394
15.6.3导入测试服务器394
15.6.4发送GET请求396
15.6.5发送POST请求397
15.6.6发送JSON格式的POST请求398
15.6.7使用GET/POST之外的HTTP方法399
15.7小结400
附录401
附录AVirtualBox的设置402
A.1安装VirtualBox402
A.2新建虚拟机403
A.3备份虚拟机404
附录BOS(Ubuntu)的设置407
B.1安装Ubuntu407
B.2SSH的设置417
B.3中文的设置419
B.4添加用户419

部分内容试读

暂无.

关于此书评价

暂无.

书摘内容

暂无.

Python项目开发实战(第2版)最新最全的试读、书评、目录、简介信息由Python中文网整理提供。