国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

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

后端程序員是做什么的

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

掃碼添加小助手

加入工程師交流群

我剛開始做Web開發(fā)的時(shí)候,根本沒有前端,后端之說。

原因很簡單,那個(gè)時(shí)候服務(wù)器端的代碼就是一切:接受瀏覽器的請求,實(shí)現(xiàn)業(yè)務(wù)邏輯,訪問數(shù)據(jù)庫,用JSP生成HTML,然后發(fā)送給瀏覽器。

即使后來Javascript在瀏覽器中添加了一些AJAX的效果,那也是錦上添花,絕對不敢造次。因?yàn)轫撁娴腍TML主要還是用所謂“套模板”的方式生成:美工生成HTML模板,程序員用JSP,Veloctiy,F(xiàn)reeMaker等技術(shù)把動(dòng)態(tài)的內(nèi)容添加上去,僅此而已。

那個(gè)時(shí)候最流行的圖是這個(gè)樣子:

后端程序員是做什么的

在最初的J2EE體系中,這個(gè)表示層可不僅僅是瀏覽器中運(yùn)行的頁面,還包括Java寫的桌面端,只是Java在桌面端太不爭氣, 沒有發(fā)展起來。

每個(gè)程序員都是所謂“全?!?a target="_blank">工程師,不僅要搞定HTML, JavaScript, CSS,還要實(shí)現(xiàn)業(yè)務(wù)邏輯,編寫訪問數(shù)據(jù)庫的代碼。等到部署的時(shí)候,就把所有的代碼打成一個(gè)WAR包,往Tomcat指定的目錄一扔,測試一下沒問題,收工回家!

不差錢的公司會(huì)把程序部署到Weblogic,Websphere這樣的應(yīng)用服務(wù)器中,還會(huì)用上高大上的EJB。

雖然看起來生活“簡單”又“愜意”,但實(shí)際上也需要實(shí)現(xiàn)那些多變的、不講邏輯的業(yè)務(wù)需求,苦逼的本質(zhì)并沒有改變。

1前后端的分離

隨著大家對瀏覽器頁面的視覺和交互要求越來越高,“套模板”的方式漸漸無法滿足要求,這個(gè)所謂的表示層慢慢地遷移到瀏覽器當(dāng)中去了,一大批像Angular, ReactJS之類的框架崛起,前后端分離了!

后端的工程師只負(fù)責(zé)提供接口和數(shù)據(jù),專注于業(yè)務(wù)邏輯的實(shí)現(xiàn),前端取到數(shù)據(jù)后在瀏覽器中展示,各司其職。

像Java這樣的語言很適合去實(shí)現(xiàn)復(fù)雜的業(yè)務(wù)邏輯,尤其是一些MIS系統(tǒng),行業(yè)軟件如稅務(wù)、電力、煙草、金融,通信等等。 所以剝離表示層,只做后端挺合適的。

但是如果僅僅是實(shí)現(xiàn)業(yè)務(wù)邏輯,那后端也不會(huì)需要這么多技術(shù)了,搞定SSH/SSM就行了。

2后端技術(shù)

互聯(lián)網(wǎng),尤其是移動(dòng)互聯(lián)網(wǎng)開始興起以后,海量的用戶呼嘯而來,一個(gè)單機(jī)部署的小小War包肯定是撐不住了,必須得做分布式。

原來的單個(gè)Tomcat得變成Tomcat的集群,前邊弄個(gè)Web服務(wù)器做請求的負(fù)載均衡,不僅如此,還得考慮狀態(tài)問題,session的一致性。

業(yè)務(wù)越來越復(fù)雜,我們不得不把某些業(yè)務(wù)放到一個(gè)機(jī)器(或集群)上,把另外一部分業(yè)務(wù)放到另外一個(gè)機(jī)器(或集群)上,雖然系統(tǒng)的計(jì)算能力,處理能力大大增強(qiáng),但是這些系統(tǒng)之間的通信就變成了頭疼的問題,消息隊(duì)列(MQ),RPC框架(如Dubbo)應(yīng)運(yùn)而生,為了提高通信效率,各種序列化的工具(如Protobuf)也爭先空后地問世。

