為什么要列這一個(gè)書(shū)單?我認(rèn)為某一領(lǐng)域的技術(shù)人,在他的職業(yè)生涯中,一定有一些繞不過(guò)去的技術(shù)和非技術(shù)的知識(shí)。有的時(shí)候,靠自己摸索、到處偷師,倒也能掌握。但是,這些別人早就趟過(guò)去的坎,大多已經(jīng)有了非常棒的書(shū)籍作為總結(jié)?戳诉@些書(shū),腳下的路就要平一些。這個(gè)書(shū)單,就是為了找到移動(dòng)領(lǐng)域的這些書(shū)。
這些書(shū)籍都是移動(dòng)前線群里推薦的,都是他們自己讀過(guò),甚至是反復(fù)讀的書(shū)。如果你對(duì)這些書(shū)有什么看法,歡迎發(fā)表意見(jiàn),或者添上你覺(jué)得認(rèn)為必須的書(shū)。
這個(gè)書(shū)單也不會(huì)一成不變,歡迎大家的增補(bǔ)修改。
計(jì)算機(jī)基礎(chǔ)
NO.1《程序是怎樣跑起來(lái)的》
推薦理由:類(lèi)似深入理解計(jì)算機(jī)的圖解版本,如果第一次看深入理解計(jì)算機(jī)看不進(jìn)去,可以先看看,了解個(gè)大概,再看深入理解計(jì)算機(jī)這本就容易很多。
NO.2《深入理解計(jì)算機(jī)系統(tǒng)》
推薦理由:了解一個(gè)程序的編譯、鏈接、執(zhí)行過(guò)程,以及虛擬內(nèi)存是如何分配等。
通用編程
NO.3《算法(第四版)》
推薦理由:難度不及算法導(dǎo)論,但是更適合工程領(lǐng)域,導(dǎo)論恐高癥患者的福音。
NO.4《編程珠璣》
推薦理由:編程珠璣這本書(shū)推薦給有代碼基礎(chǔ)的小伙伴,推薦理由是書(shū)里會(huì)有一些優(yōu)化和算法基礎(chǔ)的思想,適合入門(mén)之后的進(jìn)階,對(duì)優(yōu)化和算法能夠有一些基礎(chǔ)的認(rèn)識(shí)。對(duì)程序員寫(xiě)出優(yōu)質(zhì)而高效的代碼比較有幫助,至少我個(gè)人閱后感受如此。
NO.5《設(shè)計(jì)模式之禪》
推薦理由:讀完,通俗易懂,更深刻理解面向?qū)ο蠛兔嫦蚪涌凇?br> 注:設(shè)計(jì)模式這幾本書(shū)難以取舍,選一本讀即可。
NO.6《大話設(shè)計(jì)模式》,《大話數(shù)據(jù)結(jié)構(gòu)》
推薦理由:都是菜鳥(niǎo)和大牛的對(duì)話模式,看著不枯燥,內(nèi)容也很全。
推薦理由2:推薦初級(jí)程序員看<大話設(shè)計(jì)模式>,這本書(shū)有個(gè)好處是他是演進(jìn)式的,雖然內(nèi)容很簡(jiǎn)單,看完也沒(méi)辦法直接指導(dǎo)到開(kāi)發(fā)上。但是會(huì)有一種恍然大悟的感覺(jué),原來(lái)這就是設(shè)計(jì)模式。比起四人組的設(shè)計(jì)模式,太過(guò)于專(zhuān)業(yè)的說(shuō)明和定義,對(duì)于初級(jí)開(kāi)發(fā)人員來(lái)說(shuō),往往無(wú)法消化甚至抵觸;氐酱笤捲O(shè)計(jì)模式,將實(shí)踐和故事相結(jié)合,即讓設(shè)計(jì)模式接了地氣,又引發(fā)自己的思考,我怎么可以改造既有的項(xiàng)目。同時(shí)作為入門(mén)書(shū)籍,看完后你會(huì)更渴望更專(zhuān)業(yè)的設(shè)計(jì)模式的內(nèi)容也算是這本書(shū)的一個(gè)意義?偨Y(jié)就是,一本非常入門(mén)接地氣的設(shè)計(jì)模式書(shū)籍。
NO.7《構(gòu)建之法》
推薦理由:一本有趣的軟件工程書(shū),新手哪知道什么是軟件工程。書(shū)里描述了作者在的團(tuán)隊(duì)遇到了哪些問(wèn)題,如何正視,怎樣改善,不斷改進(jìn)。理論和實(shí)踐相結(jié)合。面向?qū)崙?zhàn)。講述軟件工程中不同角色的作用。看完后可以幫助新手更好地理解軟件開(kāi)發(fā)是怎么個(gè)回事,更快地走向成熟。
NO.8《代碼大全》
推薦理由:代碼大全全面講述了工程實(shí)踐的要點(diǎn),深入每個(gè)細(xì)節(jié)?梢詭椭率滞卣挂曇,熟悉規(guī)范,也可以在學(xué)習(xí)一些概念或技術(shù)時(shí)當(dāng)做字典查。總之代碼大全的英文名code complete很能說(shuō)明問(wèn)題:幫助你完成整個(gè)編碼活動(dòng)的全過(guò)程。
NO.9《代碼整潔之道》
推薦理由:這幾天在看,講解詳細(xì),有提供示例,可以提高自己編碼素質(zhì)。
NO.10《圖解http》
推薦理由:做網(wǎng)絡(luò)編程必須要懂的基礎(chǔ)書(shū),看這本書(shū)對(duì)做網(wǎng)絡(luò)緩存和網(wǎng)絡(luò)性能優(yōu)化都有不小的幫助,最主要是書(shū)內(nèi)容深入淺出 圖文并茂,通俗易懂。
NO.11《單元測(cè)試的藝術(shù)》
推薦理由:由淺入深地介紹了單元測(cè)試的各方面知識(shí),告訴我們?nèi)绾螌?xiě)好單元測(cè)試,如何寫(xiě)易于測(cè)試的代碼,如何處理遺留代碼等問(wèn)題,有理論有案例。
iOS開(kāi)發(fā)
NO.12《Effective Objective-C 2.0》
推薦理由:這本書(shū)很適合初學(xué)者,能幫助初學(xué)者一開(kāi)始就打下比較規(guī)范的基礎(chǔ),里面講了很多規(guī)范。讀了這本書(shū)能讓初學(xué)者少走很多彎路。
推薦理由2:精煉,針對(duì)性強(qiáng),對(duì)一些生僻容易懵圈的知識(shí)點(diǎn)講得比較細(xì)。
NO.13《iOS編程實(shí)戰(zhàn)》
推薦理由:尤其推薦小公司的沒(méi)有系統(tǒng)學(xué)習(xí)過(guò)iOS的同學(xué)看,實(shí)戰(zhàn)和自己閉門(mén)造車(chē)完全兩碼事,這書(shū)不是教人這個(gè)api怎么用,而是應(yīng)該這樣用。
NO.14《Objective-C高級(jí)編程 iOS與OS X多線程和內(nèi)存管理》
推薦理由:這本書(shū)給我?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)階型的書(shū)。
NO.15《iOS編程(第4版)》
推薦理由:作者之一Aaron Hillegass曾就職于NeXT公司和Apple公司。 書(shū)涵蓋了初級(jí)到中級(jí)的,書(shū)中在講到第一次出現(xiàn)的知識(shí)點(diǎn)的時(shí)候,通常會(huì)簡(jiǎn)要的解釋一下,所以初學(xué)者很容易上手。缺點(diǎn)是這書(shū)有點(diǎn)老,但OC的基礎(chǔ)知識(shí)講解的很扎實(shí)。
NO.16《Swifter – 100 個(gè) Swift 必備 tips》
推薦理由:比較偏幫助手冊(cè)類(lèi)的tips,雖然沒(méi)有講Swift比較深入的,但對(duì)前期學(xué)習(xí)Swift梳理與Objective-C及混編有很大幫助。
NO.17《iOS應(yīng)用逆向工程 第2版》
推薦理由:iOS應(yīng)用逆向最有價(jià)值參考書(shū)籍,內(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ā)
NO.18《第一行代碼》
推薦理由:我剛剛大體看了一遍 ,這本書(shū)學(xué)完之后完全足夠入門(mén),而且不會(huì)令初學(xué)者感到枯燥。在入門(mén)階段還可以作為工具書(shū)不斷去翻閱,不同時(shí)期會(huì)有不同的感受。 里面打小怪獸升級(jí)的旁白,現(xiàn)在回過(guò)頭看還確實(shí)挺有趣的。
NO.19《App研發(fā)錄》
推薦理由:研發(fā)輔助類(lèi),包含了異常的分析,競(jìng)品分析和項(xiàng)目管理,書(shū)不厚,但是有些能增加知識(shí)的廣度。
NO.20《Java并發(fā)編程實(shí)戰(zhàn)》
推薦理由:通過(guò)java現(xiàn)成的并發(fā)工具類(lèi)介紹和實(shí)例,深入淺出的說(shuō)明如何安全地進(jìn)行多線程操作和優(yōu)化。
NO.21《Android.C++.with.the.NDK》
推薦理由:android jni入門(mén)與提高,系統(tǒng)講解android jni的編譯、提供的接口、java jni的通訊方式等,對(duì)于需要學(xué)習(xí)jni開(kāi)發(fā)的同學(xué)是必讀,畢竟jni文檔缺乏。
NO.22《Android開(kāi)發(fā)藝術(shù)與探索》
推薦理由:主要講一些原理,主要學(xué)習(xí)為什么這么用,以及源碼解析說(shuō)明。
NO.23《Java編程思想》
推薦理由:Java編程思想是Java圣經(jīng),要有一定經(jīng)驗(yàn)去看效率才不錯(cuò)。
人文類(lèi)
NO.24《程序員健康指南》
推薦理由:本書(shū)是為了程序員量身訂造的健康指南,針對(duì)頭痛,眼部疲勞,背部疼痛和手腕疼痛等常見(jiàn)問(wèn)題,簡(jiǎn)要介紹了其成因,測(cè)試方法,并列出了每天的行動(dòng)計(jì)劃,從運(yùn)動(dòng),飲食等方面給出詳細(xì)指導(dǎo),幫助程序員在不改變工作方式的情況下輕松擁有健康。
NO.25《重新定義公司 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)部爆料。
NO.26《黑客與畫(huà)家》
推薦理由:非常有深度的一本書(shū),作者在經(jīng)濟(jì),社科,歷史,等很多方面都很有自己的見(jiàn)解,更不用說(shuō)技術(shù)和創(chuàng)業(yè)了。書(shū)中很多觀點(diǎn)有準(zhǔn)確的例證引用,讓人信服。
NO.27《代碼的未來(lái)》
推薦理由:Ruby發(fā)明人Matz的大作,這是一本技術(shù)性隨筆,介紹了現(xiàn)代編程的方方面面,從lisp宏到gc技術(shù),再到元編程,IPC,多核及云計(jì)算,NoSQL。。。雖說(shuō)是隨筆,還是具備一定的技術(shù)性的,很多地方要認(rèn)真的看才看得懂。作者的語(yǔ)氣很謙虛親切,很多地方甚至有賣(mài)萌的嫌疑,哈!總之,是一本廣大程序猿增長(zhǎng)見(jiàn)識(shí),拓寬視野的極佳之作!
效率類(lèi)
NO.28《把時(shí)間當(dāng)做朋友》
推薦理由:它的理念就是,時(shí)間是不可以管理的,最主要改變的是自己的心智!
技術(shù)管理
NO.29《人月神話》
推薦理由:管理復(fù)雜項(xiàng)目的見(jiàn)解深刻,并有大量軟件工程的實(shí)踐。
NO.30《人件》
推薦理由:給技術(shù)管理者或者希望走向管理方向的人參考。最近在看第二遍,收獲很大。軟件即人件,軟件開(kāi)發(fā)不光要解決技術(shù)問(wèn)題,更重要是人的問(wèn)題。為何很多工作加班才能解決?公司為何無(wú)法留住員工?讀完這本書(shū)可以找到一些答案。
|