1. 程式人生 > >談談學習 --- 我認為的正確的學習姿勢

談談學習 --- 我認為的正確的學習姿勢

複製貼上黨與伸手黨永遠都不會成為大牛。

寫這篇文章的初衷

隨著圈子的不斷擴大與變化,漸漸地認識了許多朋友,有的以及的大牛,有的才剛剛開始學習。在幾個群裡每天都能看到有人在問問題,一開始,只要是我會的我都會試著去解答一下,因為幫助別人的同時也可以讓自己對這個知識點更加的熟悉,但是時間長了,就會有些不耐煩。

如果看到這篇文章的你也加過一些技術群,應該也知道,很多問問題的都是一些初學者,問的問題其實並不怎麼難,很多都是一百度就能找到答案的。以前我還願意去幫他百度一下,畢竟大家都是從初學者過來的,想想自己剛學程式設計的時候,也是一頭霧水。

但是,有的人總是想做伸手黨或者複製貼上黨,你給他找到了解決問題的文章,讓他自己去看一下,他說看不懂,希望你能直接告訴他怎麼做,最好直接把程式碼寫好,然後他複製貼上一下就好。

本來想發發牢騷,但是這樣不好。。你們自己體會好了。授人以魚不如授人以漁,所以,我寫這篇文章,是給那些還不怎麼會自學的人看的。

當然,這只是我自己的學習方式,你覺得有用,可以參考,覺得不好,就當路過。我也只是個學生而已,之前建了一個群,90%都是學生,感興趣的可以來,281440885,備註來自部落格。

怎樣學習新知識

很多知識其實是很枯燥的,買了一本技術書籍一開啟,發現全是文字,可能看了一兩頁就不想看了;開啟一篇部落格,又全是文字,心態炸了。學技術和看網路小說不同,網路小說你可以一目十行的看,但是技術書籍你得一個詞一個詞的看,否則你很難理解一句話的含義。

我來說一下我自己的學習方式。

  • 1. 確認學習目標

    首先,你需要確認你要學什麼(當然,這可能是廢話),切記不要三心二意。

  • 2. 制定學習計劃

    我知道,沒有幾個人能夠堅持按計劃行事,如果你能做到,那就沒必要看這篇文章了。但是計劃真的是很重要的。如果沒有一個合理的計劃,你就會覺得無所事事,雖然你可能最近想學一個新知識,但是由於沒有人逼你,你也沒有動力或者不知道什麼時候開始比較好,所以就一直擱置擱置再擱置,玩一會手機,一個小時過去了,玩會遊戲,又一個小時過去了,就這樣,你的時間都被你浪費了。但是有了計劃就不一樣了,就算你沒有一個精確到小時的計劃,精確到天的總該有吧?每天做什麼,學什麼,要完成什麼目標,都列出來,你的生活就不會很迷茫了。

  • 3. 自己找資料開始學習

    請記住,不要當一個徹頭徹尾的伸手黨。因為輕易得到的東西你是不會珍惜的。並且,你不要祈禱你這一輩子所有學習需要的資料都有人會提供給你,自己找資料本身就是自學能力的一部分。當然,我並不是說不讓大家去群裡問,畢竟能問到也是一種本事,但是你一定要有自己的資料來源,無論是部落格還是書或者是官方資料。

  • 4. 腦圖與流程圖

    學習從來都不是隻看看書就能學會的,自己構建相關知識腦圖
    和相關步驟的流程圖是非常有必要並且非常有效果的。比如你要學習java,你可以先從網上找一找別人畫的腦圖,對java有一個大致的瞭解,每學一個小的知識點,就自己繪製一個該知識點的腦圖,學完之後,自己再畫一個整個java體系的腦圖,這樣你會對java非常的熟悉。比如你學GC,光看書或者部落格是很難記住那些流程的,這個時候,你自己畫一個流程圖,我保證你對這個過程會很清晰。記住:就算是有現成的圖,你也應該自己畫一個,自己畫和看別人的是完全不同的兩個層次。

  • 5. 編碼

    上面的那些,都是掌握理論知識的步驟,是騾子是馬還得拉出來溜溜。編碼才是重中之重,就算你能把一個知識點吹得天花亂墜,但是一句程式碼不會寫,我會鄙視你(如果你以後就想成為這樣的人,我無話可說,比如,某些大學教授?)

  • 6. 筆記

    好記性不如爛筆頭,學完的知識,然後記錄下來,自己總結一遍,收穫有多大你們試試就知道了。

  • 7. 回顧
    如果你學的東西,很久都沒用,突然有一天你又要撿起它,你會發現,你之前做的努力,太特麼值了,你有資料!有腦圖!有流程圖!還有筆記!分分鐘就記起來了。

  • 8. 自己寫一個有實際應用的demo

    如果有必要,可以寫一個有趣的應用,不是簡單的範例。

