回答:軟件項(xiàng)目本身會(huì)有很多分類。在IT傳統(tǒng)項(xiàng)目/內(nèi)部系統(tǒng)中,往往仍有很多項(xiàng)目采用復(fù)雜邏輯寫入sql或存儲(chǔ)過程的做法。當(dāng)然并不代表這個(gè)做法是最佳的。還是先拋出結(jié)論。單單從技術(shù)角度講,是絕不應(yīng)該將復(fù)雜邏輯寫入sql的。如果題主對原因不敢興趣,看到這里就可以了。下面我會(huì)簡單解釋下這么做的一些原因。首先,先說說傳統(tǒng)IT服務(wù)類項(xiàng)目。類似,電信,政企,銀行,XXX管理系統(tǒng),XXX運(yùn)維系統(tǒng)。這類項(xiàng)目往往是國企,事業(yè)單...
回答:目前大部分研發(fā)團(tuán)隊(duì)都要求業(yè)務(wù)邏輯用代碼來實(shí)現(xiàn),SQL操作往往都是基本操作。用SQL來表現(xiàn)業(yè)務(wù)邏輯,也就是通過存儲(chǔ)過程的方式來表現(xiàn)業(yè)務(wù)邏輯是比較傳統(tǒng)的開發(fā)方案。在C/S時(shí)代很多邏輯的實(shí)現(xiàn)都是通過SQL來實(shí)現(xiàn)的,主要原因是業(yè)務(wù)規(guī)模和部署方式?jīng)Q定的。早期的C/S編程時(shí)代往往都是非分布式環(huán)境下的開發(fā),而且大多數(shù)情況下并不需要考慮移植性問題,此時(shí)采用SQL來完成業(yè)務(wù)邏輯是比較方便的處理方式。采用存儲(chǔ)過程來完...
回答:首先明確下定義:計(jì)算時(shí)間是指計(jì)算機(jī)實(shí)際執(zhí)行的時(shí)間,不是人等待的時(shí)間,因?yàn)榈却龝r(shí)間依賴于有多少資源可以調(diào)度。首先我們不考慮資源問題,討論時(shí)間的預(yù)估。執(zhí)行時(shí)間依賴于執(zhí)行引擎是 Spark 還是 MapReduce。Spark 任務(wù)Spark 任務(wù)的總執(zhí)行時(shí)間可以看 Spark UI,以下圖為例Spark 任務(wù)是分多個(gè) Physical Stage 執(zhí)行的,每個(gè)stage下有很多個(gè)task,task 的...
回答:沒什么意義,關(guān)鍵是架構(gòu),你的架構(gòu)和API用的是linux定義的,你再怎么改,還是linux。人家為什么敢叫l(wèi)inux,而不叫unix,那是人家雖然沒有全改,但起碼有自己的架構(gòu)設(shè)計(jì)在里面,所以,別人才承認(rèn)你是Linux,而不是unix換個(gè)皮。所以在操作系統(tǒng)里架構(gòu)和API的改寫和設(shè)計(jì)才是真正????B的地方。起碼目前的中國,我還沒見識(shí)過這種大神!
...實(shí)世界, 且更容易維護(hù)大型軟件, 又出現(xiàn)了面向?qū)ο蟮木幊陶Z言和編程方法學(xué), 增加了新的語言特性: 繼承、 多態(tài)、 模板、 異常錯(cuò)誤。 為了不必重復(fù)開發(fā)常見工具和任務(wù), 人們創(chuàng)造和封裝了容器及算法、SDK, 垃圾回收器...
...比如繼承、多態(tài)),并且它們不允許混合持久化狀態(tài)和域邏輯。 其實(shí),說白了,就是想到什么寫什么。 什么叫做面向?qū)ο?按人們認(rèn)識(shí)客觀世界的系統(tǒng)思維方式,采用基于對象(實(shí)體)的概念建立模型,模擬客觀世界分析、設(shè)計(jì)...
... functionTest.add3(2); int i4 = functionTest.add4(2); } //邏輯提前定義好 public int add2(int i){ return i + 2; } //邏輯提前定義好 public int add3(int i){ return ...
... id(x){ return x; } 函數(shù)式編程帶來的優(yōu)點(diǎn) 在上文中提到過,編程語言中的函數(shù)大多是不滿足數(shù)學(xué)中的函數(shù)的概念的,so 我們將滿足數(shù)學(xué)函數(shù)條件的函數(shù)稱為純函數(shù) 函數(shù)式編程的優(yōu)點(diǎn)大多都來自于純函數(shù) 可測試性 除了測試人...
...接口的時(shí)候比比皆是。本身寫的不壞,沒有拗口的地方,邏輯很嚴(yán)謹(jǐn),讀起來很流暢。 美中不足的是,不夠通用化。 大量這樣的代碼容易讓編碼的人變成一個(gè)不會(huì)思考的機(jī)器... 簡單重構(gòu) 分析 對比之前寫的每個(gè)http接口我們很...
...程的世界,程序會(huì)是一個(gè)無狀態(tài)的函數(shù)組合序列。不同的編程語言也會(huì)提倡不同的編程范型。一些語言是專門為某個(gè)特定的范型設(shè)計(jì)的,如Smalltalk和Java支持面向?qū)ο缶幊獭6鳫askell和Scheme則支持函數(shù)式編程。現(xiàn)代編程語言的...
...學(xué)習(xí),非常偏理論,因?yàn)樯婕暗囊恍└拍钜彩墙梃b的其它編程語言的風(fēng)格,而且實(shí)際落地中存在部分爭議 不過多學(xué)一點(diǎn),總是沒有壞處的。 滾雪球?qū)W Python 第四輪,主要學(xué)習(xí)函數(shù)式編程 本系列文章每篇 3000 字左右(包含代碼)...
...Hello World’) 可以看到我們更改了需求并沒有去修改內(nèi)部邏輯,只是重組了一下函數(shù)而已。 可以看到函數(shù)式編程在開發(fā)中具有聲明模式。為了充分理解函數(shù)式編程,我們先來看下幾個(gè)基本概念。 聲明式編程 純函數(shù) 引用透明 不...
...首先是一個(gè)聲明式編程范例。這意味著它們表達(dá)了操作的邏輯連接,而不會(huì)泄露它們是如何實(shí)現(xiàn)的,或者數(shù)據(jù)如何實(shí)際流經(jīng)它們,它著重于使用表達(dá)式來描述程序的邏輯是什么 在 PHP 中,聲明性代碼是使用高階函數(shù)來實(shí)現(xiàn)的,...
...是什么樣子的呢?個(gè)人理解高階組件就是react中復(fù)用組件邏輯的一種技巧,先來個(gè)高階函數(shù)壓壓驚: function add(a,b){ return a+b } 如果我希望在函數(shù)處理的過程中能夠?qū)崟r(shí)追蹤這個(gè)值并且打印出來呢,我們會(huì)這樣處理: function add(...
... 函數(shù)式編程并不是一個(gè)新概念,諸如Haskell這樣的學(xué)院派編程語言就是以函數(shù)式編程為根基的,JVM平臺(tái)上更徹底的采用函數(shù)式編程思維的更是以Scala為代表,因此函數(shù)式編程確實(shí)不是什么新概念。下面來談?wù)劽钍骄幊毯秃瘮?shù)式...
...是flash的天下,基本都是簡單的網(wǎng)頁嵌套一些后端的代碼邏輯,然后通過后端渲染引擎渲染或者解釋器解釋產(chǎn)出html頁面,什么ASP,PHP,JSP等等。 然而之前的模塊化稱不上是模塊,為什么呢?因?yàn)闆]有模塊加載器,主要是通過JS加...
...是flash的天下,基本都是簡單的網(wǎng)頁嵌套一些后端的代碼邏輯,然后通過后端渲染引擎渲染或者解釋器解釋產(chǎn)出html頁面,什么ASP,PHP,JSP等等。 然而之前的模塊化稱不上是模塊,為什么呢?因?yàn)闆]有模塊加載器,主要是通過JS加...
...是flash的天下,基本都是簡單的網(wǎng)頁嵌套一些后端的代碼邏輯,然后通過后端渲染引擎渲染或者解釋器解釋產(chǎn)出html頁面,什么ASP,PHP,JSP等等。 然而之前的模塊化稱不上是模塊,為什么呢?因?yàn)闆]有模塊加載器,主要是通過JS加...
ChatGPT和Sora等AI大模型應(yīng)用,將AI大模型和算力需求的熱度不斷帶上新的臺(tái)階。哪里可以獲得...
大模型的訓(xùn)練用4090是不合適的,但推理(inference/serving)用4090不能說合適,...
圖示為GPU性能排行榜,我們可以看到所有GPU的原始相關(guān)性能圖表。同時(shí)根據(jù)訓(xùn)練、推理能力由高到低做了...