一個祕方是「寫博客」,注意這裏不是「看博客」,也不是「轉載博客」而是「親自寫博客」。哪樣東西你以爲你比較懂了,那麼你就寫成博客。當你真正去寫的時候,你會發現,其實還有不少不懂或者不清楚的地方,這樣就會促使你又去學習研究;當你的博客發表後,其餘人除了可以從你的博客中學到東西外,也可以幫你發現一些問題或者錯誤,這樣你就更進一步的掌握了;前端
另一個祕方就是「鏈式學習」。形象點說,就是你抓住了一個鏈條的一個鏈,而後慢慢慢慢把全部的鏈都拉出來。舉一個很簡單的例子:socket sever編程。不少人在編程的時候,都是去搜索引擎搜索一下「socket server樣例」,而後對照樣例很快就寫完功能了。而後呢。。。。。。不少人沒有而後了,完成任務就無論了。其實這樣作就錯過了一次提高本身的好機會。編程
「鏈式學習」則不同,它是這樣作的:我經過搜索引擎搜索到樣例完成工做後,我會問本身不少問題:樣例中的api每一個參數都是什麼含義,有哪些注意事項,還有其它API麼?爲了解決這些問題,我就可能去找本書看,某個編程語言的socket編程;看完之後我知道socket編程的全貌和一些注意事項,而這些是經過搜索引擎搜索的樣例中沒有的;知道socket編程的全貌後,我又會問本身:操做系統是怎麼作的呢? 那我又會去看《UNIX網絡編程》,看完後我就對操做系統層面的又掌握更多了;看完《UNIX網絡編程》後,我又知道socket是和tcp/ip相關的,那我又會去看《TCP/IP協議詳解》。。。。。。api
這樣去作就是一條學習鏈: socket server編程 -> socket 編程 -> UNIX網絡編程 -> TCP/IP協議,後面還能夠繼續不斷拓展下去。如此不斷的拓展和深刻,一個很小的契機就能初始你學到不少東西,而這些東西在之後的工做中某些時刻就派上用場了。瀏覽器
我以前在華爲是在Windosw平臺上用MFC開發,後來到了UC轉爲Linux平臺開發,用這種方法,大約用了2年就熟練掌握了Linux平臺相關的開發技術,包括Linux、MySQL、C++、Java、PHP等網絡
第三個祕方就是「閉環學習」。「鏈式學習」適合於一組相關聯的知識或者技能的學習,而「閉環學習」更適合業務、相互配合的知識和技能的學習。因爲軟件開發是須要多個團隊分工合做的,因此絕大部分人都只負責整個系統或者全流程中的一環,這樣致使不少人覺得只須要將本身負責部分精通就能夠了。其實這樣不利於我的的發展,一個緣由是本身負責的通常都比較窄,可學習和提高的空間可能很少,另一個緣由是很難設計總體上優秀的方案。socket
而「閉環學習」則不同,它是這樣作的:瞭解整個功能或者業務的全流程實現,涉及了哪些模塊和系統,每一個模塊和系統主要負責什麼功能,涉及到什麼技術,性能怎樣,有什麼注意點。舉一個我作個的HTTP的業務樣例:從用戶點擊一個url開始,通過了 瀏覽器 -> 網絡 -> CDN -> Nginx -> PHP -> MySQL -> PHP -> Nginx -> 網絡 -> 瀏覽器,最後呈如今用戶面前。我開發的時候只是用PHP開發,但並不僅侷限於PHP自己,閉環學習就要求全流程中的每一個環節都要去了解和熟悉,這樣你就能夠學到了「瀏覽器、Nginx、CDN、MySQL」等不少知識。tcp
有的朋友可能會問:這樣作有什麼用呢?其實用處很是大,一個是當出現問題的時候,有了閉環學習掌握的知識和技能,你就知道哪些地方可能有問題,應該如何處理;另一個用處是,當你考慮設計方案的時候,就不侷限於PHP自己了,也許某個功能Nginx或者CDN或者前端能作的更好,用PHP實現反而很蹩腳。編程語言
看書不實踐,基本忘光光。 編程最重要的就是在實踐中感悟。 視頻學習效率高,可是仍是不如實踐。 看博客至關於閱讀,主動的閱讀,效果比被動的聽或者蜻蜓點水的讀強。 工做實踐最鍛鍊人,由於需求最接地氣,可是沒有機會充電,知識都零零散散。這就離不開系統的學習了。 而源代碼學習,就是一用實踐,寫博客總結,又是一種實踐。還便於之後查詢。 源代碼實踐學習法,很適合學計算機。 視頻實踐學習法,比光看視頻強。光看視頻比光讀書強。讀書又比稀裏糊塗聽課強。 聽課記筆記,效果大於只聽不記。 帶着問題聽課,帶着問題學習,效果不錯。既實踐又主動實踐。把書上的模糊的理論實踐化了。 讀書實踐學習法,效果也不錯。 一塊兒的一切都基於主動,主動,實踐,再實踐! 選擇一種,幾種適合本身的學習方法!在工做和生活中前進!!!