如何學習一門新知識??
大概的流程就是:
初期調研一下整個知識的基本資訊
,然後制定一個學習目標
,搜尋相關的學習資源
,篩選出最適合自己的,制定一個可行的學習計劃
,然後開始學習,
在學習的過程中,你一開始需要了解整個知識的全貌,然後對一個個知識細節,通過反覆實踐、反覆思考,總結歸納出自己的理解。同時分享和交流讓你獲得更多的成就感以及額外的
收穫。
通過以上方法,使得你的學習過程更為結構化,不用一頭扎進知識的海洋。這種方式通過利用人天生的好奇心來幫助我們吸收更多的知識,這才是學習原驅動。
當然,你需要關注的並不是方法本身,你可以任意棄用,這些步驟本身不重要,重要的是其中蘊含的思想和方法。
- 步驟:1~6 一次完成 7~10 反覆迴圈
參考:《軟技能-程式碼之外的生存指南》
1. 瞭解全域性
一開始最需要的是克服未知的恐懼。行動起來,去了解、發現,探索和好奇是學習最大的驅動力。
要了解的具體內容
- 背景: 誰創造的,什麼時候
- 用途: 為了解決什麼問題
- 原理: 大致思想是什麼,大致知識體系是什麼
- 重要性: 在整個知識體系中位於什麼地位,和其他知識之間的關聯
- 應用場景:具體用於幹啥的,在哪些地方用上了,大致實現方式
行動
- 網路搜尋相關知識
- 翻閱相關書籍的目錄
- 請教導師或瞭解這方面知識的人
有很多菜鳥教程算是對知識的啟蒙了,可以在網上找到; 還有一些介紹性的wiki,也比較適合。
2. 範圍規劃
明確自己要學習的範圍,確定一下哪些是你當前需要了解的。 比如你要學習redis用於java web系統開發,那lua等就不用深入瞭解
行動
- 構造一個
知識圖譜
,注意 考慮時間因素、合理切分 - 擬定一個學習提綱,再然後劃出你目前需要學習的部分
- 請教導師,讓過來人幫你寫個學習提綱
3. 明確目標
明確你學習這個是為了什麼?去掉你的虛榮心或不切實際的幻想
- 你的目的一定要純粹、簡單
行動
- 閉上你的雙眼,思考一下你內心真實的希望,你是渴望力量、敏捷、還是智力
- 目標一定要能激勵你學習成長,同時具有可行性
- 想象一下目標成功後的樣子,然後倒推一下實現步驟
4. 尋找資源
很多人一開始學習的時候,就在網上搜尋部落格文章,遇到什麼就學什麼,這樣沒有章法,而且講解不一定準確可行,導致事倍功半
資源清單
- 官方文件 : 最準確的資源
- 圖書 : 書籍一般都對知識講解比較深刻、系統,學習成本相對較高
- 部落格文章 : 實操性強,易於理解,但是系統性不強,不完全準確
- 線上視訊、課程 : 最為生動,但較為費時
- 對你想學習的知識早已熟悉的人 :可遇不可求
- 原始碼 : 原始碼比較難懂、但最接近知識的本質
- 例項專案 : github很強
- 文獻報告:專業性較強
5. 制定計劃
行動
- 從基礎出發、制定一個可行的知識點學習計劃
- 不要超過學習範圍,注意時間上的規劃
6. 篩選資源
通過你的學習計劃,篩選出你的學習資源,把冗餘的、不太準確的資源去除
行動
- 檢視書評和目錄,找出最優質的書籍
- 不要把書籍中超過學習範圍的知識點,納入你當前的學習計劃
- 選擇適合的線上視訊或文章
- 嘗試瞭解相關英文文獻
7. 淺嘗輒止
目的: 對於知識內容有一個完整的瞭解
- 既不能盲目的囫圇吞棗、要對整個知識體系有大致的瞭解
- 也不能鑽牛角尖、死磕浪費時間
8. 動手實踐
目的:通過行動,對於知識內容的實現方式、產生效果有較為深刻的瞭解
行動
- 寫一個demo程式,或者測試案例
- 對於教程的描述的現象和結果,要自己親自體驗和操作
- 把暫時不懂的記錄下來
9. 融會貫通
目前:對於知識整體的關聯關係、原理有自己深刻的理解
- 出於自己的好奇心,通過閱讀文字、觀看視訊等,把某一個小知識點搞清楚
- 有選擇的反覆精讀相關知識,反覆嘗試,舉一反三,直到弄懂為止
- 將各個知識點串聯起來,結合之前的實現,總結歸納成自己的知識圖譜
10. 分享交流
將你所學的知識淺顯易懂的講給別人聽,在這個過程中,你可能會有對這個知識額外的收穫和理解。
行動
- 將你所掌握的知識,寫成文章,釋出到網上,並回復別人的留言
- 寫一個開源的demo專案,用於闡述你所掌握的知識
- 發表相關演講和交流會
- 在stackoverflow上回答相關問題