為什么要列這一個(gè)書單?我認(rèn)為某一領(lǐng)域的技術(shù)人,在他的職業(yè)生涯中,一定有一些繞不過(guò)去的技術(shù)和非技術(shù)的知識(shí)。有的時(shí)候,靠自己摸索、到處偷師,倒也能掌握。但是,這些別人早就趟過(guò)去的坎,大多已經(jīng)有了非常棒的書籍作為總結(jié)。看了這些書,腳下的路就要平一些。這個(gè)書單,就是為了找到移動(dòng)領(lǐng)域的這些書。
這些書籍都是移動(dòng)前線群里推薦的,都是他們自己讀過(guò),甚至是反復(fù)讀的書。如果你對(duì)這些書有什么看法,歡迎發(fā)表意見(jiàn),或者添上你覺(jué)得認(rèn)為必須的書。
這個(gè)書單也不會(huì)一成不變,歡迎大家的增補(bǔ)修改。
計(jì)算機(jī)基礎(chǔ)
《程序是怎樣跑起來(lái)的》
推薦理由:類似深入理解計(jì)算機(jī)的圖解版本,如果第一次看深入理解計(jì)算機(jī)看不進(jìn)去,可以先看看,了解個(gè)大概,再看深入理解計(jì)算機(jī)這本就容易很多。
《深入理解計(jì)算機(jī)系統(tǒng)》
推薦理由:了解一個(gè)程序的編譯、鏈接、執(zhí)行過(guò)程,以及虛擬內(nèi)存是如何分配等。
通用編程
《算法(第四版)》
推薦理由:難度不及算法導(dǎo)論,但是更適合工程領(lǐng)域,導(dǎo)論恐高癥患者的福音。
《編程珠璣》
推薦理由:編程珠璣這本書推薦給有代碼基礎(chǔ)的小伙伴,推薦理由是書里會(huì)有一些優(yōu)化和算法基礎(chǔ)的思想,適合入門之后的進(jìn)階,對(duì)優(yōu)化和算法能夠有一些基礎(chǔ)的認(rèn)識(shí)。對(duì)程序員寫出優(yōu)質(zhì)而高效的代碼比較有幫助,至少我個(gè)人閱后感受如此。
《設(shè)計(jì)模式之禪》
推薦理由:讀完,通俗易懂,更深刻理解面向?qū)ο蠛兔嫦蚪涌凇?br>
注:設(shè)計(jì)模式這幾本書難以取舍,選一本讀即可。
《大話設(shè)計(jì)模式》,《大話數(shù)據(jù)結(jié)構(gòu)》
推薦理由:都是菜鳥(niǎo)和大牛的對(duì)話模式,看著不枯燥,內(nèi)容也很全。
推薦理由2:推薦初級(jí)程序員看<大話設(shè)計(jì)模式>,這本書有個(gè)好處是他是演進(jìn)式的,雖然內(nèi)容很簡(jiǎn)單,看完也沒(méi)辦法直接指導(dǎo)到開(kāi)發(fā)上。但是會(huì)有一種恍然大悟的感覺(jué),原來(lái)這就是設(shè)計(jì)模式。比起四人組的設(shè)計(jì)模式,太過(guò)于專業(yè)的說(shuō)明和定義,對(duì)于初級(jí)開(kāi)發(fā)人員來(lái)說(shuō),往往無(wú)法消化甚至抵觸。回到大話設(shè)計(jì)模式,將實(shí)踐和故事相結(jié)合,即讓設(shè)計(jì)模式接了地氣,又引發(fā)自己的思考,我怎么可以改造既有的項(xiàng)目。同時(shí)作為入門書籍,看完后你會(huì)更渴望更專業(yè)的設(shè)計(jì)模式的內(nèi)容也算是這本書的一個(gè)意義??偨Y(jié)就是,一本非常入門接地氣的設(shè)計(jì)模式書籍。
《Head first 設(shè)計(jì)模式》
推薦理由:漫畫形式的以對(duì)話為主,都是從生活中的小例子入手,更理解一句話了:萬(wàn)物皆對(duì)象。
《構(gòu)建之法》
推薦理由:一本有趣的軟件工程書,新手哪知道什么是軟件工程。書里描述了作者在的團(tuán)隊(duì)遇到了哪些問(wèn)題,如何正視,怎樣改善,不斷改進(jìn)。理論和實(shí)踐相結(jié)合。面向?qū)崙?zhàn)。講述軟件工程中不同角色的作用。看完后可以幫助新手更好地理解軟件開(kāi)發(fā)是怎么個(gè)回事,更快地走向成熟。
《代碼大全》
推薦理由:代碼大全全面講述了工程實(shí)踐的要點(diǎn),深入每個(gè)細(xì)節(jié)。可以幫助新手拓展視野,熟悉規(guī)范,也可以在學(xué)習(xí)一些概念或技術(shù)時(shí)當(dāng)做字典查。總之代碼大全的英文名code complete很能說(shuō)明問(wèn)題:幫助你完成整個(gè)編碼活動(dòng)的全過(guò)程。
《代碼整潔之道》
推薦理由:這幾天在看,講解詳細(xì),有提供示例,可以提高自己編碼素質(zhì)。
《圖解http》
推薦理由:做網(wǎng)絡(luò)編程必須要懂的基礎(chǔ)書,看這本書對(duì)做網(wǎng)絡(luò)緩存和網(wǎng)絡(luò)性能優(yōu)化都有不小的幫助,最主要是書內(nèi)容深入淺出 圖文并茂,通俗易懂。
《單元測(cè)試的藝術(shù)》
推薦理由:由淺入深地介紹了單元測(cè)試的各方面知識(shí),告訴我們?nèi)绾螌懞脝卧獪y(cè)試,如何寫易于測(cè)試的代碼,如何處理遺留代碼等問(wèn)題,有理論有案例。
《修改代碼的藝術(shù)》
推薦理由:詳細(xì)講解重構(gòu)技巧的書,教你怎么處理各種遺留的爛代碼,非常詳實(shí)的重構(gòu)操作手冊(cè)。
iOS開(kāi)發(fā)
《Effective Objective-C 2.0》
推薦理由:這本書很適合初學(xué)者,能幫助初學(xué)者一開(kāi)始就打下比較規(guī)范的基礎(chǔ),里面講了很多規(guī)范。讀了這本書能讓初學(xué)者少走很多彎路。
推薦理由2:精煉,針對(duì)性強(qiáng),對(duì)一些生僻容易懵圈的知識(shí)點(diǎn)講得比較細(xì)。
《iOS編程實(shí)戰(zhàn)》
推薦理由:尤其推薦小公司的沒(méi)有系統(tǒng)學(xué)習(xí)過(guò)iOS的同學(xué)看,實(shí)戰(zhàn)和自己閉門造車完全兩碼事,這書不是教人這個(gè)api怎么用,而是應(yīng)該這樣用。
《Objective-C高級(jí)編程 iOS與OS X多線程和內(nèi)存管理》
推薦理由:這本書給我?guī)?lái)的最大價(jià)值是:要讓自己對(duì)一項(xiàng)技術(shù)有全面的認(rèn)識(shí),光從官方文檔、開(kāi)源代碼中尋找答案并不夠,還要會(huì)用各種工具來(lái)驗(yàn)證自己的想法??梢钥闯鲎髡邔?duì)技術(shù)非常嚴(yán)謹(jǐn)?shù)膽B(tài)度,雖然偶爾有些翻譯并不容易讓人理解,但真的是一本進(jìn)階型的書。
《iOS編程(第4版)》
推薦理由:作者之一Aaron Hillegass曾就職于NeXT公司和Apple公司。 書涵蓋了初級(jí)到中級(jí)的,書中在講到第一次出現(xiàn)的知識(shí)點(diǎn)的時(shí)候,通常會(huì)簡(jiǎn)要的解釋一下,所以初學(xué)者很容易上手。缺點(diǎn)是這書有點(diǎn)老,但OC的基礎(chǔ)知識(shí)講解的很扎實(shí)。
《Swift Apprentice》
推薦理由:這本書的優(yōu)勢(shì)就是從淺入深,抽死剝繭,從最基礎(chǔ)的知識(shí)帶領(lǐng)你到函數(shù)編程奧義的天堂,充分的實(shí)例,全英文,免去你被中文版帶溝里的風(fēng)險(xiǎn),相信這本書能告訴初學(xué)者swift2為什是大勢(shì)所趨,為什么swift2即是面向?qū)ο缶幊陶Z(yǔ)言又是函數(shù)編程語(yǔ)言。
《Swifter - 100 個(gè) Swift 必備 tips》
推薦理由:比較偏幫助手冊(cè)類的tips,雖然沒(méi)有講Swift比較深入的,但對(duì)前期學(xué)習(xí)Swift梳理與Objective-C及混編有很大幫助。
《iOS應(yīng)用逆向工程 第2版》推薦理由:iOS應(yīng)用逆向最有價(jià)值參考書籍,內(nèi)容涵蓋多個(gè)實(shí)例,闡述class-dump、Theos、Cycript、Reveal、IDA、LLDB等常用工具的使用,通俗易懂;總結(jié)提煉出一套從UI觀察切入代碼分析的iOS應(yīng)用逆向工程方法論,激發(fā)iOS開(kāi)發(fā)人員對(duì)應(yīng)用安全的思考,把主動(dòng)防御的思想滲透到項(xiàng)目開(kāi)發(fā)中。
Android開(kāi)發(fā)
《第一行代碼》
推薦理由:我剛剛大體看了一遍 ,這本書學(xué)完之后完全足夠入門,而且不會(huì)令初學(xué)者感到枯燥。在入門階段還可以作為工具書不斷去翻閱,不同時(shí)期會(huì)有不同的感受。 里面打小怪獸升級(jí)的旁白,現(xiàn)在回過(guò)頭看還確實(shí)挺有趣的。
《App研發(fā)錄》
推薦理由:研發(fā)輔助類,包含了異常的分析,競(jìng)品分析和項(xiàng)目管理,書不厚,但是有些能增加知識(shí)的廣度。
《Embedded Android》
推薦理由:從底層講解android系統(tǒng)的機(jī)制與設(shè)計(jì),比較適合具有一定經(jīng)驗(yàn)的開(kāi)發(fā)者,屬于進(jìn)階書籍。
《Java并發(fā)編程實(shí)戰(zhàn)》
推薦理由:通過(guò)java現(xiàn)成的并發(fā)工具類介紹和實(shí)例,深入淺出的說(shuō)明如何安全地進(jìn)行多線程操作和優(yōu)化。
《Android.C++.with.the.NDK》
推薦理由:android jni入門與提高,系統(tǒng)講解android jni的編譯、提供的接口、java jni的通訊方式等,對(duì)于需要學(xué)習(xí)jni開(kāi)發(fā)的同學(xué)是必讀,畢竟jni文檔缺乏。
《Android開(kāi)發(fā)藝術(shù)與探索》
推薦理由:主要講一些原理,主要學(xué)習(xí)為什么這么用,以及源碼解析說(shuō)明。
《深入了解JVM虛擬機(jī)》
推薦理由:這本書對(duì)了解底層機(jī)制很有幫助,是進(jìn)階必選。
《Java編程思想》
推薦理由:Java編程思想是Java圣經(jīng),要有一定經(jīng)驗(yàn)去看效率才不錯(cuò)。
人文類
《程序員的職業(yè)素養(yǎng)》推薦理由:從企業(yè),團(tuán)隊(duì),技術(shù),自身等各個(gè)角度闡述了作為一個(gè)專業(yè)的程序員應(yīng)該如何去做到更好,不卑不亢,不投機(jī)取巧,樹(shù)立非常正能量的價(jià)值觀,舉了很多工作學(xué)習(xí)中經(jīng)常碰到的案例,讀完相見(jiàn)恨晚。書不是太厚,個(gè)人凈閱讀時(shí)間在10小時(shí)左右。
《在人生拐角處》
推薦理由:很多程序員對(duì)于自身的職業(yè)規(guī)劃并沒(méi)有,所以這本書就是幫助你化解你的迷茫,做好職業(yè)規(guī)劃,里面是生涯規(guī)劃師寫的案例,都很貼近生活,適合不知道自己該怎么走下去的人看。
《程序員健康指南》
推薦理由:本書是為了程序員量身訂造的健康指南,針對(duì)頭痛,眼部疲勞,背部疼痛和手腕疼痛等常見(jiàn)問(wèn)題,簡(jiǎn)要介紹了其成因,測(cè)試方法,并列出了每天的行動(dòng)計(jì)劃,從運(yùn)動(dòng),飲食等方面給出詳細(xì)指導(dǎo),幫助程序員在不改變工作方式的情況下輕松擁有健康。
《重新定義公司 How Google Works》
推薦理由:一分理論三分實(shí)踐相結(jié)合,告訴你互聯(lián)網(wǎng)公司運(yùn)作的合理方式。亮點(diǎn)是針對(duì)理論有 Google 實(shí)際的實(shí)行方式,也有多個(gè) Google 內(nèi)部項(xiàng)目成長(zhǎng)的曲折過(guò)程,還有谷歌退出中國(guó)的內(nèi)部爆料。
《黑客與畫家》推薦理由:非常有深度的一本書,作者在經(jīng)濟(jì),社科,歷史,等很多方面都很有自己的見(jiàn)解,更不用說(shuō)技術(shù)和創(chuàng)業(yè)了。書中很多觀點(diǎn)有準(zhǔn)確的例證引用,讓人信服。
《Rework》推薦理由:一句話:太贊的一本書了?。?!創(chuàng)業(yè)者必讀!當(dāng)然,不創(chuàng)業(yè)的人也能從中得到非常多的insight。作者是37signals.com的兩個(gè)創(chuàng)始人,其中之一還是Ruby on Rails的creator。講的是創(chuàng)業(yè)中需要注意的一些事情,但這些事情不僅僅是創(chuàng)業(yè)中才需要注意的。另外,英文原版的寫的也很通俗易懂,推薦看原版的。
推薦理由: 這本書本身就是小而美的37Singal自身成長(zhǎng)的總結(jié),特別適合小團(tuán)隊(duì)初創(chuàng)團(tuán)隊(duì),很好的詮釋了“好鐵用在刀刃上”。
《Getting Real》推薦理由:37Signals的又一本書,也是第一本,強(qiáng)調(diào)用一種務(wù)實(shí)的方式做一個(gè)Web app,從產(chǎn)品組隊(duì)實(shí)現(xiàn)上線推廣各方面的點(diǎn)點(diǎn)滴滴。內(nèi)容依然很棒,但是跟《Rework》有大量重復(fù)的地方,看過(guò)那本以后已經(jīng)沒(méi)有那種驚艷的感覺(jué)了。也算是知道了為這么這本書豆瓣評(píng)分達(dá)9.1, 而那本“只有”8.7了。
《代碼的未來(lái)》推薦理由:Ruby發(fā)明人Matz的大作,這是一本技術(shù)性隨筆,介紹了現(xiàn)代編程的方方面面,從lisp宏到gc技術(shù),再到元編程,IPC,多核及云計(jì)算,NoSQL。。。雖說(shuō)是隨筆,還是具備一定的技術(shù)性的,很多地方要認(rèn)真的看才看得懂。作者的語(yǔ)氣很謙虛親切,很多地方甚至有賣萌的嫌疑,哈!總之,是一本廣大程序猿增長(zhǎng)見(jiàn)識(shí),拓寬視野的極佳之作!
《GEB》
推薦理由:通過(guò)對(duì)哥德?tīng)柕臄?shù)理邏輯,艾舍爾的版畫和巴赫的音樂(lè)三者的綜合闡述,引人入勝地介紹了數(shù)理邏輯學(xué)、可計(jì)算理論、人工智能學(xué)、語(yǔ)言學(xué)、遺傳學(xué)、音樂(lè)、繪畫的理論等方面。抽象級(jí)別比設(shè)計(jì)模式高上幾個(gè)數(shù)量級(jí),看懂這本書,不僅是抽象思維上質(zhì)的提升,對(duì)個(gè)人也將產(chǎn)生深遠(yuǎn)的影響。
效率類
《暗時(shí)間》
推薦理由:講的是關(guān)于時(shí)間管理,告訴我們?cè)趺磳W(xué)習(xí)專業(yè)領(lǐng)域技能和非專業(yè)領(lǐng)域技能以及我們應(yīng)該怎么自我管理性格。
《把時(shí)間當(dāng)做朋友》
推薦理由:它的理念就是,時(shí)間是不可以管理的,最主要改變的是自己的心智!
技術(shù)管理
《門后的秘密》
推薦理由:以場(chǎng)景、對(duì)話的方式講解日?;A(chǔ)技術(shù)管理,適合技術(shù)人員轉(zhuǎn)管理的細(xì)細(xì)閱讀,入門管理實(shí)用。
《人月神話》
推薦理由:管理復(fù)雜項(xiàng)目的見(jiàn)解深刻,并有大量軟件工程的實(shí)踐。
《人件》
推薦理由:給技術(shù)管理者或者希望走向管理方向的人參考。最近在看第二遍,收獲很大。軟件即人件,軟件開(kāi)發(fā)不光要解決技術(shù)問(wèn)題,更重要是人的問(wèn)題。為何很多工作加班才能解決?公司為何無(wú)法留住員工?讀完這本書可以找到一些答案。
最后:
文章轉(zhuǎn)載于公眾號(hào)《移動(dòng)開(kāi)發(fā)前線》
應(yīng)廣大程序猿們留言,文章的最后加上《頸椎病康復(fù)指南》、《活著》、《編程從入門到放棄》、《單身 真好》等超人氣書籍~
最最后:
博主專注于原創(chuàng)高質(zhì)量的Android技術(shù)博客,分享高質(zhì)量的編程知識(shí),喜歡的盆友點(diǎn)一個(gè)關(guān)注吧~!
相關(guān)配套閱讀:
配套閱讀