敏捷开发实践(2) — 敏捷软件开发者的习惯
敏捷开发实践(2) — 敏捷软件开发者的习惯
敏捷开发的最小单位就是参与敏捷开发的个人。将这些敏捷开发者聚集起来,就形成了敏捷开发团队。
正如上回介绍的,敏捷开发是一种以人为核心、迭代、循序渐进的开发方法,它以最大可能地发挥团队的作用为目的。根据需要,随时改善,以降低软件开发中的风险。
敏捷开发者的态度
敏捷开发者首先需要有忠实,勤恳的态度,在此之上要有持续改善和迅速达成目标的紧迫感。如何让开发者养成敏捷的心态,如何磨练开发者敏捷的意志,让开发者了解敏捷的习惯很重要。
习惯来自于经验,习惯需要用实践来养成。我们来看看作为敏捷软件开发者必备的4种技能 :
- 编故事(Creating Stories)
这里不是让你去写一部小说,而是让开发者站在用户的视点,用用户能理解的词汇描述软件系统的机能,行为。只有理解了[......]
iPhone开发技巧之环境篇(11) — 让Xcode对应多个版本的iOS SDK
iPhone开发技巧之环境篇(11)— 让Xcode对应多个版本的iOS SDK
每次Xcode升级,以前的iOS SDK都会被覆盖掉;这是许多人碰到并头疼的问题—-如果想用旧版本的SDK编译就没有办法了。
这里就介绍一下Xcode与多个SDK版本并存的方法。针对Xcode的安装顺序总结了两种方法 :
安装新版Xcode时备份旧版SDK
这是最简单的方法 —- 每当安装新版的Xcode时,备份之前旧的SDK,安装Xcode之后,回复到指定目录下即可。
- 备份SDK路径
1 2 3 4 5
iOS 设备用 $ /Developer/Platform[......]
iPhone开发技巧之发布篇(5)— 在程序中添加广告
iPhone开发技巧之发布篇(5)— 在程序中添加广告
iPhone/iPad的程序,即使是Free的版本,也可以通过广告给我们带来收入。前提是你的程序足够吸引人,有足够的下载量。
这里,我将介绍一下程序中集成广告的方法。主要有两种广告iAd和AdMob。(还有其他多种可被植入的广告SDK,这里就不都一一介绍了)
iAd
从iOS 4开始,Apple增加了叫做 iAd 的架构,通过它我们可以在程序中提供Apple的广告服务。Apple会支付给开发者60%的广告收入。
iAd Framework中有例程,我们可以下载学习。这里,把简单的步骤说明一下 :
追加iAD Framework
首先,在X[......]
iPhone开发技巧之环境篇(10)— 在控制台调试iPhone应用程序
iPhone开发技巧之环境篇(10)— 在控制台调试iPhone应用程序
使用Xcode调试程序的时候,是否觉得有时候运行速度太慢。用Xcodebuild编译好程序之后,Xcode作为IDE纯粹是为了debug,使用iPhone模拟器而用的。其实iPhone模拟器只是Xcode自带的一个工具,不需要Xcode也可以启动的。这里,我们来看看一个叫做iphonesim的东东,通过控制台来模拟调试我们的iPhone程序。有了它就可以解决Xcode过于庞大,运行速度慢的问题。
首先,我们从github上下载了程序源码,通过Xcode编译。这之后iphonesim接生成了,可以通过命令行来使用它。
- 比如我调试一个Test.app的程序
1 2 3 4 5 6
$ pwd /Users/Tester/Downloads/iphon[......]
敏捷开发实践(1) — 走进敏捷软件开发
敏捷开发实践(1) — 走进敏捷软件开发
敏捷开发是什么
敏捷软件开发是一个概念意义上的框架,用来取代软件工程项目的概念;它强调在项目的整个生命周期中,拥抱并促进由于软件进化式的发展所带来的变化。
简单的说,敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
敏捷开发中涵盖多种开发元素:迭代开发,增量交付,测试驱动,结对编程,Usecase驱动,持续集成,重构等。我们知道软件开发项目中式样变更,需求变更是影响开发进度、成败的重要因素,而敏捷开发元素的利用可以有效地规避这些风[......]
乔布斯教给我们十条经验
从网上看到的文章,觉得很有学习的价值。
乔布斯带给我们的不光是iPhone, iPad, Mac电脑,更多的还是他的思想,他给予我们的人生启迪。
-----
几年后,儿孙会问,生活在史蒂夫·乔布斯担任苹果CEO的时代是怎样的。他们会说:“乔布斯是最棒的商界CEO。他是怎样的人?你从他那里学到了什么?”你怎样回答?忽视当下事物的重要之处是人之天性。与我们同时代的伟人显得比较普通,因为他们也呼吸我们呼吸的空气。
但是,别搞错。史蒂夫·乔布斯一旦离去,人们情感就会大爆发。对他的称颂和悼念将会无穷无尽。此外还会有一种共同的惋惜:当他在世的时候,我们没有更清醒,对他更关注。
他的每次重要演讲,或者收入报告会或者 YouTube上播放的闲谈看起来都会智慧[......]
iPhone开发技巧之环境篇(9)— Xcode中的注释
在用Xcode编辑 Objective-C 代码的时候,我们常常使用类似 "#pragma mark" 的注释。使用它可以在Xcode的Function Menu中显示具体的列表。
Function Menu 是 Xcode 编辑器中表示的上下文菜单。通过它,我们可以很方便地调到想去的地方,并把握源代码的全局信息。
比如向下面简单地写到:
就可以在 Function Menu 中得到:
如果使用 "#pragma mark -" 将得到一条分割线:
另外,我们还可以写一些 TODO:1 , FIXME: 等注释,类似下面的样子:
所有的如下:
1. 这里要[......]
iPhone开发技巧之数据篇(2)— iPhone程序中的加密处理
iPhone开发技巧之数据篇(2)— iPhone程序中的加密处理
CCCrypt
在Objective-C语言中,加密时常用到CCCrypt(3cc) Mac OS X Manual Page。下面的代码使用 CCCrypt() ,给 NSData 类增加了 AES256EncryptWithKey, AES256DecryptWithKey 方法。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57[......]
iPhone开发技巧之调试篇(2)— 保存日志
大部分人调试程序都是看日志吧,这里我就给大家总结一下iphone程序中添加保存日志的方法。
Objective-C开发程序的时候,有专门的日志操作类NSLog,它将指定的输出到标准的错误输出上(stderr)。我们可以利用它在Xcode的日志输出窗口,或者是输出到具体的文件当中。
下面是我在程序中常用到的日志宏,用DEBUG开关管理,也就是说只有在DEBUG模式下才让日志输出 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
#ifdef DEBUG # define LOG(fmt, ...) do { \ NSString*[......]