<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          你有沒(méi)有覺(jué)得學(xué)得越多,越覺(jué)得自己菜?

          共 2455字,需瀏覽 5分鐘

           ·

          2021-08-05 11:18

          前些天,一位帶團(tuán)隊(duì)的朋友發(fā)來(lái)一條消息:“你有時(shí)候?qū)W得多了,會(huì)不會(huì)覺(jué)得學(xué)無(wú)止境,然后就有點(diǎn)迷茫了?”。我說(shuō)是的,而且這種感覺(jué)非常強(qiáng)烈。

          朋友之所以發(fā)出這樣的感慨是因?yàn)樵诿嬖嚕肟纯醋约旱纳韮r(jià)與能力。面試的結(jié)果就是被虐的很慘,于是開(kāi)始惡補(bǔ)知識(shí),在此期間才發(fā)出這樣的感慨。

          對(duì)于我而已,有這樣強(qiáng)烈的感覺(jué)不是因?yàn)槊嬖嚕且驗(yàn)樵诓粩嗟膶W(xué)習(xí)新框架,同時(shí)還在閱讀Nacos源碼。學(xué)得越多發(fā)現(xiàn)自己不會(huì)的越多,源碼閱讀的越深,發(fā)現(xiàn)涉及的知識(shí)面越多,自己不懂的越多。

          知識(shí)是一個(gè)無(wú)底洞

          自從項(xiàng)目中引入了Spring Cloud,感覺(jué)進(jìn)入了一個(gè)無(wú)底洞。如果你的項(xiàng)目只是在用Spring Cloud,那倒是無(wú)所謂,網(wǎng)上的幾篇文章就可以讓你輕松集成任意組件。但如果你想把這些組件用的足夠好,出現(xiàn)問(wèn)題能夠順利排查,了解它們實(shí)現(xiàn)的底層原理,這就是一個(gè)知識(shí)的無(wú)底洞。

          當(dāng)項(xiàng)目中引入了Spring Cloud,那么你得依次懂得:Spring Boot、Spring Cloud、注冊(cè)中心(Nacos或Eureka)、Feign、Loadbalancer(或ribbon)、鏈路追蹤、日志管理(ELK)等等。在一些場(chǎng)景下還需要用到斷路器、網(wǎng)關(guān)等。

          然后我們的項(xiàng)目屬于物聯(lián)網(wǎng)項(xiàng)目,計(jì)劃把所有的項(xiàng)目和設(shè)備監(jiān)控起來(lái),此時(shí)發(fā)現(xiàn)又需要用到:Spring Boot Actuator、Prometheus、Grafana、InfluxDB、MQTT等等。

          此時(shí),只能感慨,不持續(xù)學(xué)習(xí)又怎么能行呢?

          閱讀源碼是檢驗(yàn)技術(shù)能力的一項(xiàng)指標(biāo)

          有粉絲曾問(wèn)我:來(lái)公司很久了,領(lǐng)導(dǎo)也不怎么給安排活,感覺(jué)沒(méi)什么可學(xué)的,該怎么辦?我說(shuō):要么主動(dòng)找領(lǐng)導(dǎo)溝通一下,讓他給你安排點(diǎn)活兒;要么研究現(xiàn)有業(yè)務(wù);要么就深入研究項(xiàng)目中使用的框架。

          很多時(shí)候,我們會(huì)感覺(jué)沒(méi)什么事可干,業(yè)務(wù)邏輯的CRUD寫(xiě)的也很枯燥,項(xiàng)目中的技術(shù)沒(méi)啥可學(xué)的。真的沒(méi)啥可學(xué)的嗎?真的有讀過(guò)任意使用框架的源碼嗎?

          關(guān)注我公眾號(hào)的朋友都知道,我最近一有時(shí)間就會(huì)讀讀Nacos的源碼,感覺(jué)不錯(cuò)的點(diǎn)還會(huì)寫(xiě)寫(xiě)文章。而就在閱讀源碼的過(guò)程中,我才深深的有了開(kāi)篇提到的那種“感覺(jué)自己菜的感覺(jué)”。不信你可以試試。

          閱讀源碼通常有兩個(gè)方向,第一個(gè)方向就是了解一個(gè)框架的核心業(yè)務(wù)邏輯和流程,或者說(shuō)是設(shè)計(jì)思想。這也是最重要的。另外一個(gè)就是學(xué)習(xí)框架運(yùn)用的技術(shù)點(diǎn)和設(shè)計(jì)思想。

          以Nacos源碼為例,我這邊是剛剛閱讀了服務(wù)注冊(cè)、心跳機(jī)制、服務(wù)獲取等功能的源碼,已經(jīng)在其中看到了大量的知識(shí)點(diǎn),比如:簡(jiǎn)單工廠模式、Java反射機(jī)制、代理模式、門(mén)面模式、定時(shí)任務(wù)、事件機(jī)制、鎖、gRPC協(xié)議等。這還沒(méi)研究到集群相關(guān)的CAP原則、Raft協(xié)議、Distro協(xié)議等。

          這里剛開(kāi)始研究到gRPC協(xié)議,馬上發(fā)現(xiàn)還涉及到了RPC協(xié)議、Protobuf框架、Http 1.0、Http 2.0等,當(dāng)然你還可以延伸到TCP、網(wǎng)絡(luò)分層等。

          所以說(shuō),當(dāng)你真覺(jué)得沒(méi)什么可學(xué)的時(shí)候,閱讀一個(gè)框架的源碼,不斷的拓展開(kāi)來(lái),會(huì)發(fā)現(xiàn)有無(wú)限的知識(shí)等著你。或許這對(duì)你是一個(gè)不錯(cuò)的選擇。

          問(wèn)題的解決

          回頭最開(kāi)始的問(wèn)題,面對(duì)無(wú)限的知識(shí),越學(xué)越覺(jué)得自己菜該怎么辦呢?

          首先,如果純粹是為了學(xué)習(xí),沒(méi)有業(yè)務(wù)的羈絆,只是滿足自己的好奇心,增加知識(shí)面。那么,本身就不用過(guò)度的迷茫,只用調(diào)整心態(tài),持續(xù)的學(xué)下去即可。比如,我學(xué)習(xí)源碼的目的就是增加知識(shí)面,把簡(jiǎn)單的知識(shí)構(gòu)建成一個(gè)網(wǎng),形成記憶。

          在學(xué)第一個(gè)框架時(shí)可能會(huì)比較難,但當(dāng)你閱讀學(xué)習(xí)一兩個(gè)框架之后,你會(huì)發(fā)現(xiàn)基礎(chǔ)的知識(shí)好像就那么多了。比如,設(shè)計(jì)模式常見(jiàn)的也不就是那23個(gè)嗎?多見(jiàn)幾次,不僅學(xué)的更透徹,對(duì)運(yùn)用場(chǎng)景也更了若指掌。SPI機(jī)制、動(dòng)態(tài)代理、反射等等都是如此。

          其次,如果是為項(xiàng)目運(yùn)用而學(xué)習(xí),那么就要拋棄掉知識(shí)點(diǎn)的學(xué)習(xí),把握框架或技術(shù)棧的核心原理,它能解決什么問(wèn)題,如何解決的,是否帶來(lái)了副作用等等。比如Nacos這類(lèi)框架,為了滿足CAP原則中的AP原則,就會(huì)犧牲數(shù)據(jù)的一致性,你需要學(xué)習(xí)研究的就是它的基本實(shí)現(xiàn)與原理,同時(shí)當(dāng)服務(wù)已經(jīng)掛掉,客戶端怎么及時(shí)發(fā)現(xiàn)并處理這里解決方案。

          最后,無(wú)論是學(xué)習(xí)知識(shí)點(diǎn)或是學(xué)習(xí)場(chǎng)景解決方案,都需要在一個(gè)范圍內(nèi)進(jìn)行大量的積累和沉淀。其中學(xué)習(xí)知識(shí)點(diǎn)還不太明顯,因?yàn)槌S玫闹R(shí)點(diǎn)是有限的,構(gòu)成知識(shí)網(wǎng)之后,就越來(lái)越輕松了。而解決方案是無(wú)限的,不同的業(yè)務(wù)領(lǐng)域,不同的場(chǎng)景可能就需要不同的技術(shù)棧和解決方案。這也就是為什么我們?cè)谶x擇職業(yè)的時(shí)不要輕易換行業(yè)的原因,因?yàn)榇罅康慕鉀Q方案是需要跟行業(yè)知識(shí)和行業(yè)其他技術(shù)相配套使用的。

          寫(xiě)在最后

          學(xué)習(xí)的過(guò)程中迷茫是正常的,越學(xué)越覺(jué)得自己菜,說(shuō)明你正在在不斷的進(jìn)步。你的存量知識(shí)是一個(gè)圓,當(dāng)這個(gè)圓很小的時(shí)候,圓周長(zhǎng)很短,接觸到圓之外的知識(shí)也少,你可能會(huì)覺(jué)得自己懂得很多。但當(dāng)存量知識(shí)增加,圓周隨之增加,未知的知識(shí)將成倍增加,感覺(jué)自己很菜就很正常了。正所謂,學(xué)而知不足,就是這個(gè)道理。

          但不用擔(dān)心,只要你在學(xué)習(xí)進(jìn)步,知識(shí)的積累會(huì)觸發(fā)思維模式的進(jìn)化。當(dāng)某一刻,你看一眼代碼就知道它用了什么技術(shù)、什么設(shè)計(jì)模式、設(shè)計(jì)思想是怎樣的,是不是很有成就感?這一刻,你也真正修煉成功了。


          往期推薦

          【干貨】互聯(lián)網(wǎng)公司理想架構(gòu)探討

          分布式系統(tǒng)的“腦裂”到底是個(gè)什么玩意?

          《跟二師兄學(xué)Nacos吧》EXT-04篇 Nacos竟然是這樣使用代理模式的?

          Int(4)和Int(11) 你選的是哪個(gè)?

          使用了synchronized,竟然還有線程安全問(wèn)題!



          如果你覺(jué)得這篇文章不錯(cuò),那么,下篇通常會(huì)更好。添加微信好友,可備注“加群”(微信號(hào):zhuan2quan)

          一篇文章就看透技術(shù)本質(zhì)的人,
            和花一輩子都看不清的人,
            注定是截然不同的搬磚生涯。
          ▲ 長(zhǎng)按關(guān)注”程序新視界“,洞察技術(shù)內(nèi)幕


          瀏覽 40
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  俺也色在线| 激情视频乱伦小说站 | 美女天堂网 | 息与子五十路の高齢熟女在线视频 | 黄片在线免费播放 |