單個(gè)數(shù)據(jù)庫也撐不住了,那就做數(shù)據(jù)庫的讀寫分離,如果還不行,就做分庫和分表,把原有的數(shù)據(jù)庫垂直地切一切,或者水平地切一切, 但不管怎么切,都會(huì)讓應(yīng)用程序的訪問非常麻煩,因?yàn)閿?shù)據(jù)要跨庫做Join/排序,還需要事務(wù),為了解決這個(gè)問題,又有各種各樣“數(shù)據(jù)訪問中間件”的工具和產(chǎn)品誕生。

為了最大程度地提高性能,緩存肯定少不了,可以在本機(jī)做緩存(如Ehcache),也可以做分布式緩存(如Redis),如何搞數(shù)據(jù)分片,數(shù)據(jù)遷移,失效轉(zhuǎn)移,這又是一個(gè)超級(jí)大的主題了。

互聯(lián)網(wǎng)用戶喜歡上傳圖片和文件,還得搞一個(gè)分布式的文件系統(tǒng)(如FastDFS),要求高可用,高可靠。

數(shù)據(jù)量大了,搜索的需求就自然而然地浮出水面,你得弄一個(gè)支持全文索引的搜索引擎(如Elasticsearch ,Solr)出來。

林子大了,什么鳥都有,必須得考慮安全,數(shù)據(jù)的加密/解密,簽名、證書,防止SQL注入,XSS/CSRF等各種攻擊。

3“大后端”

前面提到了這么多的系統(tǒng),還都是分布式的,每次上線,運(yùn)維的同學(xué)說:把這么多系統(tǒng)協(xié)調(diào)好,把老子都累死了。

得把持續(xù)集成做好,能自動(dòng)化地部署,自動(dòng)化測試(其實(shí)前端也是如此),后來出現(xiàn)了一個(gè)革命化的技術(shù)docker, 能夠讓開發(fā)、測試、生成環(huán)境保持一致,系統(tǒng)原來只是在環(huán)境(如Ngnix, JVM,Tomcat,MySQL等)上部署代碼,現(xiàn)在把代碼和環(huán)境一并打包, 運(yùn)維的工作一下子就簡化了。

公司自己購買服務(wù)器比較貴,維護(hù)也很麻煩,又難于彈性地增長,那就搞點(diǎn)虛擬的服務(wù)器吧,硬盤、內(nèi)存都可以動(dòng)態(tài)擴(kuò)展(反正是虛擬的), 訪問量大的時(shí)候多用點(diǎn),沒啥訪問量了就釋放一點(diǎn),按需分配,很方便,這就是云計(jì)算的一個(gè)場景。

隨著時(shí)間的推移,各個(gè)公司和系統(tǒng)收集的數(shù)據(jù)越來越多,都堆成一座大山了,難道就放在那里白白地浪費(fèi)硬盤空間嗎?

有人就驚奇地發(fā)現(xiàn),咦,我們利用這些數(shù)據(jù)搞點(diǎn)事情啊, 比如把數(shù)據(jù)好好分析一下,預(yù)測一下這個(gè)用戶的購買/閱讀/瀏覽習(xí)慣,給他推薦一點(diǎn)東西嘛。

可是這么多數(shù)據(jù),用傳統(tǒng)的方式計(jì)算好幾天甚至好幾個(gè)月才能出個(gè)結(jié)果,到時(shí)候黃花菜都涼了,所以也得利用分布式的技術(shù),想辦法把計(jì)算分到各個(gè)計(jì)算機(jī)去,然后再把計(jì)算結(jié)果收回來, 時(shí)勢造英雄,Hadoop及其生態(tài)系統(tǒng)就應(yīng)運(yùn)而生了。

