如何高效率的學習新技術

除了拼搏和努力,成功也是有方法的。寫這個話題,用以闡述下自己學習新技術的一套形而上學的東西,希望能給大家帶來幫助。當然,每個人都有自己的方法論,適合自己的即是最好的。

做好規劃

對筆者而言,在學校和工作中,經常會用一些空餘時間學習新的技術或者框架。這個時候往往隨性而為,看到感興趣的或者熱門的就去看下,沒有約束。從人性出發,每個人都是有惰性的。看到好看的電影,便會去看。看到好友邀請打遊戲,就會去打一盤遊戲。這時的學習效率是很低下的。一本書,一個星期能看完,能拖到兩個星期。

大學畢業那段時間,給一個哥們做大數據相關的畢業設計。他給我的期限是兩個星期,兩個星期之內做完,才支付報酬。起初只搭建過單機的Hadoop,對整個大數據開發技術還是雲里霧裡的。要在兩個星期之內搞定,我做的第一件事情是把整個大數據相關的技術和工具粗略了解下,當時買了一本Hadoop實戰。第二件事看需求,確定技術選型,最終方案是Hbase+Hive+Hadoop。第三件事,搭建壞境和編碼。結果大家也猜到了,在毛老頭(報酬)的逼迫下,按期完成了開發。這個是項目源代碼,歡迎給個star。如果沒有限制和報酬,不知道什麼時候能完成。

以結果為導向

這點,筆者是覺得很重要的。結合筆者一次失敗的親身經歷來談。也是在學校期間,當時實驗室導師需要做一個網路輿情監控的項目。筆者和幾個同學同時在做,需要先採集數據。當時才大二上,只學過C/C++。對Java和爬蟲,也是只聽其名,未實踐過。當時計劃用Java做數據採集的。前幾個月很愚鈍的看了Java SE整套東西,從Java語法,面向對象,文件IO,網路編程,多線程編程,到資料庫編程和桌面應用。結果就是另一位同學數據已經抓取下來了,而筆者還未開始編碼。當然,之後大二課程設計時,用Java寫了個桌面應用給老師,還是有所驚艷的(渣渣學校)。

這個例子,可能不是很合適。在學習新的技術或者框架過程中,遇到不懂的地方或者難以解決的問題,這是很正常的。如果在這個過程中,鑽牛角尖,一定要搞明白,你會發現學習新技術的激情很快就消失殆盡。而且效率也極為低下。學習新的技術,關鍵主線是關鍵。

做中學,項目主導構建網路

有時候我經常有這樣的困惑,學習了新的技術之後,當時也能寫一些,但過段時間就忘了。但Java那一套,如果再讓筆者寫個客戶端程序,短時間內也能弄出來。

大三出來實習時,以實習生的身份完成了項目從0到1的開發,項目框架用的是Yii2.0,還有一些其他的組件。很多東西都是一知半解。由於時間緊迫,就直接上手做項目了。但現在回想,那段時間,學東西真TM快。

掌握一門技術,最快最好的方法,就是逼著自己做項目,在項目中把重點和一些坑弄明白。之前面試的時候,一位長輩說,技術不僅要知道怎麼做,還要知道為什麼這樣做。認識新事物的三個階段,它是什麼。其次怎麼做。最後是為什麼要這樣做。

原文地址-轉載請附帶


推薦閱讀:

TAG:高效學習 | 新技術 |