Re: [請益]對於如何增進自己覺得一片茫然

看板Soft_Job作者 (熱~~~~)時間7年前 (2017/03/26 23:51), 7年前編輯推噓7(7013)
留言20則, 11人參與, 最新討論串4/4 (看更多)
學習一項新技術,通常是找一個項目來做,這樣是最快的,但是通常很難找到適合的項目 以我看過的書,用一個項目來教學,且前後連貫的,就是 "跟Adobe徹底研究Flex4.5" 真是很佩服作者可以寫的淺顯易懂,而且自然而然的就會跟著實作。 一般網路上會建議去github找一個有興趣的,但是通常github上面的項目都已經發展一段 時間 光是要切入就需要花上一段時間,通常這時候就會放棄了,我目前也沒有找到適合的初學者 項目。 我有嘗試過將下列書籍描述的系統,用spirng實作 "線上運動博弈網站程式設計" "Struts 2權威指南" 但是實際上還是不夠快,最建議的方式就是直接買對岸的視頻,保證學的又快又好。 打這篇文章還找到當年給我靈感去買視頻的文章!! https://www.javaworld.com.tw/jute/post/view?bid=22&id=230926 所以會建議你去買對岸視頻,你可以自行考慮看看。 下面大概是我工作這幾年,有看過或學習過的東西,希望對你有幫助。 1. Spring、SpringMvc、Hibernate 3個框架 - 這3個框架是目前Java使用率最高的框架,先學習這個就對了,這邊完全不推薦自學, 直接去找看看或買看看有沒有對岸進行IT培訓的視頻, 人家老師幫你整理好,手把手的教,有時還會說明一些實作原理 ,看一個視頻真的比你看幾本書都來得有用, 而且老師通常只會教最泛用的做法, 你如果看官方文件或是書籍,光是DB設定就有好幾種方式,你頭就暈了. - 如果要自學,也不要從頭看到尾,有些東西其實用不到,下述是我的心得 - Spring : AOP章節不太需要看,其它大概都需要了解, 另外千萬不要使用Spring boot,Spring boot藏了太多東西 ,是給老手或是想快速建立環境的人使用的。 - Spring MVC : 會設定Controoler,然後傳參數進來、回傳參數給Client ,大概就足夠了. - Hibernate : 這個比較麻煩,因為我看視頻,覺得學得蠻快的,通常就宣告Entity, 然後可以做CRUD動作就可以了,我曾經嘗試看過書,很多東西用文字解釋 ,要看好幾次才會會理解。 - 另外推薦幾本書,我當初看得當然都過時了, 不過可以找看看是不是有後續版本或是類似的書籍 - Spring 2.0 技術手冊 - Spring 已經發展到4啦 QQ ,但是這部書簡單易懂,是我的第一本入門書 - Spring Recipes: A Problem-Solution Approach - 2010年的書,這本書在每個章節都使用大量例子來說明 ,缺點是書中程式碼沒有很詳細,需要一直搭配程式碼來看, Amazon 4顆星評價。 - Pro Spring MVC: With Web Flow - 2012年的書,有點難,好處是會講到較為底層的東西, 不然我一直搞不懂Spring mvc那一堆設定。 - 精通Spring 4.x :企業應用開發實戰 - 這本我沒看過,但是我認為不錯。 - 這邊的結論就是,去買視頻吧,真的快很多!!!!! 2. 測試框架 Junit - 學習一個測試框架,這邊強烈建議搭配書本學習, 我看的是Junit in action 第二版。 搭配書本學習主要是學習作者觀念,例如如果你的程式很難測試,代表寫法有問題 ,另外書中也教了許多測試案例寫法,會讓你的程式往 "好味道" 程式碼的方向前進。 - 暫時跳過mock技術,除非你有時間或是會使用到,mock技術對我來說沒有幫助 ,如果真的有需要,之後再去學,一開始了解一下mock機制就可以了。 3. 了解Servlet - Java框架封裝太多東西了,有些基本與底層的東西反而越來越少說明, 這邊建議可以看一下,"深入淺出Servlets與JSP",我回頭來看這部書時,覺得獲益良多。 JSP相關技術就瞄一下就好,過時了 T T . 4. 設計模式 - 一定要看一下設計模式,學習設計模式的用意,是讓你更了解物件導向設計, 以及那些程式碼可以拆分出來,你會更清楚介面、繼承、 以及static method如何使用。 剛開始學習,可以什麼程式碼都套設計模式,後續應該要自行判斷如何撰寫程式碼。 - 這邊唯一推薦看 "設計模式之禪" , 非常淺顯易懂,不過這本書在 "裝飾模式" 寫的 不好,可以另外參考 "王者歸來:品味Java的21種設計模式" . 5. Java多執行緒 - 因為多執行緒實際上用不到很難的部分,通常不需要另外看書,但是如果有需要的話, 推薦 "Java 7 Concurrency Cookbook" 真是非常容易理解, 千萬不要一開始就看 "Java Concurrence in practice",這本書很多人推薦 ,但是真的太難了,講了一堆東西,但是都用不到. 6. Git版本控制 - Git很紅,所以我認為應該要學,不過如果你的公司沒有用git,那學習的效率其實不好 ,因為一個人用不會有什麼大衝突,也就一些技術都不會用到。 - 如果要學git,這邊只推薦看 "Git權威指南", 其它的書跟它比起來跟小廢廢沒什麼 兩樣。 7. Scrum - 了解一下Scrum吧,這邊推薦 "輕鬆Scrum之旅" ,類似一本故事書,畢竟這種專案管理取決於公司文化,能快速了解一下即可。 8. Maven - Maven跟gradle我都有使用過,個人開發的話,gradle我覺得不好用,學習曲線比較高 ,而且在eclipse支援不佳,而Maven較容易學習, 不過缺點在eclipse有時會因為同步問題,導致jar檔一直找不到。 我是覺得個人開發就是用maven吧,除非你們整個導入devops架構。 - 書籍推薦 "Maven實戰" , 保證你很快就會學會並使用。 9. 其它相關書籍 - 重構:改善既有程式的設計 - 非常好的書籍,我採取的策略是快速瞄一次,然後看一下可能會用到的部分, 這本書我沒有真的看完,只有了解重構的理念以及一些重構技術。 - 這邊要特別說明,不用去看其它講重構的書, 不會比較好也不會比較快,看這本就對了。 - Kent back的實作模式 - 買來(2013)還沒有時間看,但是快速翻一下,非常好的書。 - 無瑕的程式碼:敏捷軟體開發技巧守則 - 買來沒時間看.....QQ - 編程創藝 編寫出卓越的程式碼 - 買來沒時間看.....QQ - Java 效能優化指南 - 買來沒時間看.....QQ - 分佈式Java應用 - 感覺沒什麼用,講一些分佈式的東西。 - 大規模web服務開發技術 - 還不錯,說明一個系統怎麼因為使用人數成長,而更改系統架構。 不過看完有點惆悵,我們家的系統沒有那麼多人使用啊 ><. 所以用不太上。 所以其實是很多東西可以學的,好好加油啦!! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.168.149.219 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1490543503.A.C63.html ※ 編輯: achaos (118.168.149.219), 03/26/2017 23:52:48

