<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>

          如何突破技術(shù)瓶頸(適合P6以下)

          共 3922字,需瀏覽 8分鐘

           ·

          2023-01-05 15:24

          大廠技術(shù) ?? 高級前端 ?? Node進(jìn)階

          點(diǎn)擊上方? 程序員成長指北 ,關(guān)注公眾號

          回復(fù) 1 ,加入高級Node交流群

          前言

          最近在更新react組件庫源碼的文章,其實(shí)vue和其他框架都一樣,就是我發(fā)現(xiàn)自己在一年前直接看這些源碼(不調(diào)試),還是有點(diǎn)吃力的,然后就放棄了。

          可最近不知道為啥,看這些源碼對我來說沒啥太大難度,直接干就完事了,不需要啥調(diào)試。自己好好回想了一下,為什么會有這樣的變化?也算幫助一些想突破自己技術(shù)瓶頸的同學(xué)。

          有新人在下面留言說看到很焦慮,剛進(jìn)前端領(lǐng)域的同學(xué),你們首要任務(wù)是能完成業(yè)務(wù)開發(fā),此時業(yè)務(wù)開發(fā)帶給你的提升是最明顯的,文章更多的是幫助業(yè)務(wù)api用熟之后的想有突破的同學(xué),不用焦慮,哈哈。而且話說回來了,我在平時工作中看到不想突破的人基本占百分90%,無論大小廠,所以不突破也沒啥,大部分人只是僅僅當(dāng)一個普通工作而已。

          結(jié)論

          首先我得出結(jié)論是:

          • 最開始不要自己去讀源碼,看別人的文章和視頻即可,目的是先接觸比自己能力層次高的代碼,為超越現(xiàn)有的能力鋪路(后面詳細(xì)談怎么做)
          • 平時注意積累一些手寫題的思路,網(wǎng)上面經(jīng)很多,主要不是寫出來,是理解原理,理解大于一切,不理解的東西終究會忘記,我們要積累的是能力,能力是第一?。ê竺嬖敿?xì)談),設(shè)計(jì)模式里的發(fā)布訂閱者模式必須要理解!這是寫很多庫常見的技巧。
          • 最后開始獨(dú)立去看一些小的代碼庫,比如騰訊,阿里,字節(jié)的組件庫,這些庫大部分組件難度低。

          去哪里看視頻和文章學(xué)源碼

          視頻

          最簡易的就是跟著視頻學(xué),因?yàn)橐曨l會把代碼敲一遍,給你思考的時間,講解也是最細(xì)的,很適合剛開始想造輪子的同學(xué)了解一些有難度的源碼。

          舉個例子:

          我當(dāng)時看了koa的源碼,了解了koa中間件的原理,我自己造了一個自動化發(fā)布腳本就利用了這個原理,redux中間件也是類似的原理,在函數(shù)式編程領(lǐng)域叫做compose函數(shù),koa是異步compose,redux是同步compose,

          簡單描述下什么是compose函數(shù)

          我把大象裝進(jìn)冰箱是不是要 1、打開冰箱門 2、裝進(jìn)去大象 3、關(guān)冰箱門

          那么很多同學(xué)就會寫一個函數(shù)

                function?裝大象(){
          ?//?打開冰箱
          ?//?裝大象
          ?//?關(guān)閉冰箱門
          }
          復(fù)制代碼

          compose函數(shù)會把這個過程拆開,并且抽象化

                //?把裝大象抽象為裝東西函數(shù)
          function?裝東西();
          function?打開冰箱();
          function?關(guān)閉冰箱();

          compose(打開冰箱函數(shù),?裝東西函數(shù),關(guān)閉冰箱函數(shù))
          復(fù)制代碼

          此時compose把上面三個函數(shù)抽象為一個打開冰箱往里面裝東西的函數(shù),我們只需要把參數(shù)大象穿進(jìn)去就抽象了整個過程

                compose(打開冰箱函數(shù), 裝東西函數(shù),關(guān)閉冰箱函數(shù))(大象)
          復(fù)制代碼

          具體內(nèi)容我還寫過一篇文章,有興趣的同學(xué)可以去看看:

          終極compose函數(shù)封裝方案!

          這個大家應(yīng)該有自己的去處,我自己的話很簡單,視頻一般去b站,就是bilibili,有些同學(xué)以為這是一個二次元網(wǎng)站是吧,其實(shí)里面免費(fèi)的學(xué)習(xí)資料一抓一大把呢,啥都有。

          比如說我在b站看了很多l(xiāng)inux入門教學(xué)視頻,還有一個培訓(xùn)公開課,講的都是源碼,什么手寫react hook,手寫webpack,手寫xxx,那個時候說實(shí)話,聽了視頻也不是很理解,但是我還是挺喜歡前端的,沒咋理解就繼續(xù)聽。

          記住,我們需要短時間內(nèi)提升能力,所以視頻算是其中最快的了,其他方法不可能有這個來的快,并且沒理解就算了,能理解多少是多少。

          學(xué)習(xí)是一個螺旋上升的過程,不是一下子就全懂或者全不懂的,都是每次比上一次更懂一點(diǎn)。除非你是天才,急不來的。

          視頻搜索第二大去處就是論壇,一些論壇有各種各樣的培訓(xùn)視頻,這種論壇太多了,你谷歌或者百度一抓一大把。

          對了,谷歌是爸爸,你懂我意思,不要吝嗇小錢。在搜索學(xué)習(xí)資料面前,百度就是個弟弟。

          文章

          文章一定記住,在精不在多。

          切記,每個人都處在不同的學(xué)習(xí)階段,不要盲目追求所謂的大神文章,不一定適合你,比如說有些人剛接觸前端,你去看有些有深度的文章對你沒啥好處,浪費(fèi)時間,因?yàn)槟憷斫獠涣?,理解不了的知識相當(dāng)于沒學(xué),過兩天就忘了。

          文章選擇范圍,比如掘金,知乎還有前端公眾號,基本上就差不多了,選一兩個你覺得你這個階段能吸收的,好好精讀,堅(jiān)持個一年你會發(fā)現(xiàn)不一樣的。

          額外的知識儲備

          前端3年前主流的前端書我都讀過,什么紅寶書,權(quán)威指南都讀了好幾遍了。

          但有一本從菜鳥到高級-資深前端很推薦的一本是:JavaScript設(shè)計(jì)模式與開發(fā)實(shí)踐(圖靈出品)(騰訊的一位大哥寫的,不是百度的那位,這兩本書我都看過)

          里面的知識點(diǎn)很干很干,里面有非常多的技巧,比如說你的同事寫了一個函數(shù),你不想破壞函數(shù),有什么辦法拓展它(其實(shí)我覺得我想的這些題就比前端八股文好玩多了,是開放性的)

          • 技巧很多,比如面向切面編程,加個before或者after函數(shù)包裝一下
          • 比如責(zé)任鏈模式
          • 比如剛才的compose函數(shù)
          • 比如裝飾器模式

          確立自己的發(fā)展方向

          大家其實(shí)最后都要面對一個很現(xiàn)實(shí)的問題,就是35以后怎么辦,我個人覺得你沒有對標(biāo)阿里P7的能力,落地到中小公司都難。

          所以我們看源碼,看啥都是為了提升能力,延長職業(yè)壽命。

          那么如何在短時間內(nèi)有效的提升,你就需要注意不能各種方向胡亂探索,前端有小游戲方向,數(shù)據(jù)可視化方向,B端后臺系統(tǒng)方向,音視頻方向等等

          我是做b端,那b端整個鏈路我就需要打通,組件庫是我這個方向,所以我探索這里,還有node端也是,寫小工具是必須的,但是你們說什么deno,其他的技術(shù),我根本不在乎,沒時間浪費(fèi)在這些地方,當(dāng)然除了有些業(yè)務(wù)上需要,比如之前公司有個ai標(biāo)注需求,用canvas寫了一個類似畫板的工具,也算開拓了知識點(diǎn),但這也不是我重點(diǎn)發(fā)展的方向,不深入。

          我做組件庫是為了后面的低代碼,低代碼平臺的整體設(shè)計(jì)思路我已經(jīng)想好了,整體偏向國外開源的appsmith的那種方式,然后打通組件間通信的功能,我認(rèn)為是能勝任稍微復(fù)雜的b端業(yè)務(wù)場景的,而且可以走很多垂直領(lǐng)域,比如網(wǎng)站建站,微信文章編輯器這種。所以我才開始研究組件庫的,因?yàn)榈痛a大多數(shù)復(fù)雜功能都在組件上。

          工作上勇于走出舒適圈

          為什么這個跟看源碼相關(guān)呢,如果你做過比較復(fù)雜的項(xiàng)目,你會發(fā)現(xiàn)很多現(xiàn)成的第三方庫滿足不了。比如說我自己遇到過的大型sass項(xiàng)目,ant design就滿足不了,所以你才發(fā)現(xiàn),源碼看得少加上業(yè)務(wù)急,代碼就爛,時間上就留不出自己偷偷學(xué)習(xí)的時間,如果你想長期從事軟件開發(fā),沒有成長是一件很危險的事(錢多當(dāng)我沒說,哈哈),因?yàn)闊o論如何,有本事,總沒錯的。

          當(dāng)你的業(yè)務(wù)難度上去的時候,會逼著你去提升能力,所以你如果想前端走的更遠(yuǎn),建議不要在自己的舒適區(qū)太久,業(yè)務(wù)上選擇一家比較難的公司,后面再跳槽就是沉淀這段時間的知識點(diǎn)了,當(dāng)你能夠有自信說,我現(xiàn)在帶團(tuán)隊(duì),從0到1再遇到那么難的業(yè)務(wù)時,能從容應(yīng)對,恭喜你,你可以去面下阿里p7,不是為了這個工作啊,可以檢驗(yàn)下是不是達(dá)到這個職位的標(biāo)準(zhǔn)了,我就喜歡偶爾面一下,也不是換工作,就是看看自己進(jìn)步?jīng)]。

          作者:孟祥_成都?

          原文:https://juejin.cn/post/7168671474234949662

          Node 社群




          我組建了一個氛圍特別好的 Node.js 社群,里面有很多 Node.js小伙伴,如果你對Node.js學(xué)習(xí)感興趣的話(后續(xù)有計(jì)劃也可以),我們可以一起進(jìn)行Node.js相關(guān)的交流、學(xué)習(xí)、共建。下方加 考拉 好友回復(fù)「Node」即可。


          ?? ?“分享、點(diǎn)贊 、 在看” 支持一波??

                  

          瀏覽 48
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <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>
                  欧美精品乱码久久久久蜜桃 | 久热免费在线视频 | 在线成人中文字幕 | 爱爱视频三级黄色 | 国产在线视频福利播放 |