91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

前端程序員怎樣轉(zhuǎn)型全棧工程師

工程師人生 ? 來(lái)源:工程師吳畏 ? 2019-05-17 16:38 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前端與后端的思維專注點(diǎn)很不相同,前端聚焦在如何把內(nèi)容以可視化的方式展現(xiàn)給用戶,后端聚焦在如何利用IT基礎(chǔ)設(shè)施實(shí)現(xiàn)業(yè)務(wù)邏輯。所以前端參與后端開發(fā)時(shí)(全棧工程師必備!)首先需要理解后端會(huì)做哪些事,其次才是如何才能做好這些事。

所謂“利用IT基礎(chǔ)設(shè)施實(shí)現(xiàn)業(yè)務(wù)邏輯”,意味著以下幾個(gè)概念:

IT基礎(chǔ)設(shè)施有哪些?

數(shù)據(jù)庫(kù)一定是最重要的,這里特指關(guān)系數(shù)據(jù)庫(kù),例如mysql。因?yàn)榍岸怂玫臄?shù)據(jù)庫(kù)往往非常簡(jiǎn)單,瀏覽器或者APP畢竟只服務(wù)于一位用戶,而后端的數(shù)據(jù)庫(kù)需要服務(wù)于全部用戶,這不是一個(gè)量級(jí)。在現(xiàn)實(shí)世界中,一旦量級(jí)發(fā)生改變,需要用到的技術(shù)就完全不一樣了。數(shù)據(jù)庫(kù)的基本操作ACID、事務(wù)、關(guān)聯(lián)查詢、索引都是完成業(yè)務(wù)邏輯的必備品。

緩存也是前端必須理解的概念。后端可以直接操作SATA磁盤,SSD磁盤,內(nèi)存等不同的存儲(chǔ)介質(zhì),而這些介質(zhì)的存取速度差異巨大。CPU操作L1和L2緩存只有3個(gè)納秒以內(nèi),到了L3緩存(可以以MB為單位計(jì)量了)就得10納秒以上了,而到了內(nèi)存就得100納秒以上,通過網(wǎng)卡訪問遠(yuǎn)端則需要數(shù)百微秒,訪問機(jī)械硬盤則要幾十毫秒。為了能夠讓用戶的請(qǐng)求盡快獲得響應(yīng),必須使用緩存。很少的場(chǎng)景下才會(huì)直接編寫緩存,通常后端都在使用的緩存服務(wù)包括redis、memcached等,其中前者使用更多。

如何正確的分析業(yè)務(wù)邏輯?

UML圖是一個(gè)非常好的手段!類圖、時(shí)序圖、狀態(tài)圖可以幫助后端理清先做什么、再做什么、不會(huì)漏掉什么。這是因?yàn)楹蠖说某绦蛐枰甑倪\(yùn)行不能宕機(jī),而前端是沒有這種要求的。因此,后端必須全面的考慮各種異常情況,防止一個(gè)用戶(請(qǐng)求)引起的意外把整個(gè)服務(wù)宕機(jī),影響了全部用戶。

業(yè)務(wù)邏輯如何與IT設(shè)施結(jié)合?

了解MVC模型!前端有許多模型,例如MVVM等,這些名詞不重要,因?yàn)樗鼈兊年P(guān)注點(diǎn)各不相同。對(duì)于后端,通常M意味著關(guān)系數(shù)據(jù)庫(kù),所以后端的WEB框架一定圍繞著M進(jìn)行。我們分析任何一個(gè)WEB框架,一定先要看它的數(shù)據(jù)庫(kù)模型,即如何將數(shù)據(jù)庫(kù)中的表、行映射到編程語(yǔ)言中。另一方面,HTTP協(xié)議有許多特性,它會(huì)導(dǎo)致MVC框架試圖以此解耦,將URL的配置與業(yè)務(wù)處理代碼分開。最后,WEB框架由于處理場(chǎng)景的復(fù)雜,通常以可插拔的方式將許多插件串行的組合起來(lái)處理一個(gè)請(qǐng)求。前端在學(xué)習(xí)WEB框架時(shí),把握這三點(diǎn)即可快速掌握。

前端做后端時(shí)最容易犯2個(gè)錯(cuò)誤:

日志打得很少

后端的復(fù)雜場(chǎng)景會(huì)導(dǎo)致bug難以復(fù)現(xiàn)(相比前端更難),且一個(gè)應(yīng)用服務(wù)可能跑在多個(gè)服務(wù)器上,所以error、info、debug等級(jí)日志的輸出顯得尤為重要!沒有日志,問題很難定位!

資源沒有即用即放!

因?yàn)榉?wù)是7*24小時(shí)運(yùn)行的,所以一點(diǎn)點(diǎn)資源泄露(如打開了句柄卻未關(guān)閉)都會(huì)被時(shí)間放大!最后導(dǎo)致嚴(yán)重后果。

后端的代碼如何更高效?答案一定是算法

好的算法在我看來(lái)就是3點(diǎn):

不做重復(fù)的事;

