《轉》我眼中的計算機專業書籍

從一點不懂,到自認爲躋身IT行業,花費了4年時間,就像經歷了一個大學。
沒有老師,購買任何一本計算機書籍,都是先從網上搜索比較、或者請教身邊的高手,通常選擇比較經典的書。可能我看書的順序,與科班的程序員會不同,由於我一直是根據個人興趣來學習的,順序基本上是從應用,再到基礎,與學校的教學模式剛好相反。
我如今是一名java程序員,因此所學的技術基本是圍繞如何掌握java這門語言進行的。javascript

起步:
要有一些C語言基礎,要求不高,能大體瞭解一下編程語言是什麼就行。(1~2個月)
《java編程思想》,經典入門書籍,詳細講解原理,能加深理解,缺點是,對於某個知識點,有些例子太長。(2個月);
《java核心技術》卷1卷2(必讀),特色是,用很短的例子,教會你每一個知識點,並且對JAVASE的講解,應該是最全面的。(建議用4個月的時間,仔細品讀)。
《java web開發詳解》,講JAVAEE,雖然不是很全面,可是每一個知識點,都講的簡單易懂。孫鑫老師寫的,很不錯,這是我看過的咱國人寫的最負責任的幾本書之一。
《javascript權威指南》:學習javascript語言,通常作web開發,不免要接觸javascript。(2個月)
掌握一個MVC框架,如今流行的有Struts一、Struts2,框架通常不難學習,可選擇一個學習。可在網上找一些文檔。(1~2個星期)
《SQL 必知必會》:數據庫可選擇一種使用,好比mysql,先學會使用就行,結構化查詢語言SQL,則必須緊緊掌握。(1個月)
學習了這基本,基本能夠在IT行業幹活的。java

進階1:
spring:因爲我是從spring2.0開始學的,那時看的是《Spring核心技術與最佳實踐》,很經典,但技術老是學新的好,如今都spring3.x了,可在china-pub搜索一下,查看一下排行版。(推薦仔細研究,若是有精力,可研究源碼,相信對你的編程能力,會有很大提升。1個月)
Ibatics:ORM框架老是學一個的,如今比較流行的Hibernate、JPA這些全自動化ORM框架,對於開發效率來講,是比較快,可是在大型web程序中,通常不多使用。因此推薦ibatics,書籍比較多,也可下載中文文檔學習。(1星期)。
apache commons組件:包含了一些經常使用的工具,好比httpclient、common IO等,花2個星期的時間仔細學習,可大大提升開發效率。可讀《jakarta commons cookbook》。mysql

進階2(可選):
AOP:可讀《AsprctJ cookbook》,AOP是一個使人激動的一門技術,AspectJ是比較完整的實現。AOP可徹底實現組件化的編程,而不用考慮組件之間如何通訊,可在後期,根據需求,經過AOP組裝成品。固然這只是AOP的一種應用,使用AOP還可後期給代碼添加設計模式,而不用在代碼前期,就考慮使用哪一種模式。等等。經過學習AOP,你的編程思想,會有很大的轉變。
JMS:可讀《java消息服務》,另外一種併發編程的思路,可實現分佈式的併發編程。jquery

進階3(可選):
Ant:學會如何使用ant部署項目仍是頗有必要的,由於在生產環境中,很好經過複製代碼來完成發佈的。可讀《Ant權威指南》,雖然有些老,可是足夠了。
web service:《java web服務:構建與運行》,瞭解一些流行的技術,仍是有必要的,即便用的地方不多。linux

進階4:
Jquery:《Jquery基礎教程》,如今不多直接使用javascript來獲取頁面元素、進行AJAX調用了,通常會選擇一個javascript框架,jquery是一個不錯的選擇,學習週期也不長。
Linux:掌握shell腳本,企業軟件大多佈置在linux上,因此shell腳本,仍是必須掌握的。可讀《shell腳本學習指南》、《鳥哥的linux私房菜》
腳本語言:Perl、PHP、Ruby、Python,可選擇一種學習。程序員

進階5(優化):
web服務器:《Tomcat權威指南》,瞭解如何優化web服務器,仍是頗有必要的,你不能總依賴系統人員來給你作這些事吧。《apache cookbook》或《實戰Nginx》,瞭解如何使用這些web服務器實現負載均衡,反向代理。
搜索引擎:《開發本身的搜索引擎 lucene2.0+Heritrix》,有些數據庫引擎並不支持全文索引,因此可以使用lucene輔助。另外,lucene可索引任何數據,功能至關強大。
數據庫優化:《mysql性能調優與架構設計》,讀事後,可瞭解哪些地方可能會成爲性能的瓶頸。即如何提升數據庫性能。web

進階6(基礎篇):
對於一些基礎知識的瞭解,仍是頗有必要的,特別對於非科班的,若是在面試時,回答不出來,會遭鄙視,工資也會大打折扣
《離散數據及其應用》、《算法導論》(可只讀數據結構部分)、《操做系統》、《編譯原理》、《UML2.0學習指南》面試

進階7(興趣篇):
如今回過頭來,若是有精力,仍是有必要掌握C語言的,最起碼要了解gcc和make這兩個工具及編譯的過程,由於在linux中常常要使用。
推薦書籍《C程序設計語言》《C語言核心技術》算法

我眼中的計算機專業書籍
spring

相關文章
相關標籤/搜索