一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

前端與后端的思維專注點很不相同,前端聚焦在如何把內(nèi)容以可視化的方式展現(xiàn)給用戶,后端聚焦在如何利用IT基礎(chǔ)設(shè)施實現(xiàn)業(yè)務(wù)邏輯。所以前端參與后端開發(fā)時(全棧工程師必備?。┦紫刃枰斫夂蠖藭瞿男┦?,其次才是如何才能做好這些事。

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

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

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

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

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

UML圖是一個非常好的手段!類圖、時序圖、狀態(tài)圖可以幫助后端理清先做什么、再做什么、不會漏掉什么。這是因為后端的程序需要整年的運行不能宕機,而前端是沒有這種要求的。因此,后端必須全面的考慮各種異常情況,防止一個用戶(請求)引起的意外把整個服務(wù)宕機,影響了全部用戶。

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

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

前端做后端時最容易犯2個錯誤:

日志打得很少

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

資源沒有即用即放!

因為服務(wù)是7*24小時運行的,所以一點點資源泄露(如打開了句柄卻未關(guān)閉)都會被時間放大!最后導(dǎo)致嚴重后果。

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

好的算法在我看來就是3點:

不做重復(fù)的事;

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

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

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

算法復(fù)雜度;

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

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

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

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

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

    關(guān)注

    1

    文章

    214

    瀏覽量

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

    關(guān)注

    4

    文章

    954

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

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

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

    硬件工程師:回答我!#回答我 #硬件工程師 #YXC晶振 #揚興科技

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

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

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

    嵌入式軟件工程師就業(yè)好不好?

    和技能的積累,越老越吃香。 在傳統(tǒng)程序員的職業(yè)道路上,雖然35歲危機讓許多人感到焦慮,但嵌入式軟件工程師卻憑借其獨特的行業(yè)優(yōu)勢和職業(yè)發(fā)展前景,成為了越老越吃香的群體。 他們不僅在薪資待遇上具有競爭力,而且在市場需求、行業(yè)發(fā)展?jié)摿吐殬I(yè)發(fā)展空間等方面都展現(xiàn)出巨大的優(yōu)勢。
    發(fā)表于 02-20 10:19

    TMS320C6000程序員指南

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000程序員指南.pdf》資料免費下載
    發(fā)表于 12-24 17:19 ?0次下載
    TMS320C6000<b class='flag-5'>程序員</b>指南

    機械革命發(fā)布CODE AI程序員

    近日,英特爾新質(zhì)生產(chǎn)力技術(shù)生態(tài)大會在成都舉行,機械革命作為重要參展商帶來了多款明星產(chǎn)品引爆全場!其中更是在AI PC軟件生態(tài)產(chǎn)品發(fā)布分論壇上,Intel、智譜、機械革命三方聯(lián)合發(fā)布了專為程序員設(shè)計的CODE AI程序員本,成為本次大會的一大亮點。
    的頭像 發(fā)表于 11-30 10:34 ?1102次閱讀

    Linux驅(qū)動程序程序員指南

    電子發(fā)燒友網(wǎng)站提供《Linux驅(qū)動程序程序員指南.pdf》資料免費下載
    發(fā)表于 11-22 15:53 ?0次下載
    Linux驅(qū)動<b class='flag-5'>程序</b><b class='flag-5'>程序員</b>指南

    AI編程工具會不會搶程序員飯碗

    AI編程工具可輔助編程,減少手動編碼,提升效率,對程序員有積極影響也有挑戰(zhàn)。程序員需深化技能、拓寬知識應(yīng)對。長遠看,AI與人類程序員將共生共榮。
    的頭像 發(fā)表于 11-08 10:17 ?528次閱讀

    簡述大前端技術(shù)的渲染原理

    作者:京東物流 盧旭 大前端包括哪些技術(shù)前端指的是涵蓋所有與前端開發(fā)相關(guān)的技術(shù)和平臺,應(yīng)用于各類設(shè)備和操作系統(tǒng)上。大前端不僅包括Web
    的頭像 發(fā)表于 11-07 10:11 ?658次閱讀

    第五屆長沙·中國1024程序員節(jié)開幕

    據(jù)官方媒體報道,10月24日;? 第五屆長沙·中國1024程序員節(jié)在湖南湘江新區(qū)開幕;本次中國1024程序員節(jié)以“智能應(yīng)用新生態(tài)”為主題。設(shè)置有岳麓對話、技術(shù)英雄會、主題峰會及賽事、展覽等活動,一場
    的頭像 發(fā)表于 10-25 15:42 ?494次閱讀