# 學習如何學習 ###### tags: `心靈` `learning` 自從脫離學校生活後,我們很少真正的實際運用學校所學,反而要面對更多的新知,此時單純的背誦已經不再是最好的辦法了,應該開始建立自己的學習模式,並且此時的你可以不再受學校拘束的探索你好奇的事物。 建立屬於自己的**學習模式**的目的在於能夠快速的從你的腦袋裡建立**知識網路**,並且慢慢修正自己的**思維模型**,此時該注意的是你能從中獲得什麼可移植的想法,而不只是單純學會,每個想法都有可能成為你面對下一個新知的關鍵知識。 我會分享我面對不同類型的知識所採取的學習策略 (軟體工程為主)。 ## 程式語言 我們常說,學會一個語言再去學其他語言會快很多,我不否認,但我們可以在語言中多拿一點想法走,學一個語言我會希望得到或者知道幾件事: - 語言如何誕生? - 語言設計的主軸是什麼? - 與其他語言最大的區別是什麼? - 語言內是否有一些好的想法可以移植或模仿? 那我學習的重點有幾項: - 理解整個生態 - 揣摩思想 - 與現有熟悉語言作比較 - 了解設計上的決策跟取捨 - 找出可移植的想法或設計 ## 框架 框架也是軟體工程必學的一個東西,因為它可以幫你處理掉很多細碎的事務,讓你更專注在邏輯上,而學習一個框架我會想知道幾件事: - 實際上解決了什麼問題? - 有沒有什麼核心想法? - 幫你處理掉了哪些複雜步驟? 而學習的重點是: - 整個框架的核心想法 - 各個部分的組合跟關係 - 理解框架是如何幫你處理掉你覺得複雜的部分 ## 工具/函式庫 在開發上我們常用許多不同的工具或函式庫來簡化我們的程式碼,這也代表了工具/函式庫通常都是在針對解決某個問題,因此我會先知道幾件事: - 想要解決什麼問題 - 與其他相同目的工具有什麼區別 - 是否由某個核心思想建構而成 學習重點: - 了解核心思想 - 從中學習新的技巧 ## 學習 最重要的還是**學習如何學習**,當你掌握了自己的**節奏**跟**學習心法**時,一切事物將變得有趣,即使難度對你而言有點高。 學習如何學習更多是在了解自己的大腦運作模式,所以最需要是時時刻刻觀察自己,大概會有幾項 - 對什麼類型事情最得心應手? - 從什麼角度切入對你而言是最輕鬆的? - 你真正想了解的是什麼? - 你是如何記憶這些資訊的? - 通常記得最清楚的是哪個部份? - 你是如何讓整個知識網路更加緊密牢固的? 最後,心一定要靜下來,心不靜的學習並不會給帶來多大的收穫,只會花費更多的時間,心不靜通常有幾個原因 - 你其實沒那麼喜歡做這件事 - 精神狀態不佳 - 目標不夠明確 - 計畫不夠周全 - 你遇到困難了 除了第一項,其他的解決方法是出去走走,或是拋開當下事務靜下來思考,這樣的目的是讓你利用這段時間給自己重新整理,**重新擬定計畫**、**重新定位目標**、**稍微休息一下**,都是你在這段期間可以做的。 ## 結語 也許你還照著學生時期的方法在學習,但這真的適合你嗎?我認為每能夠發揮每個人的潛力的學習模式都不一樣,我們只是從中提取大部分人的共通點而已,但有可能根本不適合你,你有可能發現的早,也有可能發現的晚,但只要你還有一顆學習的心,什麼時候開始都無所謂。 學習如何學習也是認識自我的一個方式,越了解自己,越能從容應對周遭的人事物,然而這是一個無止盡的過程,我也還在持續的努力,我們唯一能做的就是享受那個過程。