大量時間學習通用技術,少量時間學習公司中介軟體
理解原理架構方法,而不是記憶細枝末節,核心在於理解不在記憶,在於學習其思想
帶著問題去學習,一般問題是什麼(做了什麼,怎麼實現),為什麼(為什麼要這樣做,這樣做有什麼好處),舉例hbase(column family 是什麼,為什麼hbase弄了個cf,為什麼hbase按cf儲存,不按行儲存)
思考,思考極為重要,要不斷地思考和整理學習過的知識,比如開個單人宣講,以某技術為主題,目前遇到了什麼問題,為了解決此問題某解決方案(技術)出世,這個技術是如何處理問題的,其核心概念和架構原理等等
宣講,實踐,談論,主動的效率遠高於被動
去造個輪子,用輸出逼輸入,比如為了寫了個mq,你必須了解其他的mq,你需要用到大量的知識,你的水平取決於你能輸出什麼,你能輸出mq,輸出服務框架等等,那你需要輸入大量的知識。
打造自己的技術差異性,就是在幾個領域內成為專家,領域最好是核心領域,如jvm,服務框架,mq,快取等,所謂專家,肯定對此領域的幾個核心產品很熟悉,然後有自己的輸出,理解通透,自己也能寫個出來
高手在於快速掌握理解本質,站在作者的角度去思考,如果我去設計我會怎麼做,對比自己的設計和已有技術找到自己的不足
比如為了不過於頻繁的磁碟寫,hbase和mysql都寫記憶體,再flush磁碟,但是記憶體易丟,所以寫記憶體前先寫日誌檔案記錄變更,這就是核心思想,而binlog,hlog等等就是具體細節
hbase,sopush,etrace/emonitor
如何學習技術?
題記 今天發現要學的東西好多啊,自己學得又慢,快沒信心了。轉一篇文章,激勵下自己,重要是掌握好學習方法。也可以參考我之前的一篇文章 一 想學的技術非常多怎麼辦?1 找重點 區分感興趣的技能和必須技能,將重點放在必須技能上。如實在區分不開,可以這樣問自己 不學這個技術會現在的工作是不是幹不下去了?2 ...
如何學習新技術
一 是什麼?二 為什麼會出現?1 沒有這個之前是怎麼幹活的?2 它的同類產品是什麼?3 這個技術比同類展品改進了什麼?三 技術能解決了什麼問題?這個我們可以多關注一下他的架構的過人之處?四 初步學習,完成demo?1 看官方的文件 2 搭建環境,跑起demo 3 參考demo編寫小的crud工程 4...
如何學習新技術
一 是什麼?二 為什麼會出現?1 沒有這個之前是怎麼幹活的?2 它的同類產品是什麼?3 這個技術比同類展品改進了什麼?三 技術能解決了什麼問題?這個我們可以多關注一下他的架構的過人之處?四 初步學習,完成demo?1 看官方的文件 2 搭建環境,跑起demo 3 參考demo編寫小的crud工程 4...