欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

目錄

柚子快報(bào)邀請(qǐng)碼778899分享:湖倉(cāng)一體架構(gòu)理論與實(shí)踐匯總

柚子快報(bào)邀請(qǐng)碼778899分享:湖倉(cāng)一體架構(gòu)理論與實(shí)踐匯總

http://yzkb.51969.com/

湖倉(cāng)一體架構(gòu)理論與實(shí)踐匯總

軟件研發(fā)本質(zhì)上屬于“手工業(yè)”。軟件研發(fā)在很大程度上還是依賴(lài)于個(gè)人的能力。當(dāng)軟件規(guī)模較小時(shí),依賴(lài)“手工業(yè)”可以解決問(wèn)題,但是當(dāng)軟件規(guī)模大了之后再依賴(lài)“手工業(yè)”就不行了。

軟件的復(fù)雜度包含兩個(gè)層面:軟件系統(tǒng)層面的復(fù)雜度和軟件研發(fā)流程層面的復(fù)雜度。

在軟件系統(tǒng)層面上,針對(duì)大型軟件,“when things work,nobody knows why”儼然已經(jīng)是一種常態(tài)。

對(duì)于大型軟件來(lái)講,復(fù)雜才是常態(tài),不復(fù)雜才不正常。

軟件系統(tǒng)很難一開(kāi)始就做出完美的設(shè)計(jì),只能通過(guò)功能模塊的衍生迭代讓軟件系統(tǒng)逐步成型,然后隨著需求的增加再讓功能模塊進(jìn)行衍生迭代,因此本質(zhì)上軟件是一點(diǎn)點(diǎn)生長(zhǎng)出來(lái)的,其間就伴隨著復(fù)雜度的不斷累積。

軟件生長(zhǎng)示意圖

軟件復(fù)雜度的分類(lèi)

最常見(jiàn)的錯(cuò)誤方式是采用DDD(Deadline Driven Development,期限驅(qū)動(dòng)開(kāi)發(fā)),用Deadline來(lái)倒逼研發(fā)團(tuán)隊(duì)交付業(yè)務(wù)功能。但大量的實(shí)踐經(jīng)驗(yàn)告訴我們,軟件研發(fā)就是在需求范圍、軟件質(zhì)量、時(shí)間進(jìn)度這個(gè)三角中尋求平衡的。

軟件研發(fā)的三角平衡

上述做法從表面上看可以更快地取得進(jìn)展,快速摘取成功的果實(shí),但是經(jīng)過(guò)一段時(shí)間之后(一般是6~18個(gè)月),負(fù)面效果就會(huì)凸顯出來(lái),會(huì)顯著降低研發(fā)的速度和質(zhì)量。而且這種負(fù)面效果是滯后的,等問(wèn)題能夠被感知到的時(shí)候,往往已經(jīng)形成一段時(shí)間,軟件架構(gòu)的腐化就是這樣在不知不覺(jué)中形成的。

以上這種急功近利的做法,本質(zhì)上是將長(zhǎng)期利益讓位于短期利益,過(guò)度追求短期交付效率,最終的結(jié)果只能是“欲速則不達(dá)”。

正確戰(zhàn)略方向下的“慢”,遠(yuǎn)遠(yuǎn)好過(guò)錯(cuò)誤方向下的“快”。作為技術(shù)管理者必須學(xué)會(huì)兩者之間的平衡之道,并為此長(zhǎng)期承擔(dān)后果。

軟件工程的發(fā)展

軟件工程 1.0

“軟件工程1.0”,即第一代軟件工程,自然是受建筑工程、水利工程等影響的傳統(tǒng)軟件工程。

傳統(tǒng)軟件工程主要是向土木工程和工業(yè)工程學(xué)習(xí),吸收其百年實(shí)踐積累下來(lái)的方法和經(jīng)驗(yàn),以及沉淀下來(lái)的思想。

軟件工程1.0體現(xiàn)了以下特征:

(1)產(chǎn)品化:只是交付符合質(zhì)量標(biāo)準(zhǔn)的組件、構(gòu)件和系統(tǒng),沒(méi)有認(rèn)識(shí)到軟件的柔性和數(shù)字化特性,把軟件當(dāng)作傳統(tǒng)工業(yè)的產(chǎn)品,由此產(chǎn)生“軟件工廠”這樣的思想。

