導航:首頁 > 程序命令 > 前後分離對程序員來說是好是壞

前後分離對程序員來說是好是壞

發布時間:2023-11-22 19:48:56

『壹』 Web 前後端分離的意義大嗎

意義?怎麼叫意義呢,做一個項目來說,不是特別講究意義所在,更重要的是能否快速准確的實現客戶需求,WEB項目是否前後端分離並不影響你完成這個項目,只在於影響你這個項目的運行速度等等情況。

WEB 前後端分離三個最大的優點在於:
1:最大的好處就是前端JS可以做很大部分的數據處理工作,對伺服器的壓力減小到最小
2:後台錯誤不會直接反映到前台,錯誤接秒較為友好
3:由於後台是很難去探知前台頁面的分布情況,而這又是JS的強項,而JS又是無法獨立和伺服器進行通訊的。所以單單用後台去控制整體頁面,又或者只靠JS完成效果,都會難度加大,前後台各盡其職可以最大程度的減少開發難度。

『貳』 最近低代碼開發火了,低代碼平台真的對程序員友好嗎

非常友好啊!
傳統的系統開發採用的模式是敲擊大量代碼進行開發,並且需要一個團隊花費至少兩三個月才能完成,有的系統復雜甚至需要半年甚至一年才能寫完。這種模式對於任何一個程序員來說都是非常累且很傷腦經的。
而低代碼開發平台採用是少量甚至不要代碼就能開發出企業需要的管理系統,就拿百數低代碼開發平台來說,這款低代碼開發平台採用的是Python腳本語言+功能模塊+可視化拖拽的模式進行快速開發,任何一個公司的程序員既可以用Python腳本語言進行開發,也可以通過安裝功能模塊進行開發,整個過程只需要一個人就能完成系統的開發,所用的開發時間也從傳統系統開發至少3個月時長縮短到了1個月甚至幾天,相比於傳統開發而言開發時長縮短了三分之二,效率提高了80%。

最後低代碼開發平台搭建出來的系統跟傳統方式搭建出來的系統是一樣的,兩者最大的差別就是提高了效率,節約了時間,節約了成本。因此低代碼平台對於程序員來說是非常友好的。

『叄』 c++分離式編譯的好處是什麼

1、如果有錯誤能快速找到。
2、實現模塊多用。

分離編譯模式是指:一個程序(項目)由若干個源文件共同實現,而每個源文件單獨編譯生成目標文件,最後將所有目標文件連接起來形成單一的可執行文件的過程。
分離編譯模式是C/C++組織源代碼和生成可執行文件的方式。在實際開發大型項目的時候,不可能把所有的源程序都放在一個頭文件中,而是分別由不同的程序員開發不同的模塊,再將這些模塊匯總成為最終的可執行程序。
這里就涉及到不同的模塊(源文件)定義的函數和變數之間的相互調用問題。C/C++語言所採用的方法是:只要給出函數原型(或外部變數聲明),就可以在本源文件中使用該函數(或變數)。每個源文件都是獨立的編譯單元,在當前源文件中使用但未在此定義的變數或者函數,就假設在其他的源文件中定義好了。每個源文件生成獨立的目標文件(obj文件),然後通過連接(Linking)將目標文件組成最終的可執行文件。
程序編譯的簡要過程包括預處理(Preprocessing)、編譯(Compilation)、匯編(Assembly)和連接(Linking)。

『肆』 程序員分前端與後端,那麼後端程序員都做些什麼看完就知道了

我剛開始做Web開發的時候,根本沒有前端,後端之說。

原因很簡單,那個時候伺服器端的代碼就是一切: 接受瀏覽器的請求,實現業務邏輯,訪問資料庫,用JSP生成HTML,然後發送給瀏覽器。

即使後來Javascript在瀏覽器中添加了一些AJAX的效果,那也是錦上添花,絕對不敢造次。因為頁面的HTML主要還是用所謂「 套模板 」的方式生成:美工生成HTML模板,程序員用JSP,Veloctiy,FreeMaker等技術把動態的內容添加上去,僅此而已。

那個時候最流行的圖是這個樣子:

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

每個程序員都是所謂 「全棧」工程師 ,不僅要搞定HTML, JavaScript, CSS,還要實現業務邏輯,編寫訪問資料庫的代碼。等到部署的時候,就把所有的代碼打成一個WAR包,往Tomcat指定的目錄一扔,測試一下沒問題,收工回家!

不差錢的公司會把程序部署到Weblogic,Websphere這樣的應用伺服器中,還會用上高大上的EJB。

雖然看起來生活「簡單」又「愜意」,但實際上也需要實現那些多變的、不講邏輯的業務需求,苦逼的本質並沒有改變。

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

後端的工程師只負責提供介面和數據,專注於業務邏輯的實現,前端取到數據後在瀏覽器中展示,各司其職。

像Java這樣的語言很適合去實現復雜的業務邏輯,尤其是一些MIS系統,行業軟體如稅務、電力、煙草、金融,通信等等。 所以剝離表示層,只做後端挺合適的。

