{eval=Array;=+count(Array);}
應當這樣講,大多數工作在維護期都是進行”增刪改查”的工作,不光只是程序員這樣。
上世紀八、九十年代,大哥大手機、游戲機、隨身聽等等產品都很貴,工控主板、計算機、高端制造設備,更是高的離譜。一臺臺式電腦,一萬元左右;一臺筆計本電腦,98年買的TOSHIBA,更是達到2萬元人民幣。
究其原因,那個時期,產品為原始開發時期,中國在這方面基礎很差,大多為零基礎。開發成本高,每一個功能都要以零開始做。
比如數控機床。有了成熟的UI界面沒計、軌跡計算、語法語議、CAD/CAM、自適應控制、細插補、通訊等技術,做設備就很容易了。有了這些通用技術,我們可以進行電火花加工、小微細孔加工、線切割、激光加工等等細分領域。
”增刪改查”成了這些細分領域開發經常用的方法。對于UI界面沒計、軌跡計算、語法語議、CAD/CAM、細插補、通訊等通用技術,只需要做小的改動,就可以用到新產品中。
新的產品只需要做特殊性就可以了。如從電加工到激光,只需研究激光的切割原理,激光脈沖能量產生的方法、加工伺服的控制與檢測等與電加工不一樣的點就行了。
總結:不論什么行業,基礎很重要,有了基礎,就能快速發展。
有了基礎,后期可以組織大量研發人員進行”增刪改查”,擴大戰果,迅速使得成果覆蓋各行各業。象手機及其穿帶產品,并不是中國原創;但隨著ucloud、小米等一大批國產品牌的崛起,隨著快速的”增刪改查”,逐漸使中國在手機及其穿帶產品成為世界第一。
后端的增刪改查是基本的編程操作,實際上在生產場景下,很多后端開發都是圍繞增刪改查來展開的,所以也有很多程序員把自己稱為“CRUD員”。
實現增刪改查操作有很多方案,取決于采用的技術選型,包括編程語言、開發框架、技術平臺等,目前基于云端的開發,已經整合了增刪改查等基本操作,開發人員基本上不需要再編寫這一類基礎的代碼了,或者說編寫增刪改查已經很方便了。
以Java語言為例,要想完成基本的增刪改查操作,要了解JDBC,而JDBC流程是比較清晰的,包括驅動程序加載、創建與指定數據庫的連接對象(Connection)、創建容器對象(Statement、PreparedStatement)、執行Sql語句(executeQuery、executeUpdate)、返回結果集,最后要關閉這些打開的連接和容器等資源。
在掌握了基本的JDBC流程之后,就需要進行一些優化了,包括創建和使用數據庫連接池,這是提升數據庫操作性能比較重要的步驟,目前數據庫連接池是不需要自己來編寫的,有很多成熟的連接池可以使用。
接著要規范化數據庫操作,比如早期會使用DAO,后來大部分開發人員會采用一些成熟的OO-OR映射工具,比如Hibernate、MyBatis等,這樣不僅能夠規范化代碼,也可以通過配置來解決一些外部資源的連接問題。
這些后端的操作要統一進行接口封裝,這樣前端和后端就完成了隔離,這對于后續進行微服務等升級也有比較直接的影響。
在云原生的推動下,現在前端開發全?;且粋€重要的發展趨勢,很多后端的操作可以通過云平臺提供的函數來完成,這樣不僅提高了操作效率,也解決了困擾程序員和運維人員的性能問題。
我個人覺得就是這樣。
廣義來講沒說錯,計算機的本質就是對數字,或者說數據的運算和操作,而數據的四個基本操作就是“增刪改查”,所以計算機的所有操作都可以歸結為增查刪改。
文件IO是對存儲器的增刪查改、內存管理是對內存的增刪查改、線程管理是對系統線程的增刪查改…這堆增刪查改組裝到一起就叫操作系統。
網絡編程的本質又是對系統socket緩存的增刪查改;游戲圖像引擎的作用是對顯卡顯存的增刪查改。
但是,
剛入行可以就做一個增刪改查的curd boy,這也是很多程序員的起點。
但如果幾年后,還只會增刪改查那就真的危險了,薪資上不去不說,可能很快就要被淘汰了。
框架選擇、代碼架構、工程設計、更完美的實現、精進的debug能力、更深入的算法和數據結構及計算機體系基礎知識儲備,程序員這個行業有太多東西要學。
當然,你非要廣義的增刪改查,那程序員的工作還真都可以囊括進去,你增加一個模塊是增,重構掉一個接口是刪,發現一個重大bug修改掉是改,review代碼是查。
在復雜的場景下,玩轉增刪改查還不是件容易的事情。
Java工程師要慢慢成為架構師方面走,不能總是一層不變。
https://www.bilibili.com/video/BV13Q4y1C7hS?spm_id_from=333.999.0.0
這么說也沒錯。增:增加新內容、新功能;刪:刪除不需要的、過時的功能;改:改錯誤,改流程;查:查bug、查不合理代碼。寫程序就這么簡單。
增刪改查只適用于和數據庫打交道的程序??梢酝ㄋ字v:面向數據庫編程。
面相數據庫編程主要體現業務邏輯。但,離開數據庫難道就沒其他程序了么?
當然不是,操作系統代碼,瀏覽器內核代碼,圖片音頻壓縮與解碼,這些代碼又有多少增刪改查?
甚至像微信客戶端這種,應該都沒什么增刪改查。
怎么會只有增刪改查,很多人員會覺得后端很簡單,寫個接口,增刪改查就完了。但是后端的工作還有很多。尤其是現在的微服務分布式架構,完成功能的前提下要考慮效率,擴展性,可維護性,數據安全性,一致性,也是很難啊。
0
回答0
回答4
回答10
回答0
回答0
回答0
回答0
回答0
回答1
回答