(2)結(jié)構(gòu)化:受傳統(tǒng)建筑工程的影響,重視框架和結(jié)構(gòu)的設(shè)計(jì),表現(xiàn)為以架構(gòu)設(shè)計(jì)為中心進(jìn)行結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計(jì)、結(jié)構(gòu)化編程等。

(3)過(guò)程決定結(jié)果:流程質(zhì)量決定產(chǎn)品質(zhì)量,一環(huán)扣一環(huán),相信良好的過(guò)程產(chǎn)生良好的產(chǎn)品,關(guān)注過(guò)程勝過(guò)關(guān)注人,非常關(guān)注過(guò)程評(píng)估和過(guò)程改進(jìn),CMMI (Capability Maturity Model Integration,能力成熟度模型集成)就是其典型代表。

(4)重視質(zhì)量管理:引入傳統(tǒng)的質(zhì)量管理體系,包括以顧客為中心的全面質(zhì)量管理和缺陷預(yù)防。

(5)階段性明確:需求評(píng)審?fù)ㄟ^(guò)才能開(kāi)始設(shè)計(jì);設(shè)計(jì)評(píng)審?fù)ㄟ^(guò)才能開(kāi)始實(shí)施(編程),編程結(jié)束再進(jìn)行測(cè)試等,瀑布模型是其典型代表模型。

(6)責(zé)任明確:角色定義清晰,分工細(xì)致。

(7)文檔規(guī)范化:強(qiáng)調(diào)規(guī)范的文檔,定義了大量的文檔模板。

(8)計(jì)劃性強(qiáng):具有完整的計(jì)劃并嚴(yán)格控制變更。

(9)注重項(xiàng)目管理:圍繞項(xiàng)目開(kāi)展管理工作,包括風(fēng)險(xiǎn)預(yù)防、里程碑控制、關(guān)鍵路徑法等。

軟件工程 2.0

受互聯(lián)網(wǎng)、開(kāi)源軟件運(yùn)動(dòng)、敏捷/DevOps 開(kāi)發(fā)模式的影響,最終形成的建立在SaaS (Software as a Service,軟件即服務(wù))、云之上的軟件工程定義為“軟件工程2.0”。

開(kāi)源軟件運(yùn)動(dòng)讓我們首先認(rèn)識(shí)到:

“軟件過(guò)程”和“軟件管理”并非非常重要,至少不是第一要素,因?yàn)榈谝灰剡€是人;

其次是軟件架構(gòu),簡(jiǎn)單且能解耦,如采用SOA(Service-Oriented Architecture,面向服務(wù)的架構(gòu))、微服務(wù)架構(gòu)來(lái)解耦,更具可擴(kuò)展性;

再者是代碼的可讀性、可測(cè)試性,使代碼具有可維護(hù)性,而流程和管理雖然具有價(jià)值,但作用不大。

互聯(lián)網(wǎng)的普及、開(kāi)源軟件運(yùn)動(dòng)以及市場(chǎng)的變化(更激烈的市場(chǎng)競(jìng)爭(zhēng)、客戶(hù)希望的按時(shí)高質(zhì)量產(chǎn)品、靈活性、及時(shí)修改滿(mǎn)足新需求等)以及加上軟件本身是一種知識(shí)性產(chǎn)品,所有這些都引導(dǎo)人們對(duì)軟件工程進(jìn)行新的思考并不斷認(rèn)識(shí)軟件工程,從而在2001年17位軟件開(kāi)發(fā)輕量型流派掌門(mén)人聯(lián)合簽署了《敏捷軟件開(kāi)發(fā)宣言》。

之后逐漸形成了敏捷/DevOps 開(kāi)發(fā)模式、精益軟件開(kāi)發(fā)模式等,即軟件工程進(jìn)入2.0時(shí)代。軟件工程2.0的特征可以簡(jiǎn)單概括為下列幾點(diǎn):

(1)SaaS:軟件更多的是以一種服務(wù)存在。

(2)強(qiáng)調(diào)價(jià)值交付:只做對(duì)用戶(hù)有價(jià)值的事情,加速價(jià)值流的流動(dòng)。

(3)以人為本:個(gè)體與協(xié)作勝于流程和工具,充分發(fā)揮個(gè)人和團(tuán)隊(duì)的創(chuàng)造性與潛力;擁抱變化,敏捷開(kāi)發(fā)或輕量級(jí)過(guò)程,加速迭代,以不變應(yīng)萬(wàn)變。