充分利用已知信息或者中間計(jì)算結(jié)果;

充分利用IT基礎(chǔ)設(shè)施的特性。比如多核、CPU親和性、存儲(chǔ)介質(zhì)的性價(jià)比、網(wǎng)絡(luò)報(bào)文的收發(fā)等。

為了達(dá)到這一點(diǎn),我們必須學(xué)習(xí):

算法復(fù)雜度;

分而治之的思想,這可能是所有算法思想中最有用的了;

計(jì)算機(jī)體系的特點(diǎn),如CPU架構(gòu)、網(wǎng)絡(luò)通訊成本等;

常用數(shù)據(jù)結(jié)構(gòu),如樹、哈希表、圖等。

本文出現(xiàn)的原因是團(tuán)隊(duì)中有前端同事想在后端試試水,我當(dāng)然非常歡迎,于是盡量從我對(duì)前端的理解上闡述后端開發(fā)的要點(diǎn),或者更準(zhǔn)確的說,是后端WEB應(yīng)用開發(fā)工程師的開發(fā)要點(diǎn)。全棧工程師的要求高得多,這里雖然有些標(biāo)題黨嫌疑,但好在標(biāo)明了基礎(chǔ)版,進(jìn)階版在好好談?wù)勄岸宿D(zhuǎn)全棧工程師的其他要求。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 前端
    +關(guān)注

    關(guān)注

    1

    文章

    244

    瀏覽量

    18821
  • 程序員
    +關(guān)注

    關(guān)注

    4

    文章

    956

    瀏覽量

    30946
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    硬件工程師甩鍋排行榜 #電子 #電子工程師 #硬件工程師 #甩鍋的各種理由 #揚(yáng)興科技

    硬件工程師
    揚(yáng)興科技
    發(fā)布于 :2026年03月06日 18:30:55

    電子工程師的雙標(biāo)瞬間 #電子 #電子愛好者 #電子工程師 #揚(yáng)興科技 #雙標(biāo)

    電子工程師
    揚(yáng)興科技
    發(fā)布于 :2026年03月02日 18:04:13

    什么是BSP工程師

    的時(shí)候,板子上所有的設(shè)備都已經(jīng)可以正常使用了。這個(gè)階段的任務(wù)就是開發(fā)應(yīng)用程序來(lái)實(shí)現(xiàn)某種特定的功能,應(yīng)用程序中會(huì)使用第二階段提供的軟件接口控制板子上的設(shè)備來(lái)完成這一功能。 四、BSP工程師應(yīng)具備的能力
    發(fā)表于 01-13 06:54

    堆和的區(qū)別

    程序員分配釋放, 若程序員不釋放,程序結(jié)束時(shí)可能由OS回收 。注意它與數(shù)據(jù)結(jié)構(gòu)中的堆是兩回事,分配方式倒是類似于鏈表,呵呵。
    的頭像 發(fā)表于 11-27 18:13 ?1098次閱讀

    Wincc7.5工程師站與操作站配置方法

    ”下載程序,Wincc7.5這個(gè)版本是絕對(duì)無(wú)法直接下載程序的,這個(gè)是肯定的,網(wǎng)上有些說怎么操作就可以下載了,這純屬瞎說!“工程師站”等同于“多用戶項(xiàng)目”“操作站”等同于“客戶機(jī)項(xiàng)目”
    的頭像 發(fā)表于 11-14 16:46 ?3010次閱讀
    Wincc7.5<b class='flag-5'>工程師</b>站與操作<b class='flag-5'>員</b>站配置方法

    解鎖LuatOS-log庫(kù):工程師的日志管理實(shí)戰(zhàn)課!

    針對(duì)開發(fā)者設(shè)計(jì)的實(shí)戰(zhàn)教程,本文聚焦LuatOS平臺(tái)log庫(kù)的高效使用,從基礎(chǔ)配置到高級(jí)調(diào)試策略,手把手教你搭建可擴(kuò)展的日志系統(tǒng),提升項(xiàng)目維護(hù)效率。 今天,我們一起來(lái)認(rèn)識(shí)LuatOS的log庫(kù)
    的頭像 發(fā)表于 05-12 15:23 ?1537次閱讀
    解鎖LuatOS-log庫(kù):<b class='flag-5'>全</b><b class='flag-5'>棧</b><b class='flag-5'>工程師</b>的日志管理實(shí)戰(zhàn)課!

    問,成為硬件工程師需要幾只手?#硬件工程師 #YXC晶振 #揚(yáng)興科技 #搞笑

    硬件工程師
    揚(yáng)興科技
    發(fā)布于 :2025年04月25日 17:15:37

    硬件工程師:回答我!#回答我 #硬件工程師 #YXC晶振 #揚(yáng)興科技

    硬件工程師
    揚(yáng)興科技
    發(fā)布于 :2025年03月25日 18:46:59

    一招拿捏電子工程師#被AI拿捏了 #電子工程師 #電子電工

    電子工程師
    安泰小課堂
    發(fā)布于 :2025年03月25日 17:30:51