03/27 00:07, , 1F
看到spring那段就笑了,網路上還有文章在抱怨spring
03/27 00:07, 1F

03/27 00:07, , 2F
設定太複雜
03/27 00:07, 2F

03/27 00:38, , 3F
跟你相反,覺得maven難用,gradle好用。
03/27 00:38, 3F

03/27 00:44, , 4F
03/27 00:44, 4F

03/27 01:01, , 5F
我覺得AOP其實很重要,因為這技術彌補了一部分OOP無
03/27 01:01, 5F

03/27 01:01, , 6F
法輕易搞定的領域,而且說千萬不要Spring boot其實
03/27 01:01, 6F

03/27 01:01, , 7F
也有點言重了,因為Spring boot一定程度上是要讓Jav
03/27 01:01, 7F

03/27 01:01, , 8F
a developer可以更好的在專案中享受到Spring的好以
03/27 01:01, 8F

03/27 01:01, , 9F
及讓專案更乾淨。一方面也是表示你真的有駕馭Spring
03/27 01:01, 9F

03/27 01:01, , 10F
的基本功力了,所以還有餘力的話,應該試著把這些部
03/27 01:01, 10F

03/27 01:01, , 11F
分列入增加自己能力的計劃裡。
03/27 01:01, 11F

03/27 01:44, , 12F
如果知道自己在幹嘛,用spring boot是還不錯,如果初學,
03/27 01:44, 12F

03/27 01:44, , 13F
還是會比較建議先把 "為什麼要這麼做" 這件事搞懂先
03/27 01:44, 13F

03/27 09:06, , 14F
spring boot是給已經知道spring是什麼的developer用的
03/27 09:06, 14F

03/27 09:16, , 15F
初學者還是別用SPRING BOOT,因為還是要自己苦過建置跟設定
03/27 09:16, 15F

03/27 09:16, , 16F
之後使用他才會知道他可能藏了什麼東西,或是為什麼這樣做
03/27 09:16, 16F

03/27 17:13, , 17F
+1 aop很重要 千萬別跳過 其他講的都不錯
03/27 17:13, 17F

03/28 08:25, , 18F
推推
03/28 08:25, 18F

03/28 20:41, , 19F
推分享
03/28 20:41, 19F

03/28 23:22, , 20F
感謝分享~
03/28 23:22, 20F
文章代碼(AID): #1Or-EFnZ (Soft_Job)
文章代碼(AID): #1Or-EFnZ (Soft_Job)