但是如果僅僅是實現業務邏輯,那後端也不會需要這么多技術了,搞定SSH/SSM就行了。

互聯網,尤其是移動互聯網開始興起以後,海量的用戶呼嘯而來,一個單機部署的小小War包肯定是撐不住了,必須得做分布式。

原來的單個Tomcat得變成Tomcat的 集群 ,前邊弄個Web伺服器做請求的 負載均衡, 不僅如此,還得考慮狀態問題,session的一致性。

(註:參見文章《小白科普:分布式和集群》)

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

單個資料庫也撐不住了,那就做資料庫的 讀寫分離 ,如果還不行,就做 分庫和分表 ,把原有的資料庫垂直地切一切,或者水平地切一切, 但不管怎麼切,都會讓應用程序的訪問非常麻煩,因為數據要跨庫做Join/排序,還需要事務,為了解決這個問題,又有各種各樣「 數據訪問中間件 」的工具和產品誕生。

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

互聯網用戶喜歡上傳圖片和文件,還得搞一個 分布式的文件系統 (如FastDFS),要求高可用,高可靠。

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

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

前面提到了這么多的系統,還都是分布式的,每次上線,運維的同學說:把這么多系統協調好,把老子都累死了。

得把持續集成做好,能自動化地部署,自動化測試(其實前端也是如此),後來出現了一個革命化的技術 docker , 能夠讓開發、測試、生成環境保持一致,系統原來只是在環境(如Ngnix, JVM,Tomcat,MySQL等)上部署代碼,現在把代碼和環境一並打包, 運維的工作一下子就簡化了。

公司自己購買伺服器比較貴,維護也很麻煩,又難於彈性地增長,那就搞點虛擬的伺服器吧,硬碟、內存都可以動態擴展(反正是虛擬的), 訪問量大的時候多用點,沒啥訪問量了就釋放一點,按需分配,很方便,這就是 雲計算 的一個場景。

隨著時間的推移,各個公司和系統收集的數據越來越多,都堆成一座大山了,難道就放在那裡白白地浪費硬碟空間嗎?

有人就驚奇地發現,咦,我們利用這些數據搞點事情啊, 比如把數據好好分析一下,預測一下這個用戶的購買/閱讀/瀏覽習慣,給他推薦一點東西嘛。

可是這么多數據,用傳統的方式計算好幾天甚至好幾個月才能出個結果,到時候黃花菜都涼了,所以也得利用分布式的技術,想辦法把計算分到各個計算機去,然後再把計算結果收回來, 時勢造英雄, Hadoop 及其生態系統就應運而生了。

之前聽說過一個大前端的概念,把移動端和網頁端都歸結為「前端」,我這里造個詞「大後端」,把那些用戶直接接觸不到的、發生在伺服器端的都歸結進來。

現在無論是前端還是後端,技術領域多如牛毛,都嚴重地細分了,所以 我認為真正的全棧工程師根本不存在,因為一個人精力有限,不可能搞定這么多技術領域,太難了

培訓機構所說的「全棧」,我認為就是前後端還在拉拉扯扯,藕斷絲連,沒有徹底分離的時候的「全棧」工程師。

那麼問題來了, 後端這么多東西,我該怎麼學?

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

往深度挖掘,可以成為某個技術領域的專家,如搜索方面的專家、安全方面的專家,分布式文件的專家等等,不管是哪個領域,重點都不是學會使用某個工具和框架, 而是保證你可以自己的知識和技術去搞定這個領域的頂尖問題。

往廣度發展,各個技術領域都要了解,對於某種需求,能夠選取合適的軟體和技術架構來實現它,把需求轉化成合適的技術組件,讓這些組件以合適的方式連接、部署、運行,這也需要持續地學習和不斷的經驗積累。

最後,以一張漫畫來結束吧!

C/C++高級工程師學習路線圖:

閱讀全文

與前後分離對程序員來說是好是壞相關的資料

熱點內容
手機軟體加密了怎麼解開 瀏覽:887
linux中的ln命令例子 瀏覽:142
為什麼玩cf第一次進入伺服器很慢 瀏覽:967
工作單源碼 瀏覽:619
安卓如何關閉app自動升級 瀏覽:137
new文件夾怎麼打開 瀏覽:633
安卓51如何優化 瀏覽:177
活塞式壓縮機原理圖 瀏覽:845
水環式壓縮機工作原理 瀏覽:715
阿里雲伺服器安裝後怎麼使用 瀏覽:933
去做APP開戶有什麼危險沒得啊 瀏覽:696
8分之1乘58演算法 瀏覽:171
php提交過濾 瀏覽:358
豪斯曼檢驗stata命令 瀏覽:771
雲看地是什麼APP 瀏覽:886
數學指南pdf 瀏覽:860
phpcurldll64位 瀏覽:983
程序員脫產一年半 瀏覽:853
hr招程序員有什麼條件 瀏覽:590
android開源集合 瀏覽:872