欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
從系統整體觀(guān)思考系統構建
?

技藝精進(jìn)之路,永無(wú)止境。

?

引子

很多時(shí)候,程序員做的都是代碼堆砌的事情。就是一點(diǎn)一點(diǎn)壘代碼堆功能,缺乏一種清晰的系統整體觀(guān)和設計觀(guān)。

如何建立系統整體觀(guān)呢?

  • 建立系統的架構主頁(yè),包括系統的背景、產(chǎn)品和研發(fā)目標、系統全景圖(技術(shù)設施、業(yè)務(wù)底座、核心業(yè)務(wù)能力、系統模塊及交互、產(chǎn)品上層)、核心主體流程、重要設計決策集、技術(shù)棧及技術(shù)選型、系統部署圖;

  • 建立系統詞匯表;

  • 建立系統的領(lǐng)域模型;

  • 建立并加固系統的存儲設計;

  • 從模塊級別思考系統,思考構成系統的模塊、關(guān)聯(lián)關(guān)系及交互;

  • 思考模塊與系統的技術(shù)重難點(diǎn)(復雜或易錯的業(yè)務(wù)邏輯、海量數據處理、性能、穩定性、可擴展性、可伸縮、可用性);

  • 清晰表達系統重要模塊與功能的設計實(shí)現方案;

  • 梳理系統構建的開(kāi)發(fā)套路和構建方式。

系統領(lǐng)域模型

系統詞匯表

構建系統的詞匯表和名詞解釋?zhuān)陂_(kāi)發(fā)、產(chǎn)品、測試、業(yè)務(wù)人員、客戶(hù)之間進(jìn)行順暢的交流。

詞匯表和名詞解釋要求:

  • 用語(yǔ)嚴謹貼切;
  • 解釋通俗易懂,有好的示例輔助理解。

整理系統詞匯表有兩個(gè)好處:

  • 學(xué)習和整理業(yè)務(wù)知識,加深對業(yè)務(wù)的理解;
  • 作為各種業(yè)務(wù)與技術(shù)文檔的鏈接入口。

例如:入侵檢測詞匯表(節選)

詞匯字段名語(yǔ)義鏈接
「入侵檢測」

IDS-名詞解釋
告警Detection一個(gè)通過(guò)規則判定為入侵的可疑或惡意行為。這個(gè)告警可以被手動(dòng)或自動(dòng)處置與響應。每個(gè)detection 都有 score,來(lái)表達告警的危險程度。每個(gè) detection 都與一個(gè)或多個(gè)元素關(guān)聯(lián)。
元素Element1.  產(chǎn)生惡意行為的可疑或惡意對象,包括進(jìn)程、文件(腳本、webfile、配置文件、可執行二進(jìn)制文件、模塊、動(dòng)態(tài)庫等)、進(jìn)程樹(shù)、IP、域名、socket、賬戶(hù)、內存類(lèi)、進(jìn)程段、動(dòng)態(tài)加載模塊等。
2.  被施加惡意行為的載體對象,包括主機、容器、集群。
Agent 虛表定義
規則Rule算法、正則、序列等廣義的入侵行為檢測方式。
規則庫Rule Repository以一定分類(lèi)方式規定和組織起來(lái)的規則集合。IDS-檢測方式與檢測規則庫對應關(guān)系
評分Score告警的危險程度的量化。告警的 score 主要由規則決定。同時(shí)也受多種因素影響,比如「攻擊特征」(有強有弱),該「行為的異常情況」(和上下文及統計與算法模型相關(guān)),「影響結果」(大量網(wǎng)絡(luò )傳輸,文件被破壞,策略/文件被修改,賬號新增,異常登陸等等),「告警特異性」(獨特的還是大量雷同的)等。告警置信度自動(dòng)化評估
檢測引擎DetectEngine檢測入侵行為的技術(shù)手段和工具。檢測引擎通常會(huì )引用規則。
主要區分區分行為引擎和特征引擎。涉及碼和規則的往往是特征引擎。
關(guān)于告警詳情中檢測方式的文案【持續增加】




領(lǐng)域模型

