摘自劉未鵬(http://blog.csdn.net/pongba)程序員
一、思考。利用走路和吃飯的時候思考,還有睡覺前必然要弄一個問題放在腦子裏面,在思考中迷糊入睡。發現這樣一來每每在不知不覺中多出來大量的思考時間。算法
二、重要的事情營造比較大的時間塊來完成。好比一本好書,或者一個重要的知識點,最好不要切得太瑣碎了看,不然看了後面忘了前面。不利於知識的組織&聯繫。編程
三、學習一項知識,必須問本身三個重要問題:1. 它的本質是什麼。2. 它的第一原則是什麼。3. 它的知識結構是怎樣的。網絡
四、學習和思考的過程當中常問本身的幾個問題:數據結構
五、 重視知識的本質:對於程序員來講這一點尤爲重要,程序員行業的知識蕪雜海量,並且老是在增加變化。不少人感嘆跟不上新技術。應對這個問題的辦法只能是:抓住不變量。大量的新技術其實只是一層皮,背後的支撐技術其實都是十來年不變的東西。底層知識永遠都不過期。算法數據結構永遠都不過期。基本的程序設計理論永遠都不過期。良好的編碼習慣永遠都不過期。分析問題和解決問題的能力永遠都不過期。強大的學習能力和旺盛的求知慾永遠都不過期。你大腦的思惟方式永遠都不過期。學習
六、重視積累的強大力量,萬事提早準備:計劃訂長一點,天然就能夠多得到準備的時間。設想你若干年後會在作什麼事情,須要哪些技能,如今就開始準備。一個5年計劃即可以讓你得到從如今開始的5年準備時間。5年中天天騰出半個到一個小時專心於某一件事情,認準一個方向,每次走一點,其實不要說5年,兩年就會發現會起到宏大的效應。長期訂閱個人Blog的朋友們也必定注意到我基本上不寫東西,通常一個月寫上2篇就算多的了。但總結一段時間的學習和思考的習慣卻一直都沒有中止(博客文章對我來講是學習和思考的副產品,我並不爲寫文章而寫文章),因此5年下來竟也寫了很多東西。因此這就是一個簡單的例子。你大體還能夠從個人Blog看出來我一段時間關注的東西,通常來講,一段比較長的時間(少則半年至一年——譬如對心理學與思惟的關注;多則幾年——譬如對編程技術的關注),在這段時間內,個人業餘時間會被一個主題所充斥。反之,若是不知道目的是什麼,就不知道往哪一個方向上使勁,就容易產生無用功。編碼
七、擡起頭來:人的思惟是很是容易只見樹木不見森林的(不然這個成語從哪來的呢?)。時不時擡起頭來審視一下本身正在作的事情,問一問它(對如今或將來)有什麼價值,是否是你真正但願作的。你學到的東西究竟是什麼?它們重要嗎?你須要在這個時候學習這些嗎?(見第2條)。你的時間就是你的資源,你投入這些資源來掌握知識,因此到底用來掌握哪些知識是一個很重要的問題。僅僅遵循興趣是不夠的,人會對不少次要的東西產生興趣,並一頭鑽進去浪費好多時間。因此判斷一個東西值不值得學習是很重要的。spa
八、 有時間嗎?總結總結最近獲得的新知識吧。通常來講,我在一段時間內學習的一些東西老是會在這段時間內一直在腦子裏打轉,一有時間空隙(譬如走路,吃飯)它們就會本身蹦出來,促使我去進一步思考和總結。永遠不要認爲對一個知識的把握足夠深入,「理解」的感受不少時候只是假象。學會反問本身對知識到底把握了多少,是頗有價值的。(如何反問,前面的總結中有提到).net
九、 趁着對一件事情有熱情的時候,一古腦兒把萬事開頭那個最難的階段熬過去。萬事開頭難,由於從不瞭解到了解基本的一些事實,是一個新知識暴漲的階段,這個時候的困難是最大的。有人熬不過去,以爲困難太大就放棄了。不過,狂熱的興趣能夠抵消對困難的感受,因此趁着對一件事情有熱情的時候,開一個好頭是很重要的。(固然,這並非說鍥而不捨就不重要了)。固然,也許這個是因人而異的,對我來講我會在對一件事情有濃厚興趣的時候很是專一地學習,把不少 groundworks 作掉。後面就會順利一些了。設計
十、根據主題來查閱資料,而不是根據資料來查閱主題。之前讀書的時候是一本一本的讀,眼裏看到的是一本一本的書,如今則是一章、甚至一節一節的讀,眼中看到的不是一本一本的書,而是一堆一堆的章節,一個一個的知識主題,按照主題來閱讀,你會發現讀的時候再也不是老老實實地一本書看完看另外一本,而是很是頻繁地從一本書跳到另外一本書,從一處資料跳到另外一處資料,從而來得到多個不一樣的人對同一個主題是如何講解的。好比最近我發如今看蒙特卡羅算法時就查了十來處資料,其中有三四篇 paper 和六七本書;這是由於即使是經典的書,你也不能期望它對其中每個主題的介紹都是盡善盡美的,有些書對某個主題(知識點)的介紹比較到位,有些書則對另外一些知識點介紹得比較到位。而有時候一篇緊湊的 paper 比一本書上講得還要好。我硬盤裏面的書按主題分類,每一個主題下面都有一堆書,當我須要學習某個主題的知識時(譬如貝葉斯學習或者神經網絡),我會把裏面涉及這個主題的書都翻開來,索引到相關章節,而後挑講得好的看。那麼,如何判斷一個資料是好資料仍是壞資料呢?
十一、好資料,壞資料。好資料的特色:從問題出發;重點介紹方法背後的理念( rationale ),注重直觀解釋,而不是方法的技術細節;按照方法被髮明的時間流程來介紹(先是遇到了什麼什麼問題,而後怎樣分析,推理,最後發現目前所使用的方法)。壞資料的特色是好資料的反面:上來就講方法細節,彷彿某方法是從天上掉下來的,他們每每這樣寫「咱們定義... 咱們稱... 咱們進行如下幾個步驟... 」。根本不講爲何要用這個方法,人們最初是由於面對什麼問題纔想到這個方法的,其間又是怎樣纔想出了這麼個方法的,方法背後的直觀思想又是什麼。實際上一個方法若是將其最終最簡潔的形式直接表達出來每每丟失掉了絕大多數信息,這個丟掉的信息就是問題解決背後的思惟過程。至於爲何大多數書作不到這一點,我在這裏試着分析過。
十二、學習一個東西以前,首先在大腦中積累充分的「疑惑感」。即弄清面臨的問題究竟是什麼,在瀏覽方法自己以前,最好先使勁問問本身能想到什麼方法。一個公認的事實是,你對問題的疑惑越大,在以前作的本身的思考越多,當看到解答以後印象就越深入。記得大學裏面的課本老是瀑布式地把整個知識結構盡收眼底地放在面前,讀的過程卻是挺爽,連連點頭,讀完了很快又忘掉了,爲何?由於沒有帶着疑問去學習。
1三、 爲何看不懂?若是看不懂一個知識,通常有以下幾個可能的緣由:1. 你看得不夠使勁。對此古人總結過——書讀百遍其義自現。雖然這個規律不是任什麼時候候都成立的,可是從認知科學的角度看是徹底能夠解釋的,咱們在閱讀的時候,注意力每每會有選擇性地關注其中的某一些「點」,而忽略了另外一些「點」,因而一遍看下來可能由於某一些忽略致使沒法理解總體。或者乾脆看的時候就沒注意其中一些細節但重要的東西。此外,大腦理解一個東西須要必定的處理時間,人腦的處理速度很慢,神經衝動每秒傳輸速度不過百米,因此不能期望看到哪懂到哪。最後,咱們可能由於思惟定勢的緣由會從某個特定的角度去看一句話而忽略了從不一樣角度去理解的可能性。對於這類狀況,仔仔細細地再多讀兩遍,多試着去理解兩遍,每每會「哦!原來這樣。」地恍然大悟。2. 其中涉及到了你不懂的概念。這是技術性的不理解。這種狀況就須要 Cross Reference 。若是一句話中用到了你不懂的概念,那就去查,如今不少書都是電子書,直接搜索一下,或者,對於紙書,看一下書後面的索引就好了。奇怪的是不少人看不懂也不分析一下爲何不懂,就直接放棄了。正如解決問題同樣,問題卡住解決不了,第一時間要作的就是分析到底爲何解決不了,而不是直接求救。3. 做者講述的順序不對,你接着往下看,也許看到後面就明白了前面的了。