那曲檬骨新材料有限公司

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

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

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

后端程序員是做什么的

工程師人生 ? 來(lái)源:工程師吳畏 ? 2019-07-26 17:14 ? 次閱讀

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

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

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

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

后端程序員是做什么的

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

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

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

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

1前后端的分離

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

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

像Java這樣的語(yǔ)言很適合去實(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)開(kāi)始興起以后,海量的用戶(hù)呼嘯而來(lái),一個(gè)單機(jī)部署的小小War包肯定是撐不住了,必須得做分布式。

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

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

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

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

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

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

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

3“大后端”

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

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

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

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

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

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

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

4怎么學(xué)?

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

培訓(xùn)機(jī)構(gòu)所說(shuō)的“全棧”,我認(rèn)為就是前后端還在拉拉扯扯,藕斷絲連,沒(méi)有徹底分離的時(shí)候的“全棧”工程師。

那么問(wèn)題來(lái)了, 后端這么多東西,我該怎么學(xué)?

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

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

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

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

    關(guān)注

    4

    文章

    953

    瀏覽量

    29857
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    阿里云升級(jí)通義靈碼AI程序員,全面上線

    近日,阿里云宣布其備受矚目的通義靈碼AI程序員已正式全面上線,為開(kāi)發(fā)者帶來(lái)更為強(qiáng)大和便捷的編程輔助工具。 此次上線的通義靈碼AI程序員,在功能上實(shí)現(xiàn)了全面升級(jí)。現(xiàn)在,它支持VS Code
    的頭像 發(fā)表于 01-09 11:16 ?302次閱讀

    AI工作流自動(dòng)化是做什么的

    AI工作流自動(dòng)化是指利用人工智能技術(shù),對(duì)工作流程中的重復(fù)性、規(guī)則明確的任務(wù)進(jìn)行自動(dòng)化處理的過(guò)程。那么,AI工作流自動(dòng)化是做什么的呢?接下來(lái),AI部落小編為您分享。
    的頭像 發(fā)表于 01-06 17:57 ?146次閱讀

    TMS320C6000程序員指南

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

    TMS320C55x DSP CPU程序員參考補(bǔ)充

    電子發(fā)燒友網(wǎng)站提供《TMS320C55x DSP CPU程序員參考補(bǔ)充.pdf》資料免費(fèi)下載
    發(fā)表于 12-21 11:36 ?0次下載
    TMS320C55x DSP CPU<b class='flag-5'>程序員</b>參考補(bǔ)充

    UCD3138A64/UCD3138128程序員手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《UCD3138A64/UCD3138128程序員手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 12-09 14:42 ?0次下載
    UCD3138A64/UCD3138128<b class='flag-5'>程序員</b>手冊(cè)

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

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

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

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

    AI編程工具會(huì)不會(huì)搶程序員飯碗

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

    第五屆長(zhǎng)沙·中國(guó)1024程序員節(jié)開(kāi)幕

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

    程序員節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎(jiǎng)

    10月24日,程序員專(zhuān)屬的節(jié)日里,我們盛大開(kāi)啟“程序員節(jié)視頻創(chuàng)意大賽”特別活動(dòng)!這不僅是一場(chǎng)視覺(jué)的盛宴,更是智慧與創(chuàng)意的璀璨碰撞。我們誠(chéng)摯邀請(qǐng)每一位程序員及編程愛(ài)好者,拿起你的鏡頭,記錄下那些平凡日子中的不凡瞬間,讓編程的魅力與
    的頭像 發(fā)表于 07-08 10:38 ?72次閱讀
    <b class='flag-5'>程序員</b>節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎(jiǎng)

    程序員節(jié)視頻創(chuàng)意盛宴,邀您共襄盛舉!

    10月24日,程序員專(zhuān)屬的節(jié)日里,我們盛大開(kāi)啟“程序員節(jié)視頻創(chuàng)意大賽”特別活動(dòng)!這不僅是一場(chǎng)視覺(jué)的盛宴,更是智慧與創(chuàng)意的璀璨碰撞。我們誠(chéng)摯邀請(qǐng)每一位程序員及編程愛(ài)好者,拿起你的鏡頭,記錄下那些平凡日子中的不凡瞬間,讓編程的魅力與
    的頭像 發(fā)表于 07-04 09:00 ?67次閱讀
    <b class='flag-5'>程序員</b>節(jié)視頻創(chuàng)意盛宴,邀您共襄盛舉!

    請(qǐng)問(wèn)ucos libMicrium.a文件是做什么的

    目前在做ucos cyclone上移植,發(fā)現(xiàn)官方例子里面用到了libgen目錄下libMicrium.a文件。請(qǐng)問(wèn)這個(gè)文件是做什么的? 這部分有源代碼嗎?
    發(fā)表于 04-15 08:07

    適者生存,程序員最終會(huì)流向哪……

    程序員沒(méi)有永遠(yuǎn)的護(hù)城河!!就目前的互聯(lián)網(wǎng)大環(huán)境來(lái)看,it行業(yè)已經(jīng)是……
    的頭像 發(fā)表于 03-11 17:11 ?438次閱讀
    適者生存,<b class='flag-5'>程序員</b>最終會(huì)流向哪……

    薪資高、青春飯,是不是程序員=青樓?

    花期太短。技術(shù)迭代快,年齡大容易失業(yè)。 就這幾年的互聯(lián)網(wǎng)環(huán)境而言,不管是前端、Java、Android開(kāi)發(fā)等等行業(yè)。已經(jīng)感受到程序員不是太卷就是工作難找,薪資過(guò)低。以前高工現(xiàn)在拿著中低程序員薪資
    發(fā)表于 03-06 21:32

    瑞薩Flash程序員V3 發(fā)布說(shuō)明

    電子發(fā)燒友網(wǎng)站提供《瑞薩Flash程序員V3 發(fā)布說(shuō)明.pdf》資料免費(fèi)下載
    發(fā)表于 02-19 09:37 ?1次下載
    瑞薩Flash<b class='flag-5'>程序員</b>V3 發(fā)布說(shuō)明
    百家乐官网的嬴钱法| 澳门顶级赌场娱乐场| 百家乐官网折叠桌| 百家乐庄家闲| 百家乐官网摇色子网站| 好用百家乐软件| 庆安县| 缅甸百家乐博彩| 康定县| 娱网百家乐补丁| 百家乐官网游戏策略| 百家乐桌子| 百家乐官网盛大娱乐城城| 香港百家乐娱乐场开户注册| 娱乐城百家乐官网技巧| 百家乐老是输| 太阳城百家乐官网下载网址| 钱柜百家乐娱乐城| 百家乐官网公式书| 大发888体育娱乐场| 3U百家乐官网的玩法技巧和规则| 太阳城网络博彩| 百家乐太阳城线上| 百家乐官网的破解方法| 新东方百家乐的玩法技巧和规则| 百家乐官网8点直赢| 珠江太阳城广场| 综合百家乐官网博彩论坛| ea平台| 百家乐龙虎台布作弊技巧| 赌博百家乐官网的乐趣| 大发888娱乐场下载新澳博| 新葡京百家乐官网的玩法技巧和规则| 188比分| 7人百家乐中号桌布| 百家乐官网顶路| 92棋牌游戏| 澳门百家乐大家乐眼| 棋牌百家乐官网赢钱经验技巧评测网 | 网上百家乐乐代理| 百家乐官网免费注册|