軟件系統如何與業(yè)務(wù)對接呢?領(lǐng)域模型作為橋梁。初步閱讀《領(lǐng)域驅動(dòng)設計》,有一個(gè)感觸是:在設計軟件時(shí),在技術(shù)手段之上要有一個(gè)不斷演進(jìn)的領(lǐng)域模型用于高層設計引導,才能使軟件能持久貼切地反映領(lǐng)域需求實(shí)現。不是所有系統都適合領(lǐng)域驅動(dòng)設計,但是運用領(lǐng)域驅動(dòng)思想去思考業(yè)務(wù),總是有益的。

繪制系統的領(lǐng)域模型,凸顯系統中各種基本實(shí)體及關(guān)聯(lián)關(guān)系。

畫(huà)圖,畫(huà)圖,畫(huà)圖!一圖勝千言,畫(huà)圖見(jiàn)真功夫。


數據交換格式

制定通用的數據交換格式,使得數據可以在系統之間流暢地流動(dòng)。

從模塊級別思考系統

模塊若干問(wèn)

  1. 這個(gè)模塊有哪些基本術(shù)語(yǔ)和名詞解釋?zhuān)績(jì)群屯庋?,概念之間的關(guān)聯(lián)關(guān)系,能不能給自己(和別人)解釋清楚?

  2. 這個(gè)模塊的設計和實(shí)現有哪些技術(shù)難點(diǎn)?解決方案是什么?

  3. 這個(gè)模塊有木有通用機制?能不能提煉出來(lái),做成可復用可擴展的?

  4. 有沒(méi)有清晰的文檔,能夠闡明這個(gè)模塊的設計思想?能不能讓別人容易地理解?

  5. 能不能讓別人相對容易地在這個(gè)基礎上添加新功能?如何添加新功能?

  6. 各個(gè)模塊之間的關(guān)聯(lián)和交互?對于所構建的模塊和系統是否有一個(gè)比較清晰的整體圖景?能不能畫(huà)出來(lái)?

  7. 各個(gè)模塊的代碼是否良好地組織,并放置在合適的包下?

  8. 做出技術(shù)決策的原則、準則和依據是什么?是怎么思考這個(gè)問(wèn)題的?


入侵系統服務(wù)端模塊

「檢測配置模塊」

提供用戶(hù)自定義的檢測、阻斷行為定制和自定義檢測、阻斷、響應規則。

技術(shù)重難點(diǎn):多個(gè)自定義配置的疊加覆蓋邏輯;檢測配置的變更下發(fā)。

「規則管理模塊」

提供規則的新建、導入、下發(fā)能力。

技術(shù)重難點(diǎn):規則的分類(lèi)、組織和管理;全量規則與增量規則下發(fā);短時(shí)間大量 agent 獲取全量規則的性能和穩定性問(wèn)題。

「檢測模塊」

構建具體的安全事件的檢測流程、生成檢測結果和告警。

技術(shù)重難點(diǎn):通用、可擴展的檢測流程;復雜的檢測流程構建;檢測流程的性能與穩定性。

「告警列表詳情模塊」

展示生成的告警及詳情,供客戶(hù)及時(shí)處理告警。

技術(shù)重難點(diǎn):告警存儲設計;告警列表、聚合與統計;接口性能問(wèn)題。

「告警降噪模塊」

對告警進(jìn)行降噪、評分。

技術(shù)重難點(diǎn):降噪、評分算法。

「威脅情報模塊」

對上報的海量新事件及各種來(lái)源的安全事件進(jìn)行威脅情報檢測。

技術(shù)重難點(diǎn):海量事件;大量情報的存儲與匹配;性能與穩定性。

「掃描驗證模塊」

批量進(jìn)行掃描和驗證。

技術(shù)重難點(diǎn):掃描驗證任務(wù)下發(fā);批量上報處理。

「白名單模塊」

標識正常業(yè)務(wù)行為,避免無(wú)用告警。

技術(shù)重難點(diǎn):白名單規則的表達式與匹配及通用可擴展性;對歷史告警加白的性能問(wèn)題。

「響應模塊」

對告警元素進(jìn)行響應操作。

