好吧!我只是借着双11的余热,骗你进来的。这年头起一个正经严肃认真的标题已经没人愿意点开阅读了。

(同事问你在用手机看什么?居然哭了,自己点开的文章含着泪也要看完….)

事情是这样的,双11前出版社编辑告诉我,作为优秀作者可以到他们的出版社网站上挑选5本自己喜欢的书,免费赠送!

现在我们的时间越来越碎片化,很难有整块的时间去阅读一本书。尤其是技术书,在阅读的过程中还操作上面的例子或代码;我其实更喜欢以需求为驱动去学新的技术,比如,我要用Flask开发一个网站,以此为需求驱动我查找相关资料进行学习。

当然,好书还是值得我们花时间去学习的,什么算好的技术书呢?我认为:由浅入深、通俗易懂的介绍清楚一个技术。能做到这一点,在我看来就是一本好书。我去年阅读的《Test-Driven Development with Python》,以及今年阅读的《第一行代码 Android》,这两本在我看来就是好书。

言归正传,接下来介绍一下我选的这几本书,由于是大概的翻阅了一下书中的内容,再加上个人的水平和阅读喜好不同,无法做到客观中立第三方,只能分享一点我的个人看法。

《第一季Kotlin崛起:次世代Android开发》

这是我选择的第一本书,第一次听说Kotlin编程语言的时候还是在今年“Google I/O 2017开发者大会”的时候,因为这家伙在此之前从来没在编程语言排行榜上出现过,也没听说身边的公司或团队在使用。我们都知道Google 一直受制于人Oracle对Java的把持,为Android选择新的开发语言也在情理之中。

惊讶的是短短半年就问世了好几本关于Kotlin 中文书,《第一季Kotlin崛起:次世代Android开发》就是其中之一。

全书分三部分,第一部分Kotlin基础,和大多书编程入门书一样从“hello world”开始,很适合零编程的小白;第二部分面向对象;前两部分学习可以会对Kotlin语法有一个整体了解。第三部分介绍Android开发,基本把Android开发中的核心部分都做介绍到了,最后两章是实战例子。

Kotlin的整体语法要比Java简化不少,但要以此做为卖点的话,Python就只能在旁边呵呵了!一个语言能否发展起来,主要是看它的扩展库/框架是否足够丰富和优秀。显然这一点Kotlin和Java差距巨大。但是,如果你是一名Android开发或测试开发的话,有必要学习一下!毕竟有Google加持。

《Android移动性能实战》

这是我选择的第二本书,相比较Android自动化测试来说,大家似乎对Android性能方面关注的较少。其实,制约Android应用体验的一个很大的问题就是性能,启动速度、卡顿、耗电等,优化好APP的性能对于APP用户体验也非常重要。

腾讯的测试团队太牛B了,如果你是个纯小白,且不懂Android开发,就不要买了,因为书中会直接贴小一段代码,告诉你在他们有的某款APP的某个场景下会有问题。

这一点,我在《腾讯android自动化测试实战》一书中已经领略过了,前面还在讲appium的API,后面就直接贴一段他家某款APP的自动化代码。没头没尾的那种,可操作性太差,我们最多也只能看看他们写的代码的风格。

不过,我觉得他们家团队出的书很适合做公司内部分享,因为大家都是在一个level上,而且都彼此熟悉相关的产品,我贴一段代码一分析,大家自然就收获良多,有技术有经验。我突然有一个大胆的猜测,这书确实是内部团队PPT的提炼。因为本身就是团队合著的。

《京东系统质量保障技术实战》

除了BAT外,京东是国内第四大互联网公司,我很好奇他们的测试团队所应用的技术。

这是我挑选的唯一一本正儿八经给测试人员看的书。整本书由京东“测试和质量部”所著。打开书发现是内容彩色的,纸张很好。

整本书展示他们部门的技术体系,整本来看是Java流的,就是测试开发相关工作主要由Java语言完成;如果你想了解京东的测试是如何做测试的,会用到哪些技术和工具,那么值得一读。但如果想就着这本书就把这些技术和工具学会,不可能。

对了,书有一章介绍Web安全,值得一读,有比较详细的概念和例子,很适合像我这种安全测试小白。

《Jenkins权威指南》

Jenkins持续集成基本上已经成为了开发团队的标配,不管是开发、测试、还是运维都会用到。

这本是中文翻译版,是2016年10月出版,如果你不想在网上找各种零碎的Jenkins教程的话,本书很适合你。

不过,书中的内容有些过时,虽然书中没指明Jenkins的版本,但有提到Java版本用的是“最新的”Java 6,但是前不久Java9正式版推出。另外,我前几天在装 Jenkins 2.73.3 版本时发现和旧的版本有不小的差别,安装和使用都比以前复杂了许多。

《自己动手写Docker》

因为云计算领域的兴起,“容器”一词就火了,提到容器就不得不提“Docker”,可以说Docker已经成为了容器的代名词。

前些天看了一篇文章“左耳朵耗子:Go语言?Docker? 对新技术怎么看?”嗯!是有必要了解一个Docker了,因为我之前从未接触过Docker。这里就不对这本书做评价了,看完了再来分享。

对了,上周推送的主文章里,“测试开发”需要哪些技能,“Docker”一词出现了11次。