(4)自我管理的團(tuán)隊(duì):像一家初創(chuàng)公司一樣運(yùn)營(yíng),具有主動(dòng)性并能夠承擔(dān)風(fēng)險(xiǎn),具有自治能力,能自主建立目標(biāo)和制訂計(jì)劃,不斷反思,持續(xù)改進(jìn)。

(5)持續(xù)性:階段性不明確,持續(xù)構(gòu)建、持續(xù)集成、持續(xù)測(cè)試、持續(xù)交付,以時(shí)間換空間,消除市場(chǎng)風(fēng)險(xiǎn)。

(6)開(kāi)發(fā)、測(cè)試和運(yùn)維的融合:強(qiáng)調(diào)測(cè)試與開(kāi)發(fā)融合,開(kāi)發(fā)與運(yùn)維融合,推崇全棧工程師等。

(7)真正把用戶(hù)放在第一位:用戶(hù)、產(chǎn)品經(jīng)理盡可能參與團(tuán)隊(duì)開(kāi)發(fā)過(guò)程,注重用戶(hù)體驗(yàn),千人千面。

(8)知識(shí)管理:將軟件工程納入知識(shí)管理的范疇,強(qiáng)調(diào)將項(xiàng)目的計(jì)劃、估算等工作授權(quán)給從事具體工作的開(kāi)發(fā)人員,如任務(wù)安排不再由管理者下達(dá)任務(wù),而由開(kāi)發(fā)人員自主選擇適合自己的任務(wù)。

(9)更有樂(lè)趣:“史詩(shī)故事”、用戶(hù)故事、站會(huì)等讓軟件開(kāi)發(fā)工作更有趣、更健康。

軟件工程3.0

隨著將GPT-4+(指GPT-4及其未來(lái)升級(jí)的版本)融入軟件開(kāi)發(fā)生命周期中,開(kāi)發(fā)人員的使命將會(huì)發(fā)生變化,因?yàn)镚PT-4+重新定義了開(kāi)發(fā)人員構(gòu)建、維護(hù)和改進(jìn)軟件應(yīng)用程序的方式。

之后的軟件開(kāi)發(fā)會(huì)依賴(lài)這種全新的語(yǔ)言交流方式(類(lèi)似于ChatGPT),讓這類(lèi)工具理解開(kāi)發(fā)人員交代的任務(wù),自主完成軟件開(kāi)發(fā),如理解需求、自動(dòng)生成UI、自動(dòng)生成產(chǎn)品代碼、自動(dòng)生成測(cè)試腳本等。

此后,開(kāi)發(fā)團(tuán)隊(duì)的主要任務(wù)不再是寫(xiě)代碼、執(zhí)行測(cè)試,而是訓(xùn)練模型、參數(shù)調(diào)優(yōu)、圍繞業(yè)務(wù)主題提問(wèn)或給出提示。

因此,我們說(shuō)GPT-4將開(kāi)啟“軟件工程3.0”新時(shí)代,2023年是軟件工程3.0的元年,軟件工程3個(gè)時(shí)代的劃分如下圖:

軟件工程3個(gè)時(shí)代的劃分

GPT-4+ 在 軟件工程上的能力:

1、軟件需求獲取、分析與定義

2、軟件設(shè)計(jì)與體系結(jié)構(gòu)(提供建議、識(shí)別設(shè)計(jì)模式、分析和優(yōu)化軟件體系結(jié)構(gòu),以及分享最佳實(shí)踐和框架方面的知識(shí),為軟件開(kāi)發(fā)人員提供有價(jià)值的幫助等)

3、代碼生成和優(yōu)化(如代碼生成、代碼補(bǔ)全、代碼評(píng)審、代碼優(yōu)化等工作)

4、測(cè)試用例和測(cè)試代碼等生成

5、錯(cuò)誤檢測(cè)和解決

6、協(xié)作和知識(shí)共享(如在團(tuán)隊(duì)討論、頭腦風(fēng)暴會(huì)議、代碼審查時(shí)提供實(shí)時(shí)幫助,形成會(huì)議紀(jì)要、總結(jié),理清邏輯和發(fā)現(xiàn)問(wèn)題,并提供有價(jià)值的見(jiàn)解等)

