我常用到的是这几个:
持续集成与自动化测试 Continuous Integration,CI
所谓持续集成与自动化,是指用机器替代人工持续不间断地集成代码,让产品可以快速迭代,同时还能保证代码质量。一个完整的持续集成环境需要Jenkins与Git、Gerrit一起配合,才能发挥出它最强大的功能。一般来说,在开发者Push代码后会首先到Gerrit进行代码Review。Review分为两部分,一部分是使用程序的自动化Review,主要是通过静态代码检测工具来进行代码质量分析(比如Sonar、CheckStyle、FindBugs等);另一部分是人工Review,主要检测代码的运行逻辑,当Review完毕后,通过Git hook、Jenkins完成代码的自动拉取、编译和部署,最后通过自动化测试工具完成测试用例,并生成相应的测试报表。这样一整个测试流程需要人工来做的也就是人工代码Review部分,而其他部分全部通过自动化来实现,甚至可以在半夜对程序进行不间断Monkey测试,测试稳定性和潜在问题。
Java继承机制的弊端
Android使用netty框架配置SSL适配7.0以上的系统
最近项目在使用的netty框架加上了SSL安全设置,SSL可单项验证也可双向验证,我使用的是双向验证,即Client验证Server同时Server也验证Client。
以下只说明Client(Android)端的实现方式。
MySql的modify和change区别
- 相同点:都是用来改变column的属性,change和modify执行成功后都会用本次设置的属性替换column原属性,请注意是【替换】;
- 不同点:重命名只能使用change
「巧用Gradle构建Android应用」读书整理
周末看完了「巧用Gradle构建Android应用」,故将新认知整理在此以便以后供自己以及有需要的人查看。