這個過程,其實是很耗時的,大學生建議按照這個流程來,因為學生的時間大把大把的,比如,我這個學期一週兩節課。。。。時間很少的就根據自身情況取捨吧。腦圖和流程圖我覺得收益很高。

乾貨

扯了一堆方法,放點乾貨。針對上面每一步,提供一些工具或者資料。

  • 1. 確認學習目標

    這個不管。。

  • 2. 制定學習計劃

    teambition : 一個團隊管理軟體,當然,個人用也是蠻好的,還有各個平臺的客戶端。

  • 3. 自己找資料開始學習

    這個範圍就大了。。。看你想學什麼了。

    • 百度/google:先看看他都能幹嘛
    • 官網:官網的文件一般足夠了
    • 相關書籍:京東和噹噹經常有活動的。
    • 社群:社群也會有人做教程的,還會有一些個人專案可以參考
    • github:不多說
    • 各大部落格:看看一些高質量部落格也不錯
    • 微信公眾號:試著找一下相關的微信,當然,微信上的文章很多都來自於部落格,但是微信的好處就是,你不用自己找,別人已經幫你找好了,缺點就是,量太少。
    • 知乎專欄:和部落格差不多。
  • 4. 腦圖與流程圖

    腦圖:

    • 百度腦圖,線上做圖。
    • xmind等客戶端。
      我只用過上面那兩個。。。現在一直用百度腦圖

    流程圖:

    • Visio。
      其他的我也不知道。。。我都用線上的,方便。。
  • 5. 編碼

    可以把程式碼提交的github或者coding。
    講道理,我覺得github可以當做一個個人品牌來經營,所以最好只放一些很好的專案,一些無關緊要的程式碼放在coding就好了,開源中國的碼雲也行。

  • 6. 筆記

    • gitbook : 可以直接生成電子書的一個開源工具,不知道的可以瞭解一下,我現在在用。
    • 簡書:因為簡書可以建立文集,就和資料夾似的,用來做筆記也不錯。
    • 有道雲筆記。也挺好的(我喜歡用markdown。有道雲支援)
    • 印象筆記
    • 各大部落格
    • 自己搭部落格
    • OneNote
    • 。。。。太多了

我比較推薦用markdown來做筆記,markdown常用的語法也就五六個,很好記,也很好用。

問題如何解決

  • 記錄錯誤

每個人在學習的時候,都不可避免的會遇到許許多多的問題,並且,根據我的經驗,同樣一個問題,你可能會遇到好幾次。如果不做一個“改錯本”,那麼你每次遇到這個錯誤,都需要重新去查詢解決方案,是一件得不償失的事情。所以,有必要對每一個錯誤,以及解決方案進行記錄。

比如:記錄問題 -> 解決方案 -> 結果

這裡寫圖片描述

  • 解決問題的幾個途徑

自己查:

  • Stack Overflow :不要問我為什麼,你所遇到的99%的問題,這裡都有答案,不過,它是英文的。
  • google:會翻牆的首選
  • baidu : 不會翻牆的湊合
  • 社群:找到答案的概率高一點
  • 知乎:有的時候,你的問題是能從知乎上找到答案的。
  • 各大論壇。有可能別人也問過這個問題。
  • 百度知道。同上

事實上,如果你搜索引擎用得好,論壇上的那些回答你都能搜出來的

求助別人

  • qq群:直接問
  • 百度知道:發帖問
  • 各大論壇:同上
  • 知乎:同上
  • 社群:同上
  • 你認識的大佬:崇拜似的問

臨時總結,有哪些不合理或者可以補充的地方,歡迎與我交流。上面的都是我自己的經驗,至於適不適合你,請自行斟酌。

講道理,學習這種事,還是有個小團體比較好,一個人悶頭幹很容易沒激情並且懈怠的。