之前聽說過一個(gè)大前端的概念,把移動(dòng)端和網(wǎng)頁端都?xì)w結(jié)為“前端”,我這里造個(gè)詞“大后端”,把那些用戶直接接觸不到的、發(fā)生在服務(wù)器端的都?xì)w結(jié)進(jìn)來。

4怎么學(xué)?

現(xiàn)在無論是前端還是后端,技術(shù)領(lǐng)域多如牛毛,都嚴(yán)重地細(xì)分了,所以我認(rèn)為真正的全棧工程師根本不存在,因?yàn)橐粋€(gè)人精力有限,不可能搞定這么多技術(shù)領(lǐng)域,太難了。

培訓(xùn)機(jī)構(gòu)所說的“全?!?,我認(rèn)為就是前后端還在拉拉扯扯,藕斷絲連,沒有徹底分離的時(shí)候的“全?!惫こ處煛?/p>

那么問題來了, 后端這么多東西,我該怎么學(xué)?

之前寫過一篇文章叫做《上天還是入地》,說了學(xué)習(xí)的廣度和深度,在這里也是相通的。

往深度挖掘,可以成為某個(gè)技術(shù)領(lǐng)域的專家,如搜索方面的專家、安全方面的專家,分布式文件的專家等等,不管是哪個(gè)領(lǐng)域,重點(diǎn)都不是學(xué)會(huì)使用某個(gè)工具和框架, 而是保證你可以自己的知識(shí)和技術(shù)去搞定這個(gè)領(lǐng)域的頂尖問題。