技術(shù)重難點(diǎn):與驅動(dòng)、客戶(hù)端、前端的交互。

技術(shù)與表達

技術(shù)設施

技術(shù)設施主要包括技術(shù)棧和技術(shù)選型。

  • 技術(shù)選型依據:業(yè)界主流(Spring, Kafka, Redis, MySQL, Mongo) + 業(yè)務(wù)體量 + 通用性。
  • 是否要采用阿里/百度/騰訊/美團等開(kāi)源組件?選擇 Spring 還是 Dubbo ?我覺(jué)得這個(gè)不能憑偏好,而是要看業(yè)務(wù)體量和通用性。如果吃的飯沒(méi)有阿里那么大,何必造那么大的鍋呢?中小公司的技術(shù)選型應該更多適配自己的業(yè)務(wù)體量,盡可能考慮通用性,而不是偏執地向某個(gè)大廠(chǎng)的技術(shù)??繑n。
  • 技術(shù)選型,通常采用表格法。列是要對比的多種技術(shù),行是技術(shù)所具備的特性。仔細研究自己業(yè)務(wù)所需的特性,再作出選擇。
  • 技術(shù)選型的主要依據有:需求滿(mǎn)足度、成熟度、使用場(chǎng)景和主流應用、性能、穩定性、可擴展性(支持自定義)、控制靈活度、開(kāi)源及協(xié)議、安全性、學(xué)習成本、開(kāi)發(fā)效率、團隊招聘、技術(shù)棧一致性與集成、社區活躍度與技術(shù)支持等。具體技術(shù)組件還需要根據其功用來(lái)確定。

清晰表達設計方案

還是有很多程序員不習慣于寫(xiě)文檔,覺(jué)得寫(xiě)代碼才是正事。在我看來(lái),代碼和文檔都是一回事,都是表達見(jiàn)解的載體形式。程序員的工作究竟是什么呢?寫(xiě)代碼?不完全是,—— 實(shí)質(zhì)是思考和表達見(jiàn)解,解決問(wèn)題。

文檔有一些額外的好處:

  • 文檔的受眾面更廣,面向主管、測試、產(chǎn)品、運維、前場(chǎng)、客戶(hù)等很多群體;而代碼只是面向機器和程序員;文檔能讓你的影響力擴散到更遠的地方。
  • 寫(xiě)文檔能夠鍛煉表達能力,讓思路更加清晰明亮。

可閱:“一個(gè)靠譜的技術(shù)方案文檔是怎樣的”。

系統開(kāi)發(fā)套路

系統開(kāi)發(fā)套路是開(kāi)發(fā)經(jīng)驗的總結。適當提煉和總結系統開(kāi)發(fā)套路,能夠加速后續的開(kāi)發(fā)進(jìn)度,也能讓新加入的成員更快地上手開(kāi)發(fā),更好地完成工作。

開(kāi)發(fā)套路包括完成某類(lèi)功能或擴展能力,需要如何添加代碼?;陂_(kāi)閉原則和接口編程的思想,系統的擴展性可以通過(guò)定義和實(shí)現各種接口來(lái)實(shí)現。其次是添加 if-else 分支。

類(lèi)似這樣:


小結

程序員往往容易沉溺于功能開(kāi)發(fā)中。一個(gè)接一個(gè)的功能開(kāi)發(fā),無(wú)休止重復 CRUD 的工作。這其實(shí)是一種麻醉。簡(jiǎn)單重復的工作,并不利于能力的提升。建立系統整體觀(guān),運用架構的思維,從系統整體和模塊角度去思考系統構建,能夠讓程序員看得更遠,進(jìn)階速度更快。 

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
人工智能真的可以取代同傳翻譯嗎?
Siri技術(shù)解析
一文讀懂“容錯”與“冗余”技術(shù)
美國工程院院士David Harel:經(jīng)典建模與AI的聯(lián)姻,如何攻破機器學(xué)習的可解釋性?
EasyPR--中文開(kāi)源車(chē)牌識別系統簡(jiǎn)介及開(kāi)發(fā)詳解
基于Unity3D的起重機結構組成 與檢測技術(shù)教學(xué)系統研究
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久