開源項(xiàng)目學(xué)習(xí)步驟

1.安裝

這里的安裝并不是對(duì)著手冊(cè)執(zhí)行一下命令送悔,而是要通過(guò)安裝過(guò)程扯再,獲取到如下一些關(guān)鍵的信息:

  • 這個(gè)系統(tǒng)的依賴組件传黄,而依賴的組件又是系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)的基礎(chǔ);
  • 安裝目錄也能夠提供一些使用和運(yùn)行的基本信息荚板;
  • 系統(tǒng)提供了哪些工具方便我們使用(帶著問(wèn)題去學(xué)習(xí)效率是最高的)。

2.運(yùn)行

安裝完成后吩屹,我們需要真正將系統(tǒng)運(yùn)行起來(lái)跪另,運(yùn)行系統(tǒng)的時(shí)候有兩個(gè)地方要特別關(guān)注:命令行配置文件,它們主要提供了兩個(gè)非常關(guān)鍵的信息:

  1. 系統(tǒng)具備哪些能力(提供哪些可配置化的參數(shù)煤搜,這些參數(shù)是做什么的以及不同的配置帶來(lái)的影響是什么)免绿;
  2. 系統(tǒng)將會(huì)如何運(yùn)行。

3.原理研究

在完成前兩個(gè)步驟后擦盾,我們對(duì)系統(tǒng)已經(jīng)有了初步的感覺(jué)和理解嘲驾,此時(shí)可以更進(jìn)一步去研究其原理。其實(shí)在研究命令行和配置項(xiàng)的時(shí)候已經(jīng)涉及一部分原理了迹卢,但是并不是很系統(tǒng)辽故,因此我們要專門針對(duì)原理進(jìn)行系統(tǒng)性的研究。這里的關(guān)鍵就是系統(tǒng)性三個(gè)字腐碱,怎么才算系統(tǒng)性呢誊垢?主要體現(xiàn)在如下幾個(gè)方面:

3.1關(guān)鍵特性的基本實(shí)現(xiàn)原理

每個(gè)應(yīng)用廣泛的開源項(xiàng)目之所以能夠受到大眾的歡迎,肯定是有一些賣點(diǎn)的,有一些它們的應(yīng)用場(chǎng)景喂走,常見的有高性能殃饿、高可用、可擴(kuò)展等特性芋肠,那到底這些項(xiàng)目是如何做到其所宣稱的那么牛的呢乎芳?這些牛的地方就是我們需要深入學(xué)習(xí)的地方

3.2優(yōu)缺點(diǎn)對(duì)比分析

只有清楚掌握技術(shù)方案的優(yōu)缺點(diǎn)后才算真正的掌握這門技術(shù),也只有掌握了技術(shù)方案的優(yōu)缺點(diǎn)后才能在架構(gòu)設(shè)計(jì)的時(shí)候做出合理的選擇帖池。優(yōu)缺點(diǎn)主要通過(guò)對(duì)比來(lái)分析奈惑,即:我們將兩個(gè)類似的系統(tǒng)進(jìn)行對(duì)比,看看它們的實(shí)現(xiàn)差異碘裕,以及不同的實(shí)現(xiàn)優(yōu)缺點(diǎn)都是什么携取。

3.3 如何系統(tǒng)性學(xué)習(xí)一個(gè)開源項(xiàng)目

  1. 通讀項(xiàng)目的設(shè)計(jì)文檔:例如 Kafka 的設(shè)計(jì)文檔,基本涵蓋了消息隊(duì)列設(shè)計(jì)的關(guān)鍵決策部分帮孔;Disruptor 的設(shè)計(jì)白皮書雷滋,詳細(xì)的闡述了 Java 單機(jī)高性能的設(shè)計(jì)技巧(官方文檔是學(xué)習(xí)一個(gè)項(xiàng)目的必須資料)。
  2. 閱讀網(wǎng)上已有的分析文檔:多對(duì)比一些文兢,同一個(gè)東西晤斩,每個(gè)人的理解并不一定相同。
  3. Demo 驗(yàn)證:如果有些技術(shù)點(diǎn)難以查到資料姆坚,自己又不確定澳泵,則可以真正去寫 Demo 進(jìn)行驗(yàn)證,通過(guò)打印一些日志或者調(diào)試兼呵,能清晰的理解具體的細(xì)節(jié)兔辅。

4.測(cè)試

測(cè)試一定要在原理研究之后做,不能安裝完成立馬就測(cè)試击喂!原因在于如果對(duì)系統(tǒng)不熟悉维苔,很可能出現(xiàn)命令行、配置參數(shù)沒(méi)用對(duì)懂昂,或者運(yùn)行模式選擇不對(duì)介时,導(dǎo)致沒(méi)有根據(jù)業(yè)務(wù)的特點(diǎn)搭建正確的環(huán)境、沒(méi)有設(shè)計(jì)合理的測(cè)試用例凌彬,從而使得最終的測(cè)試結(jié)果得出了錯(cuò)誤結(jié)論沸柔,誤導(dǎo)了設(shè)計(jì)決策

