程序員探險記4-學(xué)習(xí)篇-加速度

知識是學(xué)不完的,我們必須要找到正確的學(xué)習(xí)方法才能加速成長。就像查理.芒格所說,人類只有發(fā)明了發(fā)明的方法之后才能快速發(fā)展;我們只有學(xué)習(xí)了學(xué)習(xí)的方法之后才能成為高手。我將學(xué)習(xí)歸納成三點:要點+堅持+手段。

????????首先我們要找到哪些是以前很重要,現(xiàn)在仍然重要,未來可能同樣重要的知識。在我看來這些知識大都偏向底層基礎(chǔ),就像習(xí)武修煉內(nèi)功一樣。學(xué)好了基礎(chǔ),就如同打通了任督二脈,再領(lǐng)悟上層的招式就易如反掌了(下一篇【編程篇】再細致討論)。

????????然后學(xué)習(xí)貴在堅持,終身學(xué)習(xí)已成不可逆轉(zhuǎn)的趨勢。這兩個公式最能反映堅持的效果:1.01的365次方=37.8, 0.99的365次方=0.03。

????????最后是學(xué)習(xí)的手段,當然每個人可能會有不同的適合自己的手段。我的學(xué)習(xí)手段是看書+實踐+交流+構(gòu)建。

看書。不要當一個“百度”或“google”程序員。我見過很多的程序員不看書的,他們喜歡去看別人的博客或者百度搜索的文章,淺嘗輒止。這樣學(xué)習(xí)的知識是零散的,過幾天很快就忘記了。 實踐。知識如果不能改變行為,就沒有用處。而知識一旦改變了行為,本身就立刻失去意義。所以我們需要不停的去實踐學(xué)到的知識,會得出新的認知,再去實踐,形成良性循環(huán)。

交流。可以避免思維定勢,閉門造車,而應(yīng)該從外部吸收一些好的想法和建議來取長補短。正所謂三個臭皮匠,賽過諸葛亮。

構(gòu)建。通過思考,對比(橫向),總結(jié)(縱向)。通過關(guān)聯(lián)將知識結(jié)構(gòu)化,結(jié)成網(wǎng)絡(luò),達到融匯貫通,舉一反三,最后條條大路通羅馬。(為什么通過關(guān)聯(lián)可以更有效的學(xué)習(xí),有興趣的同學(xué)可以了解一下大腦的緣腦阻斷機制。我更愿意相信天賦是別人找到了這扇門的鑰匙)。

下面是我采用的學(xué)習(xí)手段中關(guān)于構(gòu)建的分享:

????????計算機世界是對人類現(xiàn)實世界的模擬,所以計算機里面的概念都能在現(xiàn)實世界找到原型。比如代理模式(中介),IOC(好萊塢法則),緩存(藏書室-書架-書桌),分層(分工),隊列(生活中排隊),適配器(轉(zhuǎn)接頭)等。在學(xué)習(xí)過程中帶著這種類比的思維去學(xué)習(xí),很好理解且記憶深刻。

????????知識的積累是一個集合結(jié)構(gòu)>線性結(jié)構(gòu)>樹形結(jié)構(gòu)>圖形結(jié)構(gòu)的過程(還記得數(shù)據(jù)結(jié)構(gòu)中的四種邏輯結(jié)構(gòu)嗎)。知識結(jié)構(gòu)如果形成縱向(面向?qū)ο罄^承思想)+橫向(面向切面思想)的縱橫交叉網(wǎng)絡(luò),會更加的牢不可破。這里我舉三個例子。

1 負載均衡這個根節(jié)點下,包含子節(jié)點nginx,LVS, 硬件負載均衡如F5等。縱向我們要關(guān)注凡是負載均衡都要面臨的問題(調(diào)度算法,會話問題,反向代理知識等);橫向可以從osi七層網(wǎng)絡(luò)模型角度進行對比。因為負載均衡工作的網(wǎng)絡(luò)層次,決定了它的性能、特點和場景。這就是為什么計算機網(wǎng)絡(luò)基礎(chǔ)很重要的原因。

2 面向?qū)ο笳Z言這個根節(jié)點下,有子節(jié)點java, c++,python, javascript等。 縱向我們要關(guān)注的是所有面向?qū)ο笳Z言的特性——繼承,多態(tài)與封裝; 橫向可以從靜態(tài)語言/動態(tài)語言,解釋型語言/編譯型語言,強類型與弱類型語言的特點等角度進行對比。語言的設(shè)計運行采用了那些方式,決定了語言的性能,靈活性,安全性等。

3 數(shù)據(jù)庫這個根節(jié)點下,包括Mysql,redis,mongodb,cassandra等 ??v向我們要關(guān)注所有數(shù)據(jù)庫共同的特點如數(shù)據(jù)模型,持久化方式,事務(wù)支持,索引,日志等。橫向可以從高可用與高性能下的多節(jié)點(包含主從,集群,分片三種模式。每種模式有這多種實現(xiàn)方案,都會包含相同的技術(shù)比如sentinel,proxy,副本集,分表,選舉,復(fù)制等。這些技術(shù)都需要解決相同的問題如一致性,主從切換等)等角度進行對比。

這樣在面對一個同類型的新技術(shù)時,應(yīng)變能力強,學(xué)習(xí)速度快,就不用從零開始。所以現(xiàn)在有些人不斷追求新的框架,其實是本末倒置的。我認為一個優(yōu)秀的工程師需要三大能力1編程能力2、架構(gòu)能力3、工程能力。接下來的三篇文章【編程篇】,【架構(gòu)篇】和【工程篇】將分別來討論。


回到首頁——程序員探險記1-開篇-起航

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 【什么是大數(shù)據(jù)、大數(shù)據(jù)技術(shù)】 大數(shù)據(jù),又稱巨量資料,指的是所涉及的數(shù)據(jù)資料量規(guī)模巨大到無法在合理時間內(nèi)通過傳統(tǒng)的應(yīng)...
    kimibob閱讀 2,901評論 0 51
  • 什么是網(wǎng)站的伸縮性?網(wǎng)站的伸縮性的應(yīng)用場景?具體的伸縮性架構(gòu)應(yīng)該怎樣劃分和架構(gòu)? 1. 伸縮性 在《大型網(wǎng)站技術(shù)架...
    串串番茄閱讀 817評論 0 2
  • 大家都知道4層代理要比7層代理性能高很多,也就是lvs的轉(zhuǎn)發(fā)性能遠遠超過nginx。下面來具體說下為什么 四層是T...
    血無痕_4738閱讀 23,309評論 0 14
  • feisky云計算、虛擬化與Linux技術(shù)筆記posts - 1014, comments - 298, trac...
    不排版閱讀 4,356評論 0 5
  • 簡單粗暴,我好像要堅持不下去了
    抹茶_latte閱讀 256評論 0 0

友情鏈接更多精彩內(nèi)容