为什么要列这一个书单?我认为某一领域的技术人,在他的职业生涯中,一定有一些绕不过去的技术和非技术的知识。有的时候,靠自己摸索、到处偷师,倒也能掌握。但是,这些别人早就趟过去的坎,大多已经有了非常棒的书籍作为总结。看了这些书,脚下的路就要平一些。这个书单,就是为了找到移动领域的这些书。
这些书籍都是移动前线群里推荐的,都是他们自己读过,甚至是反复读的书。如果你对这些书有什么看法,欢迎发表意见,或者添上你觉得认为必须的书。
这个书单也不会一成不变,欢迎大家的增补修改。
计算机基础
NO.1《程序是怎样跑起来的》
推荐理由:类似深入理解计算机的图解版本,如果第一次看深入理解计算机看不进去,可以先看看,了解个大概,再看深入理解计算机这本就容易很多。
NO.2《深入理解计算机系统》
推荐理由:了解一个程序的编译、链接、执行过程,以及虚拟内存是如何分配等。
通用编程
NO.3《算法(第四版)》
推荐理由:难度不及算法导论,但是更适合工程领域,导论恐高症患者的福音。
NO.4《编程珠玑》
推荐理由:编程珠玑这本书推荐给有代码基础的小伙伴,推荐理由是书里会有一些优化和算法基础的思想,适合入门之后的进阶,对优化和算法能够有一些基础的认识。对程序员写出优质而高效的代码比较有帮助,至少我个人阅后感受如此。
NO.5《设计模式之禅》
推荐理由:读完,通俗易懂,更深刻理解面向对象和面向接口。
注:设计模式这几本书难以取舍,选一本读即可。
NO.6《大话设计模式》,《大话数据结构》
推荐理由:都是菜鸟和大牛的对话模式,看着不枯燥,内容也很全。
推荐理由2:推荐初级程序员看<大话设计模式>,这本书有个好处是他是演进式的,虽然内容很简单,看完也没办法直接指导到开发上。但是会有一种恍然大悟的感觉,原来这就是设计模式。比起四人组的设计模式,太过于专业的说明和定义,对于初级开发人员来说,往往无法消化甚至抵触。回到大话设计模式,将实践和故事相结合,即让设计模式接了地气,又引发自己的思考,我怎么可以改造既有的项目。同时作为入门书籍,看完后你会更渴望更专业的设计模式的内容也算是这本书的一个意义。总结就是,一本非常入门接地气的设计模式书籍。
NO.7《构建之法》
推荐理由:一本有趣的软件工程书,新手哪知道什么是软件工程。书里描述了作者在的团队遇到了哪些问题,如何正视,怎样改善,不断改进。理论和实践相结合。面向实战。讲述软件工程中不同角色的作用。看完后可以帮助新手更好地理解软件开发是怎么个回事,更快地走向成熟。
NO.8《代码大全》
推荐理由:代码大全全面讲述了工程实践的要点,深入每个细节。可以帮助新手拓展视野,熟悉规范,也可以在学习一些概念或技术时当做字典查。总之代码大全的英文名code complete很能说明问题:帮助你完成整个编码活动的全过程。
NO.9《代码整洁之道》
推荐理由:这几天在看,讲解详细,有提供示例,可以提高自己编码素质。
NO.10《图解http》
推荐理由:做网络编程必须要懂的基础书,看这本书对做网络缓存和网络性能优化都有不小的帮助,最主要是书内容深入浅出 图文并茂,通俗易懂。
NO.11《单元测试的艺术》
推荐理由:由浅入深地介绍了单元测试的各方面知识,告诉我们如何写好单元测试,如何写易于测试的代码,如何处理遗留代码等问题,有理论有案例。
iOS开发
NO.12《Effective Objective-C 2.0》
推荐理由:这本书很适合初学者,能帮助初学者一开始就打下比较规范的基础,里面讲了很多规范。读了这本书能让初学者少走很多弯路。
推荐理由2:精炼,针对性强,对一些生僻容易懵圈的知识点讲得比较细。
NO.13《iOS编程实战》
推荐理由:尤其推荐小公司的没有系统学习过iOS的同学看,实战和自己闭门造车完全两码事,这书不是教人这个api怎么用,而是应该这样用。
NO.14《Objective-C高级编程 iOS与OS X多线程和内存管理》
推荐理由:这本书给我带来的最大价值是:要让自己对一项技术有全面的认识,光从官方文档、开源代码中寻找答案并不够,还要会用各种工具来验证自己的想法。可以看出作者对技术非常严谨的态度,虽然偶尔有些翻译并不容易让人理解,但真的是一本进阶型的书。
NO.15《iOS编程(第4版)》
推荐理由:作者之一Aaron Hillegass曾就职于NeXT公司和Apple公司。 书涵盖了初级到中级的,书中在讲到第一次出现的知识点的时候,通常会简要的解释一下,所以初学者很容易上手。缺点是这书有点老,但OC的基础知识讲解的很扎实。
NO.16《Swifter – 100 个 Swift 必备 tips》
推荐理由:比较偏帮助手册类的tips,虽然没有讲Swift比较深入的,但对前期学习Swift梳理与Objective-C及混编有很大帮助。
NO.17《iOS应用逆向工程 第2版》
推荐理由:iOS应用逆向最有价值参考书籍,内容涵盖多个实例,阐述class-dump、Theos、Cycript、Reveal、IDA、LLDB等常用工具的使用,通俗易懂;总结提炼出一套从UI观察切入代码分析的iOS应用逆向工程方法论,激发iOS开发人员对应用安全的思考,把主动防御的思想渗透到项目开发中。
Android开发
NO.18《第一行代码》
推荐理由:我刚刚大体看了一遍 ,这本书学完之后完全足够入门,而且不会令初学者感到枯燥。在入门阶段还可以作为工具书不断去翻阅,不同时期会有不同的感受。 里面打小怪兽升级的旁白,现在回过头看还确实挺有趣的。
NO.19《App研发录》
推荐理由:研发辅助类,包含了异常的分析,竞品分析和项目管理,书不厚,但是有些能增加知识的广度。
NO.20《Java并发编程实战》
推荐理由:通过java现成的并发工具类介绍和实例,深入浅出的说明如何安全地进行多线程操作和优化。
NO.21《Android.C++.with.the.NDK》
推荐理由:android jni入门与提高,系统讲解android jni的编译、提供的接口、java jni的通讯方式等,对于需要学习jni开发的同学是必读,毕竟jni文档缺乏。
NO.22《Android开发艺术与探索》
推荐理由:主要讲一些原理,主要学习为什么这么用,以及源码解析说明。
NO.23《Java编程思想》
推荐理由:Java编程思想是Java圣经,要有一定经验去看效率才不错。
人文类
NO.24《程序员健康指南》
推荐理由:本书是为了程序员量身订造的健康指南,针对头痛,眼部疲劳,背部疼痛和手腕疼痛等常见问题,简要介绍了其成因,测试方法,并列出了每天的行动计划,从运动,饮食等方面给出详细指导,帮助程序员在不改变工作方式的情况下轻松拥有健康。
NO.25《重新定义公司 How Google Works》
推荐理由:一分理论三分实践相结合,告诉你互联网公司运作的合理方式。亮点是针对理论有 Google 实际的实行方式,也有多个 Google 内部项目成长的曲折过程,还有谷歌退出中国的内部爆料。
NO.26《黑客与画家》
推荐理由:非常有深度的一本书,作者在经济,社科,历史,等很多方面都很有自己的见解,更不用说技术和创业了。书中很多观点有准确的例证引用,让人信服。
NO.27《代码的未来》
推荐理由:Ruby发明人Matz的大作,这是一本技术性随笔,介绍了现代编程的方方面面,从lisp宏到gc技术,再到元编程,IPC,多核及云计算,NoSQL。。。虽说是随笔,还是具备一定的技术性的,很多地方要认真的看才看得懂。作者的语气很谦虚亲切,很多地方甚至有卖萌的嫌疑,哈!总之,是一本广大程序猿增长见识,拓宽视野的极佳之作!
效率类
NO.28《把时间当做朋友》
推荐理由:它的理念就是,时间是不可以管理的,最主要改变的是自己的心智!
技术管理
NO.29《人月神话》
推荐理由:管理复杂项目的见解深刻,并有大量软件工程的实践。
NO.30《人件》
推荐理由:给技术管理者或者希望走向管理方向的人参考。最近在看第二遍,收获很大。软件即人件,软件开发不光要解决技术问题,更重要是人的问题。为何很多工作加班才能解决?公司为何无法留住员工?读完这本书可以找到一些答案。