寫在開篇--新手學習總結

半年前剛畢業的那會兒,會的語言有c,c++,c#,都不精通,甚至談不上熟悉,只能算了解吧。我不是計算機專業的學生,也沒相關的實習經驗,或者開發經驗。通過半年的學習,踩坑,也有了一些收穫,想記錄下本身的學習經驗,過段時間可能證實是錯的也沒關係,是本身的總結,也是本身的進步。java

1. 如何學習一門新的技術/語言

學習初期很容易踩的坑是,給你一個新項目,一堆代碼,一堆類,不知道從哪一個類開
始看,不知道從哪行代碼開始看。帶個人師父有指導說,能夠從入口開始看?(什麼是入口?),或者,慢慢看,一遍看不懂,就看2遍?…react

以前看得一篇博文中的一句話,讓我印象深入,大概的意思是「學習一門技術以前,要知道,它解決了什麼問題,有怎樣的應用場景」,因此在剛開始接觸一門新技術時,不是先看代碼,而是,先了解,這個技術是作什麼的,他的結構是什麼,他有哪些部分,每一個部分是怎樣的關係,再是每一個部分的內部結構,具體實現。c++

舉個例子,在學習springboot的時候,當時的師父給了我一本《springboot實戰》,看了幾頁就放棄了,對於一個對spring一無所知,甚至對java都不甚瞭解的人,啃起來太吃力,不少名詞都不知道是什麼。我就立馬停下,去翻博文了,同時去啃《Core Java》(在此推薦,至關基礎的一本書,Java入門必備)。redis

首先,我先簡單瞭解了一下 spring mvc的結構model是什麼,controller是作什麼的,view是什麼內容,而後照着博文實現了幾個簡單的項目,很快就能開發一些簡單的功能了,發請求,查詢,更新數據庫。再後面,學習新功能,實現新功能,等對spring的操做熟悉了一些之後,就開始啃《精通Spring 4.x ——企業應用開發實戰》,800頁啃起來很慢,可是當你瞭解邏輯時,你纔會知道他裏面談到的aop,ioc是作什麼的,哦,原來我以前標一個@Autowire 就有實例了,是這樣實現的(推薦的第二本書,寫的很不錯,同時穿插Java的基礎知識,語言也很風趣)。spring

最近在學netty,我先去了解了一下IO是什麼,NIO是什麼,java NIO是怎樣操做的,J具體操做了再去看netty的操做,就能更快地知道,netty在作什麼,而不是一開始就去啃代碼,《Netty權威指南》的學習步驟很認同,前面講基礎,後面的章節能夠單獨按需看。數據庫

2. 如何學得更快

如何學得更快,是我最近思考最多的一個問題,對於一個初學者來講,要看的書不少,
要學的東西也不少,那麼,學習內容的挑選,學習方式的組織,就很重要了,學習方法,上文說明了,那麼學習內容怎樣選擇呢。如下是我讀過或正在讀的書。編程

  • 正在看的書c#

    • Redis設計與實踐
    • ECMAScript 6 入門
    • head first 設計模式
    • JAVA併發編程實踐
  • 2017看過的書segmentfault

    • Redis入門指南
    • Netty權威指南
    • 精通Spring 4x
    • react 引領將來的用戶界面開發框架
    • core java 卷1

我在書籍的選擇上會遵照如下原則:設計模式

  1. 基礎知識,好比core java , ES6, java多線程,設計模式
  2. 接近工做,好比redis,react,spring,netty

同時在MOOC上看南京大學操做系統的公開課,做爲一個非科班出身的學生,操做系統
和計算機網絡都沒學過,不少人以爲生活中不會用到,因此就不看了。但在後面的學習中,常常會接觸到,IO操做爲何慢,什麼是原子性,socket的一堆設置是什麼意思。固然,不清楚具體實現也不影響開發,但我認爲,你對一門技術的瞭解程度,決定了你對它的控制程度。

其次,要學習優秀代碼,不管是同事的,仍是開源的,不只要知道他們寫得好,還有知道,爲何好,要在本身的代碼中去模仿,去運用,去實踐。

開通博客的初衷,是以爲網上沒有徹底符合本身學習模式的博文,這也是必然的,再加上最近學的東西比較多,不總結容易忘。寫博文更多的是幫助本身成長,若是有寫錯的地方,也歡迎你們指正,若是能剛好幫助一些像我同樣的新手,就更好了。

--2018/7/13-分割線------------------------------------------------------------------------------------------

距離第一次,寫博文已經半年了,我也工做恰好一年,感觸仍是頗多的。寫第一篇Jedis文章的時間特別長,主要是須要本身作圖,由於沒什麼經驗,語文也不太好,又想好好寫,因此這一篇寫的時間特別長。不過,跨過這道坎之後,後面寫文章就快多了(跟第一次對比哈)。

跟第一次寫博客相比,想法變了不少,好比:

首先,我以爲更多的想幫助你們,若是隻是爲了本身,那就寫寫筆記好了,不用分享出來,網上的博客質量太差,不少時間,要逛個十幾篇博客才能找到幾篇有用的。因此即便如今不是大佬,寫文章速度也不快,但我會盡可能把文章內容寫清楚,寫簡單,但願能節省你們的時間。

另外,我在慢慢翻譯國外的一本講spring security的書,這本書是部門總監推薦的,我的以爲內容設計的挺不錯。多是spring security自己設計得比較難,網上沒幾個能說的清楚,說的全的,感受部門也沒幾個很懂的,即便是操做。當初想作個demo都本身摸索了很久,若是有這本書,我想,我會快不少。翻譯的很慢(有其餘文章在寫,要先作一遍,翻譯得找百度確認一下==),若是着急能夠看英文書,或者找我要資料~,不着急的,能夠收藏一下,我會盡可能在下半年翻譯完。

最後,要複習下本身這段時間學習的知識。總監說的一段話讓我思考了不少,學習的東西不是爲了丟掉的,要麼輸出成文章,幫助其餘人,要麼應用到項目中,這樣,你才能記得住。還有,要常常和你們互動,這樣你才知道,你作的東西是否是你們想要的。接下來會努力在這上面改進,加油。

相關文章
相關標籤/搜索