GPT-4+支持更智能、更高效和協(xié)作的開(kāi)發(fā)方法,給軟件工程領(lǐng)域帶來(lái)了革命性的變化。軟件開(kāi)發(fā)的新范式是模型驅(qū)動(dòng)開(kāi)發(fā)、模型驅(qū)動(dòng)運(yùn)維,在 DevOps 兩環(huán)前面,加一個(gè)環(huán)形成三環(huán)聯(lián)動(dòng),如下圖所示:

軟件工程3.0開(kāi)發(fā)范式示意圖

其中機(jī)器學(xué)習(xí)(Machine Learning,ML)中的要素有模型(Model)、數(shù)據(jù)(Data),而研發(fā)經(jīng)過(guò)計(jì)劃(Plan)、創(chuàng)建(Create)、驗(yàn)證(Verify)、打包(Package)、發(fā)布(Release)等環(huán)節(jié)進(jìn)入運(yùn)維,運(yùn)維有兩個(gè)關(guān)鍵環(huán)節(jié):配置(Configure)和監(jiān)控(Monitor)。

由此我們可以看到,在軟件工程3.0時(shí)代,軟件即模型(Software as a Model,SaaM),這個(gè)模型不同于過(guò)去軟件工程1.0或軟件工程2.0時(shí)代所談到的抽象模型[(如UML中的模型、OMG(Object Management Group,對(duì)象管理組織)]所提的模型驅(qū)動(dòng)架構(gòu)(Model Driven Architecture,MDA)中的模型,

而是深度神經(jīng)網(wǎng)絡(luò)模型、大型語(yǔ)言模型(Large Language Model,LLM)或其他人工通用智能(Artificial General Intelligence,AGI)模型,可以直接給人類(lèi)提供服務(wù)的模型。

在基于MaaS的軟件工程3.0時(shí)代,軟件以這類(lèi)AI大模型的形態(tài)為用戶(hù)提供各種各樣的服務(wù),而且未來(lái)會(huì)成為一種常態(tài)。

框架與時(shí)代的演變

VUCA 時(shí)代

VUCA(中文發(fā)音一般為“烏卡”)的含義如下:

● V:Volatility,易變性。

● U:Uncertainty,不確定性。

● C:Complexity,復(fù)雜性。

● A:Ambiguity,模糊性。

VUCA 時(shí)代信息無(wú)時(shí)無(wú)刻不在發(fā)生變化,用戶(hù)的需求也無(wú)時(shí)無(wú)刻不在發(fā)生變化,甚至用戶(hù)自己也不知道想要什么。

MVP(最小可行產(chǎn)品)

21世紀(jì)初,產(chǎn)品創(chuàng)新領(lǐng)域提出了MVP(Minimum Viable Product,最小可行產(chǎn)品)來(lái)面對(duì)VUCA時(shí)代,其中的思想源頭是人們思維方式的迭代。

演繹、歸納和假設(shè)-演繹邏輯

而MVP就是產(chǎn)品人對(duì)“假設(shè)-演繹”方法論的應(yīng)用。通過(guò)MVP方法不斷完善產(chǎn)品,這是一個(gè)螺旋上升的過(guò)程,每一次產(chǎn)出既是目的,也是手段。作為目的,創(chuàng)造了用戶(hù)價(jià)值,滿(mǎn)足了用戶(hù)需求;作為手段,讓我們獲得反饋,知道下一次迭代應(yīng)該做什么。這樣,我們就把做產(chǎn)品從一次研發(fā)的“有限游戲”變成不斷螺旋上升的“無(wú)限游戲”。

M2V6P 框架

在MVP的基礎(chǔ)上,筆者擴(kuò)展出了自己的M2V6P方法論框架,主要原因是覺(jué)得一開(kāi)始就做產(chǎn)品還不夠“低成本”,其實(shí)可以更靈活。

M是Minimum,最小化的意思,意味著每一步都要盡量少地投入。

2V是Viable(可行性)和Valuable(有價(jià)值),這里加了一個(gè)V,是因?yàn)楫a(chǎn)品創(chuàng)新要面臨兩大風(fēng)險(xiǎn),這里用Viable表示要對(duì)抗技術(shù)風(fēng)險(xiǎn),用Valuable表示要對(duì)抗市場(chǎng)風(fēng)險(xiǎn)。

6P的含義:

