新書推薦:
《
构建未来教育图景:实践以学生为中心的育人模式
》
售價:NT$
398.0
《
中考热点作家孙道荣2024年散文精选集三册
》
售價:NT$
581.0
《
全球城市案例研究2023:基于网络的合作与竞争国际经验借鉴
》
售價:NT$
908.0
《
引爆:炸药、硝酸盐和现代世界的形成
》
售價:NT$
388.0
《
人类星球:我们如何创造了人类世(企鹅·鹈鹕丛书013)
》
售價:NT$
418.0
《
伏候圣裁:中国古代的君主与政治
》
售價:NT$
449.0
《
艺术图像学研究(第一辑)
》
售價:NT$
857.0
《
摆脱强迫的人生(修订版)
》
售價:NT$
403.0
|
編輯推薦: |
★真实项目中的经验总结
★行业精英们的智慧结晶
团队开发环境的搭建与管理ticket驱动开发源代码管理MercurialPyPI包Jenkins持续集成性能优化(nginx与gunicornGAE开发Django框架……
本书来自真正的开发现场,是BePROUD公司众多极客在真实项目中的经验总结。
作者从Python的环境搭建开始讲起,介绍了Web应用开发方法、任务管理,以及评审、测试及高效部署、服务器调试等内容,尽可能网罗了Python开发流程中的方方面面。在这里,Python仅仅是一个载体,很多知识点在非Python下也适用,这也是本书最大的特色所在。
|
內容簡介: |
《Python开发实战》来自真正的开发现场,是BePROUD公司众多极客在真实项目中的经验总结。
作者从Python的环境搭建讲起,介绍了Web应用开发方法、任务管理,以及评审、测试及高效部署、服务器调试等内容,尽可能网罗了Python开发流程中所涉及的方方面面。在这里,Python仅仅是一个载体,很多知识点在非Python下也适用,这也是本书最大的特色所在。
《Python开发实战》适合有一定基础的Python开发者,以及使用PHP或Ruby进行网页开发的读者阅读。
|
目錄:
|
第一部分使用Python开发
01开始使用Python
01.01Python环境搭建
01.01.01安装apt软件包
01.01.02easy_install与pip
01.01.03安装virtualenv
01.01.04使用不同版本的Python
01.02Mercurial环境搭建
01.02.01Mercurial的简介
01.02.02Mercurial的安装
01.02.03代码库的建立
01.02.04文件的操作
01.03编辑器与方便的开发工具
01.03.01编辑器
01.03.02Python开发小贴士
01.04本章小结
02开发Web应用程序
02.01了解Web应用程序
02.01.01什么是Web应用程序
02.01.02Web应用程序与桌面应用程序的不同
02.01.03Web应用程序的机制
02.02Web应用程序开发的事前准备
02.02.01关于Flask
02.02.02Flask的安装
02.03Web应用程序的开发流程
02.04明确需要开发的目标系统
02.04.01留言簿应用程序的需求
02.04.02明确必要的功能
02.04.03明确页面的表现形式
02.05页面设计
02.05.01页面设计草图
02.05.02设计HTML和CSS
02.06后台功能的开发
02.06.01保存评论数据
02.06.02取出保存过的评论数据
02.06.03使用模板引擎显示页面
02.06.04准备评论的目标URL地址
02.06.05调整模板输出
02.07功能验证
02.08本章小结
第二部分团队开发的周期和流程
03准备团队开发环境
03.01在公共服务器上建立用户、设置权限
03.01.01用户与用户组的建立
03.01.02sudoers
03.01.03virtualenv
03.02问题跟踪系统
03.02.01Trac
03.02.02安装Trac
03.03版本控制系统
03.04有利于团队开发的工具
03.04.01Skype
03.04.02DropBox
03.04.03GoogleDocs
03.05本章小结
04编写开发文档的准备
04.01编写项目开发文档
04.01.01在写文档时,我们不想做什么工作
04.01.02愿意在什么样的条件下编写文档
04.02Sphinx的基础与安装
04.02.01Sphinx的安装
04.02.02reStructuredText入门
04.02.03使用Sphinx编写结构化文档的流程
04.02.04Sphinx的扩展
04.03引入Sphinx后解决的问题与新的问题
04.03.01采用纯文本,可使用一般的编辑器来写文档
04.03.02内容与形式分离,不关注文档形式而专注于内容的编写
04.03.03不仅仅是PDF,通过一个源可以输出多种格式
04.03.04将文档分割成多个文件编辑,进行结构化处理
04.03.05通过Mercurial进行简单的版本控制
04.03.06将API参考手册和对应程序协同管理
04.03.07一般文档可通过Web浏览器共享
04.03.08Sphinx引入后仍需探讨的问题
04.04文档集合的创建与利用
04.04.01什么是文档集合
04.04.02项目中必不可少的文档列表
04.04.03面向团队领导、经理
04.04.04面向设计人员
04.04.05面向开发人员
04.04.06面向用户
04.05本章小结
05问题跟踪与评审
05.01任务管理与ticket驱动开发
05.01.01开始写代码……在这之前还是先创建一个ticket
05.01.02创建和ticket编号一致的分支
05.01.03让版本发布与分支对应
05.01.04分支的合并
05.01.05整理ticket信息
05.01.06ticket的分割
05.02评审
05.02.01为什么需要评审
05.02.02作为被评审人:代码评审篇
05.02.03作为被评审人:工作评审篇
05.02.04作为评审人:代码评审篇
05.02.05作为评审人:工作评审篇
05.03本章小结
06模块的分割设计与单元测试
06.01模块分割设计方法
06.01.01功能设计
06.01.02Web应用程序的构成组件
06.01.03组件设计
06.01.04模块与包
06.02测试
06.02.01测试的种类
06.02.02编写单元测试
06.02.03从单元测试中去除环境依赖
06.02.04使用WebTest进行功能测试
06.03从测试来改善设计
06.04迈向测试执行的自动化
06.04.01测试环境的自动生成
06.04.02可以反复执行的测试环境
06.05本章小结
07打包与自动建立环境
07.01源代码打包与发布自动化
07.01.01打包
07.01.02程序包的自动化发布
07.01.03向PyPI注册程序包
07.01.04向PyPI上传程序包
07.01.05书写程序包的使用说明
07.02安装与环境关联库的介绍
07.02.01Distribute
07.02.02pip
07.02.03virtualenv
07.03应用环境自动构建所必备的功能与工具
07.03.01准备独立的Python环境
07.03.02Python库的程序包化以及标准安装
07.03.03锁定应用环境的程序包版本
07.03.04整个环境可以离线安装
07.03.05重建环境时可以复用缓存
07.03.06使用编译好的二进制模块
07.03.07当PyPI宕机或高峰时,有备用服务器
07.04自动应用环境构建
07.04.01开始
07.04.02构建初始环境
07.04.03包含源代码的应用环境
07.04.04在部署环境中的离线安装
07.04.05安装部署需要二进制编译的程序包
07.05公司内部共享专用库
07.05.01在多个项目间共享代码的方法
07.05.02自动建立非公开程序包的应用环境
07.06本章小结
08使用Mercurial管理源代码
08.01Mercurial的代码库管理与配置
08.01.01在服务器上设置UNIX用户与用户组
08.01.02设置umask值
08.01.03创建代码库
08.01.04配置hgrc
08.01.05使用配置后的代码库
08.01.06使用hgweb作为简易的中央代码库
08.02灵活使用钩子功能
08.02.01钩子功能的设置方法
08.02.02使用钩子脚本
08.02.03钩子事件
08.02.04钩子执行的时机
08.02.05编写钩子脚本
08.03分支操作
08.04分支间的合并
08.04.01没有冲突的合并
08.04.02用文本编辑器消除合并冲突
08.04.03合并的模式与冲突的种类
08.04.04使用图形界面合并的方法
08.05GUI客户端
08.05.01GUI客户端的介绍
08.05.02GUI客户端的优点
08.05.03GUI客户端的缺点
08.05.04hgwebcommit
08.06考虑实际运用而产生的BPMercurialWF
08.06.01概要
08.06.02背景
08.06.03代码库的构成
08.06.04源代码提交
08.06.05设计师的提交操作
08.06.06分支的合并
08.06.07集成分支
08.07本章小结
09使用Jenkins持续集成
09.01什么是持续集成
09.01.01关于持续集成
09.01.02关于Jenkins
09.02Jenkins的安装
09.02.01安装Java
09.02.02安装Jenkins主体程序
09.02.03本章用到的Jenkins插件
09.03执行测试代码
09.03.01简单测试代码的示例
09.03.02注册作业
09.03.03作业执行成功与失败
09.04测试结果通过报表输出
09.04.01安装nose
09.04.02调用nosetests命令
09.04.03为使用nose修改Jenkins配置
09.05展示代码覆盖率报告
09.05.01coverage的安装
09.05.02coverage命令的概述:分为"统计"和"输出"两步
09.05.03通过nose执行coverage
09.05.04读取代码覆盖率的报告
09.06执行Django测试
09.06.01Django模块的安装
09.06.02Django的安装
09.06.03样本代码
09.06.04Jenkins的创建
09.06.05"构建后处理"部分的配置
09.07通过Jenkins构建文档
09.07.01Sphinx的安装
09.07.02配置Jenkins作业的注册信息
09.07.03Sphinx的构建在出现告警时作业失败
09.07.04查阅编译成果
09.07.05使用TaskScannerPlugin管理TODO信息
09.07.06TaskScannerPlugin的配置示例
09.08进一步灵活使用Jenkins
09.08.01便捷的功能
09.08.02进一步的改善
09.09本章小结
第三部分服务的公开
10自动构建和部署环境
10.01安装与配置具有依赖关系的程序包
10.01.01创建操作用户
10.01.02列举必要的程序包
10.01.03封闭环境的安装
10.01.04应用程序的配置
10.01.05环境验证
10.02整理部署的操作步骤
10.02.01赋予代码库访问权限
10.02.02克隆源代码库
10.02.03部署方法总结
10.03使用Fabric将操作步骤自动化
10.03.01什么是Fabric
10.03.02安装与环境配置
10.03.03编写简单的脚本
10.03.04参考步骤说明书进行自动化
10.03.05验证执行行为
10.03.06添加注释
10.04本章小结
11改善应用程序的性能
11.01Web应用程序的性能
11.01.01Web应用遭遇大量请求时会如何
11.01.02高负载时的对策
11.02留言簿应用程序的性能测试
11.02.01什么是应用程序的性能
11.02.02ApacheBench的安装
11.02.03使用ApacheBench检测性能
11.03关于gunicorn
11.03.01gunicorn的安装
11.03.02使用gunicorn运行应用程序
11.04关于nginx
11.04.01nginx的安装
11.04.02nginx的性能测试
11.05使用nginx和gunicorn共同承载应用程序
11.05.01gunicorn的配置
11.05.02nginx的配置
11.05.03测定nginx+gunicorn组合的性能
11.05.04性能的比较
11.06本章小结
12GoogleAppEngine
12.01关于AppEngine
12.01.01什么是AppEngine
12.01.02AppEngine的优点
12.01.03AppEngine平台的局限性
12.01.04使用案例
12.02AppEngine的主要功能
12.02.01数据存储
12.02.02自动扩展与负载分散
12.02.03在AppEngine中的Python运行环境
12.03AppEngine的开发准备工作与步骤确认
12.03.01获取账号并开发程序
12.03.02创建SDK
12.03.03开发简单的应用程序
12.03.04部署
12.04在AppEngine中开发Flask的应用程序
12.04.01使已有的应用程序运行
12.04.02部署并运行
12.04.03管理终端
12.05调整:改善应用程序性能
12.05.01根据Appstats进行性能测试
12.05.02使用多线程来处理
12.06性能调优:减少计费额
12.06.01与计费有关的配置
12.06.02计费表
12.06.03节约实例的数量
12.06.04减少数据存储的操作
12.07测试
12.07.01在测试代码内使用API
12.07.02测试的执行
12.07.03在真实服务器上测试
12.08本章小结
第四部分加速开发的技术
13测试是不可分割的一部分
13.01认清测试现状
13.02在开发的各个阶段引入测试工作
13.02.01文档的测试文档评审
13.02.02编写测试的方法输入与输出
13.02.03测试的执行与测试阶段的轮换把什么工作做到什么程度
13.03本章小结:对测试不要抱有恐惧
14便捷地使用Django
14.01什么是Django
14.01.01Django的安装
14.01.02Django的架构
14.01.03Django的文档
14.02让数据库的集成更加方便
14.02.01什么是数据库的集成
14.02.02默认情况下Django能做什么
14.02.03对,就是它,使用South就能够做到
14.03使用fixturereplacement使测试更加方便
14.03.01什么是测试配置器fixture
14.03.02默认测试配置器的不便之处
14.03.03使用factory_boy
14.04使调试更加方便
14.05本章小结
15使用方便的Python模块
15.01简化日期计算的模块
15.01.01日期计算的复杂之处
15.01.02引入dateutil
15.02简化模型映射的模块
15.02.01必须进行模型映射的理由
15.02.02映射规则的构造与复用
15.02.03导入bpmappers模块
15.02.04与Django的联动
15.02.05编写JSONAPI
15.03判断字符的编码
15.04RSS阅读订阅的解析模块
15.04.01导入feedparser模块
15.04.02使用feedparser解析RSS阅读订阅信息
15.05图像处理模块
15.05.01安装PIL模块
15.05.02转换图像格式
15.05.03调整图像的尺寸
15.05.04截取图像的某个部分
15.05.05图像的过滤处理
15.06数据的加密处理模块
15.06.01PyCrypto的安装
15.06.02共同密钥的加密与解密
15.06.03公开密钥方式的加密与解密
15.07调用Twitter的API模块
15.07.01导入tweepy模块
15.07.02应用程序的登录域和ConsumerKey的获取
15.07.03获得AccessToken
15.07.04调用TwitterAPI
15.07.05开发使用Twitter认证的应用程序
15.08本章小结
附录A建立VirtualBox环境
附录B建立操作系统环境
|
|