以下是對一些讀過的書和一些買後随便翻了翻的書的個人感覺。都是java web開發的程式員可能接觸的書,其他的如設計/手機開發/其他語言的書就不寫了,因為自己隻做過java web開發,那些書沒什麼資格評判。
因為不是每本書都翻開确定一下再寫的,可能有張冠李戴或記憶錯誤的情況,如發現了請指正。
如有好書我這裡沒列舉到的,請補充。此書單将持續完善。
js書籍:
《Javascript權威指南》犀牛書
厚,唯一的頂尖著作,上冊的每個章節都将一個知識點深入挖掘講透,必看。下冊API無關緊要。
《Javascript進階程式設計》
厚,與犀牛書有很大重疊,但感覺各個方面都不如犀牛書。可以看犀牛書之後随便翻翻這本書,有的地方可做補充。
《Javascript精粹》蝴蝶書
薄,讓人喜歡javascript的一本書。
《Javascript DOM程式設計藝術》
薄,最佳入門書沒有之一,對新手來說,前兩本太厚讓人望而生畏心生恐懼,這本書是優選,豆瓣評分高達8.7。
css書籍:
首先入門還是w3school的教程。大部分作為非美工的程式員就夠用了。
看過幾本不錯的書但忘了名字,待補充。
《精通CSS進階WEB标準解決方案》
《CSS設計指南》
入門之後可以用來提高。
《CSS禅意花園》
非新手向,更适合已經熟悉之後尋找靈感和……欣賞藝術。
html的書籍:
……w3school的教程足夠了,講js和css的書裡都會講。
前端性能:
《建構高性能web站點》
《高性能網站建設指南》
類似的兩本薄書,都看過之後會覺得自己無敵了,不想看書YSlow的軍規其實也夠了,重要的是要知其是以然。
rest:
《REST實戰》
厚書,沒看呢,老外的很多理論書籍過于想當然和自我神化,不接地氣讓人不喜,講到後面靈活的地方還會議論。
《圖解HTTP》
倒是http協定的了解至關重要,有語義的東西不用白不用,method啦,狀态碼啦,但不要宗教般地摳,比如put和post誰增誰改啥的。
這本書萌萌哒。
前端架構:
《鋒利的jquery》
其實就是jqueryAPI的加強版,覺得jqueryAPI足夠的話就不用看這本了。
《jquery技術内幕》
與《struts2技術内幕》《spring技術内幕》一系列的好書,講源碼的。這三本書都值得一看。但注意“源碼無用論”和“源碼神聖論”都不可取。
《深入淺出extjs》
可能是extjs唯一的一本可讀的書。非常不喜歡這個架構的思想。html和css都喪失了權力一切由它來托管了,未免權力欲過于旺盛。
真正要用ext的話,官方demo和api是最好的選擇,尤其是demo。
《用AngularJS開發下一代web應用》
《單頁web應用 Javascript從前端到後端》
《Backbone.js實戰》
mv*架構大熱以來較熱的幾個架構,對這幾個架構都隻有摸索,感覺angularJs風險略大,有點像extjs的想當然,一切都要在它内部來,如果能解決當然省時省力,如果不能解決就糟了。但問題是千變萬化的。backbone較輕量,功能弱,風險低,功能弱與風險低從來都是共同出現。
另外還有requireJs,也應該研究研究,這些前端架構級架構都不熟。本能地覺得不切實際,但還是該研究研究再下結論。
傳統開發中使用的前端技術,毫無疑問jquery是槍王之王。
《Bootstrap使用者手冊》
《深入了解Bootstrap》
前者超薄,完全不需要,看Bootstrap官網即可(版本更新時中文官網可能跟最新版本對不上,推薦英文官網)。後者是好書,講應用也講源碼。
基于Bootstrap的前端CSS架構Metronic超酷,頁面常用的元件裡面都有,其實就是個最佳實踐的大整合大雜燴,裡面沒有的自己找Bootstrap插件就好。
Bootstrap的偉大在于作為一個腳手架,給各種js元件提供平台,隻要都是bootstrap版的插件,整合起來樣式一緻性一般沒什麼問題。
java基礎書籍:
《scjp考試指南》
無數次被人求推薦書籍,無數次說出這本書之後被鄙視:“我不是為了考證”。但這本書真不是隻能用來考證。
對j2se的講解,既簡約又精當,知識足夠,又不會把人吓走的書,當然是入門的不二之選。
《Thinking in Java》
java界的頂級圖書,每個章節都深入講一個點,可以通讀一遍,然後按需再翻具體章節強化。跟《Javascript權威指南》讀法是一樣的。
但初學者不适合讀這本書,已經無數人說過了。但從别的語言轉java的人可以直接讀這本書。
《Core Java》
評價很高,個人不喜歡,就像《Javascript進階程式設計》被《Javascript權威指南》全面壓制一樣,《Core Java》也活在《Thinking in Java》的陰影之下。
《Java解惑》
好玩的書,讓你喜歡“有趣的”java。
《深入了解Java虛拟機》
《深入java虛拟機》
知其然又知其是以然,java虛拟機的内部原理,了解了沒壞處。
《Effective Java》
最喜歡的書之一,箴言式的規谏,作者的經驗之談,告訴你怎樣寫出優雅的代碼。
java web基礎書籍:
《scwcd考試指南》
《Head First JSP & Servlet》
《scwcd考試指南》與《scjp考試指南》一系列,但品質不高。相比之下scwcd的官方推薦教材《Head First JSP & Servlet》(該系列中文版都譯為深入淺出xxx)更好。
這兩本書都是将jsp的标簽講的很透,但如果使用jstl和el,兩本書講的都稍嫌不足,需要另查資料。
java性能書籍:
《java程式性能優化》
《java性能優化權威指南》
《web性能測試實戰》
《零成本實作web性能測試——基于Apache Jmeter》
《Java并發程式設計實戰》
經驗型書籍,沒什麼好說。
因為我也就是粗粗看過。但知道都是好書。
java架構書籍:
《struts2技術内幕》
《spring技術内幕》
《Spring3.x企業應用開發實戰》
都來自iteye部落客的手筆,第1本和第3本尤為推薦。《strut2技術内幕》的哲學思辨之美讓我驚為天人,《Spring3.x企業應用開發實戰》的實用和接地氣也讓人愛不釋手,國内的程式員高手寫的書比起國外的官方/經典著作,更适合中國人閱讀。不要崇洋媚外。當然想看第一手資料那還是國外的好。
《Hibernate實戰》
Hibernate作者Gavin King的作品,夠權威吧。但個人也不喜歡Hibernate,這麼多年都沒能用純熟,類似對Extjs的不喜歡一樣,前者嘗試解決O/R的不比對,後者嘗試解決O/DOM的不比對,一切以OO為目标,強力扭轉乾坤,這屬于逆天行事,當然做的都很出色。但感覺像逆練《九陰真經》練出絕世武功,走錯的路,居然成績斐然,讓人贊歎你的強大,但不是說你成績斐然就不是錯而是對了。
Mybatis的好書籍沒發現過,而且已經有中文文檔了。
《深入淺出Hibernate》
《spring2.0技術手冊》
兩本經典的好書,有一點點古老了,前者用來Hibernate入門的話還是不二之選,另外滿江紅的中文文檔都非常棒。
至于java的優秀類庫基本都是開源的,到官網找demo/文檔/API足矣。類庫一般較小較輕,英文文檔硬看也能看下來。架構較重,中文講原理的書看了提綱挈領,否則容易陷入迷霧不能自拔。
類庫和架構的差別是什麼?答:控制反轉。
至于一些java技術就不贅述了,SpringSide本身就是個大目錄,沿着它給打開的窗戶們一樣樣探究吧。
設計模式書籍:
《Head First設計模式》
《設計模式之禅》
《java與模式》
《設計模式java中的應用》
……
設計模式的書沒有特别好的也沒有特别糟的,不同作者其實也沒有什麼發揮的餘地,都是講那些東西,是以都很像。
設計模式的要點是通讀,都了解了,在腦海中留存,以後寫程式适當的時候設計模式自然會蹦出來。
個人感覺最好用的,工廠單例原型疊代這些最簡單的不說了,門面調停者這些偏架構的也不說了,最好用的是:擴充卡,政策,模闆,另外組合、通路者、裝飾器等各有各的用。橋接一直沒有很好的了解。享元輕易用不上。代理spring的aop幾近完美不用自己玩。解釋器用的機會也不多。别的看情況使用。
《反模式》
介紹的是一些理論上不合理、但非常普及、能解決某些問題的“反模式”。
把“反模式”一錘子打死也不對,但不是非用不可的情況還是輕易不要用。
架構思想書籍:
《企業應用架構模式》
Martin Fowler的不朽著作,也是其人最好的一本書,十幾年前的書,牛到了其中的種種思想,現在看來都是理所當然了,可見其影響力和普及程度。
《Expert One-on-One J2EE Development without EJB》
《J2EE設計開發程式設計指南》
java界的巨人,Spring作者Rod Johnson的封王之作,這兩本書同時期出現的spring徹底改變了java世界的格局,用老爵爺的語氣說,将他媽的EJB從王座上拉了下來。
“水,善利萬物而不争,處衆人之所惡,故幾于道。”——《道德經》中的這句話,個人感覺可以用來贊頌Spring的偉大。
唯一的頂級架構,java界的萬王之王。
個人非常崇拜的SpringSide正是以Spring為核心,提供的最佳實踐的展示。功德無量。
《J2EE核心模式》
更早的書了,有空可以讀讀,不是特别必要。
《大型網站技術架構》
《軟體架構設計》
國人的書籍,講的是“架構”而不是“架構”了,前一本強烈推薦,淘寶系的書籍都很不錯。
資料庫書籍:
資料庫的思想,行列含義,各種範式什麼的,好了解。
oracle,mysql,sql server...等主流資料庫,書籍都太多了,而且沒有特别出彩的(怎麼出彩?)或者特别差勁的,随意挑選就可以。不買書網上查資料其實也沒問題。
當然這指的是開發人員使用的資料庫技術,更深的DBA技術我不了解,如果以後接觸到再補充。
《Sql反模式》
為領域模組化之後,畫E-R圖,然後建表,是自然而然的事,不需要書籍。
反模式的議論見上文,SQL中也有一些反模式,這本書做了介紹。
程式設計基礎書籍:
《java資料結構和算法》等資料結構、算法書籍
《編譯原理》
《算法導論》
《計算機程式的構造和解釋》
《程式設計珠玑》
《代碼大全》
等等……
不用一本本說了,基礎的東西幾十年也不會過時,認真讀了受用無窮。
可惜太過深入,書太厚,節奏太快,一直沒能細讀,有時間讀書也讀更“高層”的書去了,太可惜了。
網絡安全書籍:
《白帽子講web安全》
《Web前端黑客技術揭秘》
中國人寫的安全書籍,做網站的必看,尤其是仇恨值高的。
軟體工程類:
《人月神話》
70年代出的書到現在依然暢銷,永垂不朽的名作,程式員必讀。
《建構之法》
接地氣的著作,軟體開發的全景圖,不是高高在上的指導,而是娓娓道來手把手來教。
《靈活軟體開發 原則,模式與實踐》
個人看過的靈活類書籍中相對不錯的。個人認為靈活開發宣言背下來,靈活的價值觀記下來,按實際情況靈活運用就是了。有些靈活愛好者的宗教式狂熱特别吓人,簡直走火入魔,不可取。
《高效程式員的45個習慣:靈活開發修煉之道》
這45個習慣,無論靈活與否,都是應該具備的,應該說是“優雅的”“職業的”行為。
很明顯,有些公司的工作不“靈活”,但不代表程式員不能從這本書中受益。
《代碼整潔之道》
《重構——改善既有代碼的設計》
職業程式員有義務寫好自己的代碼,寫給接手代碼的人,更是寫給半年後的自己。
最基本的職業道德,不需要多說。
轉載位址:http://www.cnblogs.com/zidafone/p/4142614.html