第一個(gè)P是Paperwork,案頭研究,重點(diǎn)考查問(wèn)題是否存在,是否值得解決。

第二個(gè)P是Prototype,原型樣機(jī),重點(diǎn)考查是否有解決方案。

第三個(gè)P是Product,產(chǎn)品本身,要看解決方案能不能產(chǎn)品化。

第四個(gè)P是Promotion,營(yíng)銷(xiāo)推廣,考慮的是如何把數(shù)量做大。

第五個(gè) P 是 Portfolio,產(chǎn)品組合,是在單一產(chǎn)品的基礎(chǔ)上,要推出更多相關(guān)的成功產(chǎn)品。

第六個(gè)P是People,人才,考慮的是更長(zhǎng)周期,即當(dāng)行業(yè)興衰不可避免時(shí),組織如何永續(xù)。

其中,前兩個(gè)P(Paperwork+Prototype)對(duì)應(yīng)前產(chǎn)品階段。

中間兩個(gè)P(Product+Promotion)對(duì)應(yīng)單一產(chǎn)品階段。

最后兩個(gè)P(Portfolio+People)對(duì)應(yīng)產(chǎn)品矩陣階段。

某公司數(shù)據(jù)湖倉(cāng)一體化實(shí)踐

某公司大數(shù)據(jù)技術(shù)的歷史狀況

某公司的中臺(tái)產(chǎn)品-數(shù)字云的架構(gòu)是基于Hadoop生態(tài)體系構(gòu)建而成的,在存儲(chǔ)方面使用了分布式文件系統(tǒng)HDFS(Hadoop Distributed File System),首先利用自研的數(shù)據(jù)同步工具Data-in 定時(shí)同步業(yè)務(wù)系統(tǒng)的數(shù)據(jù)到數(shù)據(jù)中臺(tái),然后利用不同的數(shù)據(jù)處理引擎分別進(jìn)行離線和實(shí)時(shí)計(jì)算的加工。

離線數(shù)倉(cāng)(數(shù)倉(cāng)為數(shù)據(jù)倉(cāng)庫(kù)的簡(jiǎn)稱(chēng))的加工采用Hive 作為離線數(shù)倉(cāng)工具,以Tez 為數(shù)據(jù)計(jì)算引擎的架構(gòu)方案,每天定時(shí)對(duì)數(shù)據(jù)進(jìn)行加工和處理并給到業(yè)務(wù)方。

離線數(shù)倉(cāng)的數(shù)據(jù)采集、計(jì)算任務(wù)的調(diào)度周期大多數(shù)都以天為顆粒度。為了能夠在第二天上班前計(jì)算好報(bào)表數(shù)據(jù),數(shù)據(jù)采集任務(wù)都集中設(shè)置在凌晨執(zhí)行,因此凌晨成為資源消耗的高峰期。

針對(duì)需要實(shí)時(shí)處理的場(chǎng)景,需要再投入大量資源建設(shè)一個(gè)實(shí)時(shí)數(shù)倉(cāng);

由于離線與實(shí)時(shí)使用的技術(shù)棧不統(tǒng)一,因此系統(tǒng)需要投入更多的資源來(lái)維護(hù)。

這樣的弊端有:

1、每天數(shù)據(jù)全量同步給數(shù)據(jù)庫(kù),給數(shù)據(jù)庫(kù)造成巨大壓力,也增加了業(yè)務(wù)系統(tǒng)的不穩(wěn)定因素,給集群的存儲(chǔ)帶來(lái)較大壓力成本

2、集群的資源利用率不均,凌晨高峰期緊張,白天資源大部分處于限制狀態(tài)。

離線數(shù)倉(cāng)架構(gòu)

數(shù)字云在實(shí)時(shí)數(shù)倉(cāng)上采用的是 Lambda 架構(gòu),設(shè)計(jì)之初是為了在處理大規(guī)模的數(shù)據(jù)時(shí),同時(shí)發(fā)揮流處理和批處理的優(yōu)勢(shì)。

通過(guò)批處理提供全面、準(zhǔn)確的數(shù)據(jù);

柚子快報(bào)邀請(qǐng)碼778899分享:湖倉(cāng)一體架構(gòu)理論與實(shí)踐匯總

http://yzkb.51969.com/

相關(guān)閱讀

評(píng)論可見(jiàn),查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://m.gantiao.com.cn/post/18933153.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問(wèn)

文章目錄