5.源碼分析

源碼研究的主要目的是學(xué)習(xí)原理背后的具體編碼如何實(shí)現(xiàn),通過(guò)學(xué)習(xí)這些技巧來(lái)提升我們自己的技術(shù)能力铲敛。如 Redis 的 RDB 快照褐澎、Nginx 的多 Reactor 模型、Disruptor 如何使用 volatile 以及 CAS 來(lái)做無(wú)鎖設(shè)計(jì)伐蒋、Netty 的 Zero-Copy 等乱凿,這些技巧都很精巧顽素,掌握后能夠大大提升自己的編碼能力

怎么學(xué)習(xí)

如果感覺(jué)自己時(shí)間和精力不夠,與其蜻蜓點(diǎn)水每個(gè)開源項(xiàng)目都去簡(jiǎn)單了解一下徒蟆,還不如集中精力將一個(gè)開源項(xiàng)目研究通透胁出,就算是每個(gè)季度只學(xué)習(xí)一個(gè)開源項(xiàng)目,積累幾年后這個(gè)數(shù)量也是很客觀的段审;而且一旦你將一個(gè)項(xiàng)目研究透以后全蝶,再去研究其他類似項(xiàng)目,你會(huì)發(fā)現(xiàn)自己學(xué)習(xí)的非乘峦鳎快抑淫,因?yàn)楣残缘牟糠帜阋呀?jīng)都掌握了,只需要掌握新項(xiàng)目差異的部分即可

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末姥闪,一起剝皮案震驚了整個(gè)濱河市始苇,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌筐喳,老刑警劉巖催式,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異避归,居然都是意外死亡荣月,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門梳毙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)哺窄,“玉大人,你說(shuō)我怎么就攤上這事账锹∶纫担” “怎么了?”我有些...
    開封第一講書人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵奸柬,是天一觀的道長(zhǎng)咽白。 經(jīng)常有香客問(wèn)我,道長(zhǎng)鸟缕,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任排抬,我火速辦了婚禮懂从,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蹲蒲。我一直安慰自己番甩,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開白布届搁。 她就那樣靜靜地躺著缘薛,像睡著了一般窍育。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上宴胧,一...
    開封第一講書人閱讀 51,370評(píng)論 1 302
  • 那天漱抓,我揣著相機(jī)與錄音,去河邊找鬼恕齐。 笑死乞娄,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的显歧。 我是一名探鬼主播仪或,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼士骤!你這毒婦竟也來(lái)了范删?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤拷肌,失蹤者是張志新(化名)和其女友劉穎到旦,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體廓块,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡厢绝,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了带猴。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片昔汉。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖拴清,靈堂內(nèi)的尸體忽然破棺而出靶病,到底是詐尸還是另有隱情,我是刑警寧澤口予,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布娄周,位于F島的核電站,受9級(jí)特大地震影響沪停,放射性物質(zhì)發(fā)生泄漏煤辨。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一木张、第九天 我趴在偏房一處隱蔽的房頂上張望众辨。 院中可真熱鬧,春花似錦舷礼、人聲如沸鹃彻。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)蛛株。三九已至团赁,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間谨履,已是汗流浹背欢摄。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留屉符,地道東北人剧浸。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像矗钟,于是被迫代替她去往敵國(guó)和親唆香。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)載自 https://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid...
    持續(xù)在更新閱讀 456評(píng)論 0 2
  • 隨著蓬勃發(fā)展的開源時(shí)代的到來(lái),為了減少開發(fā)成本东涡,提高開發(fā)效率冯吓,越來(lái)越多的公司使用各種開源項(xiàng)目,作為開發(fā)者疮跑,如果能充...
    caison閱讀 2,013評(píng)論 0 1
  • 最近幾周和買賣接觸比較多祖娘,對(duì)這方面也頗有點(diǎn)研究失尖,買賣中的學(xué)問(wèn)不比上學(xué)簡(jiǎn)單,其中奧妙無(wú)窮渐苏,有待深造掀潮。 四月迎來(lái)清明假...
    落拓野客閱讀 144評(píng)論 2 0
  • 歲月逢憾仪吧,悲訴無(wú)常。 近花相親鞠眉,落葉希忙薯鼠。 淡淡哀愁,何處話凄涼械蹋? 是靜夜出皇,無(wú)常思。 ...
    獄殤閱讀 198評(píng)論 0 6
  • 一整天的等 姐夫今天手術(shù)涩金。 漫長(zhǎng)的5小時(shí)谱醇。姐姐已是說(shuō)不出話來(lái)了暇仲。 說(shuō)心里話,我也不淡定副渴∧胃剑可...
    沾衣未摘閱讀 345評(píng)論 0 1