...系統(tǒng)整體的復(fù)雜度,得不償失。 然而有個(gè)詞叫做架構(gòu)腐化,系統(tǒng)不可能靜止不動(dòng),隨著業(yè)務(wù)的成長(zhǎng),市場(chǎng)的變化,系統(tǒng)總要不斷增加新的能力,時(shí)間長(zhǎng)了,最初簡(jiǎn)單高效的架構(gòu),往往就會(huì)變得極其復(fù)雜,臃腫不堪,即便最...
...的目標(biāo),減少由于設(shè)計(jì)與業(yè)務(wù)的不匹配帶來的架構(gòu)與設(shè)計(jì)腐化。 重構(gòu)能改善軟件設(shè)計(jì) 重構(gòu)使軟件更易理解 重構(gòu)有助于找到Bug 重構(gòu)有助于提高自我編程能力 重構(gòu)有助于加深理解代碼 重構(gòu)能適應(yīng)需求變更 推薦閱讀:重構(gòu) 代碼...
...系統(tǒng)之間,疲于應(yīng)對(duì),心力交瘁。 這種將就將導(dǎo)致系統(tǒng)腐化,技術(shù)債越壘越高,像腫瘤一樣消耗你所有的能量。 我不是藥神,只能嘗試開出一方——那就是在不影響業(yè)務(wù)的情況下(特別是相對(duì)穩(wěn)定的業(yè)務(wù),請(qǐng)拒絕業(yè)務(wù)方的時(shí)間...
...,所有組件不再位于同一個(gè)水平面,代碼全都堆積在一起腐化很快,容易形成復(fù)制粘貼的趨向。 除非已經(jīng)明確是實(shí)驗(yàn)性臨時(shí)性的項(xiàng)目,我個(gè)人不建議以這樣的方式起步,使用一個(gè)相對(duì)簡(jiǎn)單的架構(gòu)(見文2)并不會(huì)浪費(fèi)太多的時(shí)間...
...,所有組件不再位于同一個(gè)水平面,代碼全都堆積在一起腐化很快,容易形成復(fù)制粘貼的趨向。 除非已經(jīng)明確是實(shí)驗(yàn)性臨時(shí)性的項(xiàng)目,我個(gè)人不建議以這樣的方式起步,使用一個(gè)相對(duì)簡(jiǎn)單的架構(gòu)(見文2)并不會(huì)浪費(fèi)太多的時(shí)間...
...目標(biāo)是減少變化的成本和影響 軟件傾向于隨著時(shí)間變得腐化,隨著時(shí)間流逝,變化會(huì)悄然發(fā)生并以難以預(yù)料的方式考驗(yàn)著設(shè)計(jì) 技術(shù)債用來描述為了滿足進(jìn)度或用戶期望而做出的設(shè)計(jì)讓步,與財(cái)務(wù)債一樣,也需要支付利息,在將...
...問題是,不寫單元測(cè)試,你就不敢重構(gòu),就只能看著代碼腐化。代碼質(zhì)量談不上,持續(xù)改進(jìn)談不上,個(gè)人成長(zhǎng)更談不上。始終是原始的勞作方式。 再說說上下文。我認(rèn)為單元測(cè)試的上下文存在于「敏捷」中?,F(xiàn)代企業(yè)數(shù)字化競(jìng)...
...會(huì)相互產(chǎn)生影響;需求代碼是否對(duì)平臺(tái)有侵入、導(dǎo)致平臺(tái)腐化;高頻率的需求發(fā)布下如何管控質(zhì)量;能否按業(yè)務(wù)維度進(jìn)行業(yè)務(wù)監(jiān)控、故障分析等等。 TMF2.0解決的關(guān)鍵問題面對(duì)這些挑戰(zhàn),TMF2.0框架需要六大關(guān)鍵問題。 業(yè)務(wù)可視化...
... 第三路:故障預(yù)防 在系統(tǒng)復(fù)雜和業(yè)務(wù)需求不斷導(dǎo)致代碼腐化,我們定時(shí)對(duì)整個(gè)系統(tǒng)進(jìn)行重構(gòu),將整個(gè)重構(gòu)方案大家達(dá)成一致;在今年系統(tǒng)的混部環(huán)境對(duì)我們也是一個(gè)挑戰(zhàn),所以我們引入了超時(shí)和重試機(jī)制,特別是做到了運(yùn)行期...
...務(wù)腳本就很難應(yīng)對(duì),容易造成代碼的一鍋粥,系統(tǒng)的腐化速度和復(fù)雜性呈指數(shù)級(jí)上升。 目前比較有效的治理辦法就是領(lǐng)域建模,因?yàn)轭I(lǐng)域模型是面向?qū)ο蟮模诜庋b業(yè)務(wù)邏輯的同時(shí),提升了對(duì)象的內(nèi)聚性和重用性,因?yàn)槭?..
...務(wù)腳本就很難應(yīng)對(duì),容易造成代碼的一鍋粥,系統(tǒng)的腐化速度和復(fù)雜性呈指數(shù)級(jí)上升。 目前比較有效的治理辦法就是領(lǐng)域建模,因?yàn)轭I(lǐng)域模型是面向?qū)ο蟮?,在封裝業(yè)務(wù)邏輯的同時(shí),提升了對(duì)象的內(nèi)聚性和重用性,因?yàn)槭?..
...用代碼一直在運(yùn)行中,會(huì)不斷創(chuàng)建和修改對(duì)象,導(dǎo)致結(jié)果腐化。GC調(diào)優(yōu)通常就是為了改善stop-the-world的時(shí)間。 內(nèi)存的分配方法 指針碰撞 在連續(xù)剩余空間中分配內(nèi)存。用一個(gè)指針指向內(nèi)存已用區(qū)和空閑區(qū)的分界點(diǎn),需要分配新的...
...越來越復(fù)雜以外,根本對(duì)于指導(dǎo)項(xiàng)目如何應(yīng)對(duì)各種代碼腐化毫無用處。 因此我們想到了流行的重構(gòu),然而,如果我們只是重構(gòu)進(jìn)程的關(guān)系,通信的層次,那些錯(cuò)綜復(fù)雜的代碼調(diào)用關(guān)系一樣存在。各種回調(diào)、事件、耦合...
...越來越復(fù)雜以外,根本對(duì)于指導(dǎo)項(xiàng)目如何應(yīng)對(duì)各種代碼腐化毫無用處。 因此我們想到了流行的重構(gòu),然而,如果我們只是重構(gòu)進(jìn)程的關(guān)系,通信的層次,那些錯(cuò)綜復(fù)雜的代碼調(diào)用關(guān)系一樣存在。各種回調(diào)、事件、耦合...
ChatGPT和Sora等AI大模型應(yīng)用,將AI大模型和算力需求的熱度不斷帶上新的臺(tái)階。哪里可以獲得...
大模型的訓(xùn)練用4090是不合適的,但推理(inference/serving)用4090不能說合適,...
圖示為GPU性能排行榜,我們可以看到所有GPU的原始相關(guān)性能圖表。同時(shí)根據(jù)訓(xùn)練、推理能力由高到低做了...