往廣度發(fā)展,各個(gè)技術(shù)領(lǐng)域都要了解,對于某種需求,能夠選取合適的軟件和技術(shù)架構(gòu)來實(shí)現(xiàn)它,把需求轉(zhuǎn)化成合適的技術(shù)組件,讓這些組件以合適的方式連接、部署、運(yùn)行,這也需要持續(xù)地學(xué)習(xí)和不斷的經(jīng)驗(yàn)積累。

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

    關(guān)注

    4

    文章

    956

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    芯盾時(shí)代SDP助力企業(yè)應(yīng)對核心機(jī)密泄露危機(jī)

    無論你是程序員、文案、財(cái)務(wù),無論你想擼代碼、出海報(bào)、做報(bào)表,各式各樣的AI總能滿足你的需求,讓你的工作更加輕松。
    的頭像 發(fā)表于 12-26 11:49 ?667次閱讀

    大理的AI野心藏不住了——風(fēng)花雪月中千名程序員探討人工智能

    2025 年12月4日至6日第二屆CCF程序員大會(huì)暨大理人工智能與應(yīng)用國際開發(fā)者大會(huì)在大理圓滿落幕。
    的頭像 發(fā)表于 12-24 17:45 ?723次閱讀
    大理的AI野心藏不住了——風(fēng)花雪月中千名<b class='flag-5'>程序員</b>探討人工智能

    程序員最常見謊言

    了。 28我已經(jīng)測試過了,這個(gè)功能沒問題,可以上線了。 29別擔(dān)心,這個(gè)問題很快就能解決。 30代碼快寫完了,已經(jīng)完成 90% 了 。 希望大家對程序員多一些容忍以及諒解! 各位程序員你們都被我說中了哪些?說說你們的觀點(diǎn)
    發(fā)表于 12-10 08:24

    堆和棧的區(qū)別

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

    軟通國際亮相2025沙中開源與AI科技峰會(huì)

    2025年11月11日,由沙特程序員協(xié)會(huì)(parmg)主辦的"2025沙中開源與AI科技峰會(huì)"在利雅得盛大啟幕。
    的頭像 發(fā)表于 11-14 17:45 ?1479次閱讀

    奔赴熱AI,碼力全開!Talkweb House@1024程序員日系列活動(dòng)圓滿收官

    1024程序員日”系列活動(dòng)至此劃上了一個(gè)圓滿句號(hào)。本屆1024程序員節(jié)以“AI構(gòu)建世界,智能引領(lǐng)未來”為主題,廣邀技術(shù)大咖、產(chǎn)業(yè)領(lǐng)袖、企業(yè)代表與全球開發(fā)者齊聚星城
    的頭像 發(fā)表于 10-27 18:59 ?784次閱讀
    奔赴熱AI,碼力全開!Talkweb House@1024<b class='flag-5'>程序員</b>日系列活動(dòng)圓滿收官

    開鴻智谷“以賽促學(xué)、以賽選才”|1024程序員節(jié)暨開源鴻蒙構(gòu)建大會(huì)圓滿落幕!

    10月24日,由開鴻智谷聯(lián)合主辦的長沙1024程序員節(jié)暨開源鴻蒙構(gòu)建大會(huì)在長沙圓滿落幕。本次活動(dòng)以“湘聚長沙,共赴熱AI”為主題,通過技術(shù)分享與實(shí)戰(zhàn)競賽相結(jié)合的方式,著力培養(yǎng)“開源鴻蒙+AI”領(lǐng)域
    的頭像 發(fā)表于 10-27 17:58 ?710次閱讀
    開鴻智谷“以賽促學(xué)、以賽選才”|1024<b class='flag-5'>程序員</b>節(jié)暨開源鴻蒙構(gòu)建大會(huì)圓滿落幕!

    紫光國芯如何助力芯片后端設(shè)計(jì)

    眾所周知,芯片產(chǎn)品的誕生需要經(jīng)歷設(shè)計(jì)、制造、封測等階段,其中的芯片設(shè)計(jì)又包括架構(gòu)、代碼、驗(yàn)證、中端、后端等步驟。后端設(shè)計(jì)將抽象的代碼轉(zhuǎn)化成為可制造、功能正確、滿足性能功耗指標(biāo)的物理圖紙數(shù)據(jù),最終由芯片生產(chǎn)工廠制造。
    的頭像 發(fā)表于 07-08 16:40 ?1149次閱讀

    人工智能是做什么的

    在當(dāng)今科技日新月異的時(shí)代,人工智能(ArtificialIntelligence,簡稱AI)已成為推動(dòng)社會(huì)進(jìn)步和經(jīng)濟(jì)發(fā)展的重要力量。本文旨在深入探討人工智能的核心功能、應(yīng)用領(lǐng)域,并通過具體實(shí)例解析其如何改變我們的生活與工作方式。同時(shí),我們還將介紹萬達(dá)寶LAIDFU(來福)作為無限AI助理的一些獨(dú)特功能,如數(shù)據(jù)分區(qū)設(shè)計(jì)和用戶自定義嵌入屬性,以展示AI技術(shù)的最新
    的頭像 發(fā)表于 05-30 10:04 ?893次閱讀
    人工智能是<b class='flag-5'>做什么的</b>

    程序設(shè)計(jì)與數(shù)據(jù)結(jié)構(gòu)

    的地址)出發(fā),采用推導(dǎo)的方式,深入淺出的分析了廣大C程序員學(xué)習(xí)和開發(fā)中遇到的難點(diǎn)。 2. 從方法論的高度對C語言在數(shù)據(jù)結(jié)構(gòu)和算法方面的應(yīng)用進(jìn)行了深入講解和闡述。 3. 講解了絕大多數(shù)C程序員開發(fā)
    發(fā)表于 05-13 16:45

    繼電保護(hù)是用來做什么的?

    繼電保護(hù)是電力系統(tǒng)中的“安全衛(wèi)士”,其核心任務(wù)是?快速檢測故障并隔離故障區(qū)域?,確保電力設(shè)備免遭損壞、防止停電范圍擴(kuò)大,同時(shí)維護(hù)電網(wǎng)的穩(wěn)定運(yùn)行。在現(xiàn)代電力系統(tǒng)中,繼電保護(hù)裝置如同人體的免疫系統(tǒng),能夠在毫秒級(jí)時(shí)間內(nèi)識(shí)別異常并采取行動(dòng),是保障供電安全的核心技術(shù)之一。 一、繼電保護(hù)的四大核心功能 ?故障檢測? 實(shí)時(shí)監(jiān)測電流、電壓、頻率等電氣參數(shù),精準(zhǔn)識(shí)別短路、過載、接地故障等異常狀態(tài)。例如: 短路故障:電流驟增至正常值的數(shù)倍至數(shù)十倍。 接地故障:中性點(diǎn)電壓偏移或零序電流異常。 ?故障隔離? 通過控制斷路器在?20-100毫秒內(nèi)?切斷故障線路,避免故障蔓延。例如: 輸電線路發(fā)生短路時(shí),距離保護(hù)裝置可迅速定位故障點(diǎn)并跳閘。 ?告警與記錄? 觸發(fā)聲光報(bào)警,并記錄故障波形、動(dòng)作時(shí)間等數(shù)據(jù),為后續(xù)故障分析提供依據(jù)。 ?系統(tǒng)自愈支持? 配合自動(dòng)化設(shè)備(如重合閘裝置),在故障清除后嘗試恢復(fù)供電,減少停電時(shí)間。 二、繼電保護(hù)的組成與工作原理 ?系統(tǒng)架構(gòu) ?組件 ?功能? ?測量元件 采集電流互感器(CT)、電壓互感器(PT)信號(hào) ?邏輯判斷單元 分析參數(shù)是否符合故障特征(如過流、差動(dòng)) ?執(zhí)行元件 驅(qū)動(dòng)斷路器或發(fā)信裝置動(dòng)作 ? ?典型保護(hù)原理? ?過電流保護(hù)?:檢測電流超過設(shè)定閾值(如1.2倍額定電流),適用于配電網(wǎng)線路。 ?差動(dòng)保護(hù)?:比較設(shè)備兩端電流差值,若差值超限則判定內(nèi)部故障(常用于變壓器、發(fā)電機(jī))。 ?距離保護(hù)?:通過阻抗計(jì)算定位故障點(diǎn)位置,適用于長距離輸電線路。 三、繼電保護(hù)的應(yīng)用場景 ?發(fā)電環(huán)節(jié)? 發(fā)電機(jī)保護(hù):定子接地保護(hù)、轉(zhuǎn)子過負(fù)荷保護(hù)、失磁保護(hù)等。 案例:某水電站因差動(dòng)保護(hù)動(dòng)作,0.1秒內(nèi)隔離發(fā)電機(jī)內(nèi)部短路,避免機(jī)組燒毀。 ?輸電與變電環(huán)節(jié)? 輸電線路:縱聯(lián)保護(hù)、光纖差動(dòng)保護(hù),保障跨區(qū)域電網(wǎng)安全。 變壓器:瓦斯保護(hù)(非電量)、比率制動(dòng)差動(dòng)保護(hù),防止絕緣油分解或繞組故障。 ?配電環(huán)節(jié)? 配網(wǎng)饋線:過流保護(hù)配合自動(dòng)重合閘,減少用戶停電時(shí)間。 數(shù)據(jù):90%的配電故障可在300毫秒內(nèi)隔離并恢復(fù)供電。 四、繼電保護(hù)的技術(shù)演進(jìn) ?從電磁式到數(shù)字化? ?早期電磁繼電器?:依靠機(jī)械觸點(diǎn)動(dòng)作,響應(yīng)速度慢(>100ms),維護(hù)頻繁。 ?微機(jī)保護(hù)裝置?:集成DSP芯片,支持多判據(jù)融合計(jì)算,動(dòng)作時(shí)間縮短至20ms以內(nèi)。 ?智能化升級(jí)? ?廣域保護(hù)系統(tǒng)?:基于5G通信實(shí)時(shí)共享電網(wǎng)狀態(tài),實(shí)現(xiàn)跨區(qū)域協(xié)同控制。 ?AI故障預(yù)測?:利用機(jī)器學(xué)習(xí)分析歷史數(shù)據(jù),提前預(yù)警絕緣老化風(fēng)險(xiǎn)。 ?挑戰(zhàn)與突破? 新能源并網(wǎng):光伏、風(fēng)電的波動(dòng)性要求保護(hù)裝置具備自適應(yīng)能力。 解決方案:引入“方向性過流保護(hù)”應(yīng)對分布式電源雙向電流沖擊。 五、總結(jié) 繼電保護(hù)是電力系統(tǒng)安全運(yùn)行的基石,其價(jià)值體現(xiàn)在三個(gè)方面: ?經(jīng)濟(jì)性?:減少設(shè)備損壞帶來的巨額維修成本(如一臺(tái)500kV變壓器損壞損失超千萬元)。 ?可靠性?:保障99.99%以上的供電可用性,支撐現(xiàn)代社會(huì)穩(wěn)定運(yùn)轉(zhuǎn)。 ?智能化?:隨著數(shù)字孿生、邊緣計(jì)算等技術(shù)的融合,繼電保護(hù)正從“被動(dòng)響應(yīng)”邁向“主動(dòng)防御”。 未來,繼電保護(hù)將與能源互聯(lián)網(wǎng)深度結(jié)合,成為構(gòu)建新型電力系統(tǒng)的核心防線。
    發(fā)表于 05-06 10:32

    計(jì)算機(jī)網(wǎng)絡(luò)排錯(cuò)思路總結(jié)

    明人不說暗話,這篇文章我們來聊一個(gè)非常有用,同時(shí)也是程序員必備的技能,那就是網(wǎng)絡(luò)排錯(cuò)思路大總結(jié)。
    的頭像 發(fā)表于 04-01 17:32 ?894次閱讀
    計(jì)算機(jī)網(wǎng)絡(luò)排錯(cuò)思路總結(jié)

    如何在 樹莓派 上編寫和運(yùn)行 C 語言程序?

    ,一本很好的書是BrianKernighan和DennisRitchie所著的《TheCProgrammingLanguage》。這本書對經(jīng)驗(yàn)豐富的程序員和想學(xué)習(xí)C語
    的頭像 發(fā)表于 03-25 09:28 ?1158次閱讀
    如何在 樹莓派 上編寫和運(yùn)行 C 語言<b class='flag-5'>程序</b>?

    零基礎(chǔ)入門:如何在樹莓派上編寫和運(yùn)行Python程序?

    是一種非常有用的編程語言,其語法易于閱讀,允許程序員使用比匯編、C或Java等語言更少的代碼行。Python編程語言最初實(shí)際上是作為Linux的腳本語言而開發(fā)的。Py
    的頭像 發(fā)表于 03-25 09:27 ?2047次閱讀
    零基礎(chǔ)入門:如何在樹莓派上編寫和運(yùn)行Python<b class='flag-5'>程序</b>?

    Gemini Vision + Raspberry Pi 化身“數(shù)字導(dǎo)盲犬”?

    本文討論了一位程序員利用樹莓派、攝像頭、Gemini和Python構(gòu)建PeregrineEye設(shè)備,使其成為“數(shù)字導(dǎo)盲犬”為視障者服務(wù)的項(xiàng)目經(jīng)歷,包括項(xiàng)目靈感、功能、構(gòu)建過程、遇到的挑戰(zhàn)及未來計(jì)劃等
    的頭像 發(fā)表于 03-25 09:20 ?1926次閱讀
    Gemini Vision + Raspberry Pi 化身“數(shù)字導(dǎo)盲犬”?