????????前端工程師發(fā)展到一定程度就會出現(xiàn)自己的瓶頸,因?yàn)樵降铰殬I(yè)發(fā)展后期我們越能發(fā)現(xiàn),如果想要做成一個技術(shù)上的項目膜楷,需要的不僅僅是前端技能形真。其中還涉及到很多技術(shù)杉编,比如:你要做個人博客肯定需要有一個后臺服務(wù)器,要搭建一個服務(wù)器比如:Apache没酣、nginx王财、Nodejs等。然后選擇一門后端業(yè)務(wù)語言比如:Java裕便、PHP绒净、JavaScript、Python偿衰、Go等語言挂疆,然后選擇一種數(shù)據(jù)存儲方式比如:MySQL、MoongoDB下翎、Oracle缤言、Elasticsearch、Redis或者文件存儲等存儲方式存儲數(shù)據(jù)视事。
????? ? 當(dāng)然這些還遠(yuǎn)遠(yuǎn)不夠胆萧,技術(shù)與技術(shù)之間的銜接點(diǎn)也是前端工程師不擅長的,比如:連接redis需要釋放連接俐东,連接數(shù)據(jù)庫什么時候該釋放連接跌穗,什么時候要一直持有連接。后端服務(wù)不是前端頁面虏辫,刷新一下所有的東西重新開始蚌吸。內(nèi)存泄露、服務(wù)器資源打滿不像前端那么難砌庄。
? ? ? ? 我們舉一個實(shí)際中的例子羹唠,我有一個同事叫小黑,是一名很不錯的前端工程師娄昆。上層應(yīng)用做的溜的起飛佩微,Angular、React萌焰、Vue喊衫。以及各種周邊類庫用的滾瓜爛熟。我感覺業(yè)務(wù)層面讓他做一個東西就難不倒他杆怕,下到JavaScript內(nèi)能運(yùn)行機(jī)制族购、內(nèi)存CG流程無所不知壳贪,他之前問我的一個問題,我至今記憶猶新寝杖∥ナ『你說JavasScript里,是 + 號運(yùn)算快瑟幕,還是 * 運(yùn)算快』磕蒲。我如遭雷擊......通過各種論證方式證明+號更快。但是最后只盹,他讓我執(zhí)行了下面這部分代碼辣往,結(jié)果總是那么意料之外,有在情理之中殖卑。
var MaxTest = 10000000000;
var getNumber = () => {
? return 3;
? return Math.floor(Math.random() * 100);
};
console.time('加法運(yùn)算');
for (let i = 0; i < MaxTest; i++) {
? let b = MaxTest + getNumber();
}
console.timeEnd('加法運(yùn)算');
console.time('乘法運(yùn)算');
for (let i = 0; i < MaxTest; i++) {
? let b = MaxTest * getNumber();
}
console.timeEnd('乘法運(yùn)算');
? ? ? ? 但是就是這樣一個人站削,在突然有一個要做個人站想法之后,開發(fā)個人站的時候卻處處碰壁孵稽。他的第一個問題就是不懂得任何后端語言许起,他個人對Go非常感興趣,我也不知道他到底對開發(fā)語言有沒有做過橫向的對比菩鲜。用他的話說憑直覺就行了园细,他要是都了解完,然后去對比估計他都不見得做技術(shù)了接校。就這樣他在莫名其妙的情況下選擇了Go猛频。
? ? ? ? 緊接著又面臨一個問題是選擇WebServer也就是服務(wù)器。好在他使用Go作為個人站的開發(fā)語言蛛勉,Go的net/http模塊跟鹿寻,nodejs的http模塊一樣好用。所以WebServer這一環(huán)他可以暫時省掉了董习。
? ? ? ? 緊接著又是數(shù)據(jù)庫選型,他大學(xué)時候的MySQL學(xué)的還不錯爱只,然后又很渴望MongoDB這種Json形式的存儲方式皿淋。糾結(jié)了很久之后,最后選擇了他的大學(xué)恬试。
? ? ? ? 后來在他設(shè)計數(shù)據(jù)庫表的時候又碰到了問題窝趣。什么樣的值要用什么樣的類型來存儲,什么樣的字段適合加索引训柴,數(shù)據(jù)庫中到底要存些什么東西哑舒。
? ? ? ? 后來......
? ? ? ? 后來.......
? ? ? ? 后來他放棄了只做個人站。
? ? ? ? 這樣的一個技術(shù)牛人毅力在我的認(rèn)知力應(yīng)該是很強(qiáng)的幻馁,但是他仍然被這種困難打敗洗鸵,讓我意識到一個前端工程師想要掌握后端知識越锈,乃至轉(zhuǎn)型成為一個后端工程師的困難之大,超乎我的想象膘滨。
? ? ? ? 另外甘凭,也有很多研發(fā)的弟弟妹妹跟我反饋前端天花板低,成長受限火邓。也來咨詢我如何學(xué)習(xí)后端丹弱,或者轉(zhuǎn)型成為一名后端工程師。所以就此挖挖墳铲咨,沒隔一段時間更新一篇文章躲胳,講解一下前端工程師要如何學(xué)習(xí)后端知識。我會以類比法來跟大家談到這個過程纤勒,爭取每一個后端知識點(diǎn)坯苹,能找到一個前端知識點(diǎn)進(jìn)行類比對應(yīng),類比只是為了方便大家理解踊东,千萬不要以為他們是一個東西北滥。
? ??????
陳辰(CC老師)? ? 978563552@qq.com