軟考(軟件設計師)軟件工程-成本評估模型,軟件能力成熟度,軟件配置管理

成本評估模型

Putnam

下面通過一個具體案例,逐步說明Putnam模型的計算過程。我們將開發一個銀行核心交易系統,規模為80萬行代碼(LOC),要求24個月內交付。


參數符號說明
軟件規模L800,000 LOC通過功能點轉換獲得
開發時間td24個月 (2年)客戶合同要求
技術常數Ck9,000良好開發環境(自動化測試+CI/CD)
峰值人力m015人團隊擴展上限

🧮 計算步驟與圖表說明

步驟1: 計算總工作量(K)

使用Putnam核心公式:
K=L3Ck3?td4K = \frac{L^3}{C_k^3 \cdot t_d^4}K=Ck3??td4?L3?

計算過程

  1. L3 = 800,0003 = 5.12 × 101?
  2. Ck3 = 9,0003 = 7.29 × 1011
  3. td? = 2? = 16
  4. 分母 = 7.29e11 × 16 = 1.1664 × 1013
  5. K = 5.12e17 / 1.1664e13 ≈ 43.9人年

💡 關鍵發現:若壓縮工期至18個月(1.5年),工作量將激增:
Knew=(800,000)3(9,000)3×(1.5)4=111.2?人年K_{new} = \frac{(800,000)^3}{(9,000)^3 \times (1.5)^4} = 111.2\ 人年Knew?=(9,000)3×(1.5)4(800,000)3?=111.2?人年
工期縮短25%,工作量增加153%!


步驟2: 人力資源分布(Rayleigh曲線)

人力投入隨時間的分布公式:
m(t)=Ktd2?t?e?t2/(2td2)m(t) = \frac{K}{t_d^2} \cdot t \cdot e^{-t^2/(2t_d^2)}m(t)=td2?K??t?e?t2/(2td2?)
關鍵時間點計算(t以年為單位):

時間點計算過程人力需求
t=0.5年m(0.5)= (43.9/4)×0.5×e??·12? ≈ 11×0.5×0.8825人
t=1年m(1)= (10.975)×1×e??·? ≈ 10.975×0.6066.6人
t=1.33年?(峰值)m(1.33)=10.975×1.33×e??·?? ≈14.6×0.41515人
t=1.5年m(1.5)=10.975×1.5×e?1·12? ≈16.46×0.3255.3人
t=2年m(2)=10.975×2×e?2 ≈21.95×0.1353人

?? 管理預警:第16個月需達到15人峰值,但招聘周期需3個月,因此第13個月必須啟動擴編。


步驟3: 分階段工作量分配
20%50%25%5%階段工作量分布(人年)需求與設計編碼實現測試驗證部署運維

計算邏輯

  1. 總工作量K=43.9人年
  2. 按Rayleigh曲線積分:
    • 需求設計階段(0-0.5年):∫m(t)dt ≈ 8.78人年
    • 編碼階段(0.5-1.5年):∫m(t)dt ≈ 21.95人年
    • 測試階段(1.5-1.8年):∫m(t)dt ≈ 10.97人年
    • 部署階段(1.8-2年):∫m(t)dt ≈ 2.2人年

步驟4: 成本預算分解
單價$15萬/人年
占人力30%
占人力25%
總工作量43.9人年
人力成本
設備成本
管理成本
$658.5萬
$197.5萬
$164.6萬
總預算$1020.6萬

成本敏感點

  1. 工期壓縮代價:若客戶要求提前至20個月交付:
壓縮至20月
原工期24月
工作量增至68人年
人力成本+55%
總預算增至$1380萬
  1. 技術常數提升:引入AI輔助編碼(Ck→12,000):
    Knew=(800,000)3(12,000)3×24=20.7?人年,節省成本:K_{new} = \frac{(800,000)^3}{(12,000)^3 \times 2^4} = 20.7\ 人年 ,節省成本:Knew?=(12,000)3×24(800,000)3?=20.7?人年,節省成本: (43.9-20.7)×15萬 = $348萬

💡 決策建議(基于模型輸出)

  1. 工期談判:爭取延長至27個月,可減少32%工作量

  2. 技術投資:投入$50萬提升C_k值,可節省$298萬成本

  3. 最終方案:接受24個月工期,采用Ck提升方案,總預算控制在$720萬(原估算的70%),成功概率達85%。

    通過此案例可見,Putnam模型不僅提供量化估算,更揭示了工期、技術、人力之間的深層制約關系,為關鍵決策提供數學依據。


COCOMO

COCOMO(COnstructive COst MOdel,構建式成本模型)系列模型是由巴里·玻姆 (Barry Boehm) 教授開發的一套軟件成本估算模型。這些模型基于大量的歷史項目數據,旨在提供軟件開發項目所需工作量、時間和成本的預測。COCOMO模型因其系統性和數據驅動的特點,在軟件工程領域得到了廣泛的應用。


2. 估算階段和公式

COCOMO 81 提供了三個不同層次的估算模型,精度逐漸提高:

  • 基本 COCOMO (Basic COCOMO)

    • 特點: 用于快速、粗略的估算。它只考慮項目的規模作為主要參數,通常以千行代碼 (KLoC) 來衡量。

    • 公式:

      • 工作量 (Effort, E): E=a×(KLoC)bE=a×(KLoC)^bE=a×(KLoC)b (單位:人月 - Person-Months, PM)

      • 開發時間 (Development Time, Tdev): Tdev?=c×(E)dT_{dev}?=c×(E)^dTdev??=c×(E)d(單位:月)

      • 平均人員 (Average Staffing, S): S=E/Tdev?S=E/T_{dev}?S=E/Tdev?? (單位:人)

    • 其中,a,b,c,d 是根據項目類型(有機型、半獨立型、嵌入型)確定的常數。

    • 局限性: 精度較低,因為它沒有考慮除了規模之外的其他影響項目成本的因素。

  • 中級 COCOMO (Intermediate COCOMO)

    • 特點: 在基本模型的基礎上,增加了對 15 個成本驅動因子 (Cost Drivers) 的考慮。這些因子用于調整基本估算,使其更準確。每個成本驅動因子都有一個從“極低”到“極高”的六級評分,對應一個工作量調整乘數 (Effort Multiplier, EM)
    • 公式: E=ai?×(KLoC)bi?×EAFE=a_i?×(KLoC)^{b_i}?×EAFE=ai??×(KLoC)bi??×EAF
      • 工作量調整因子 (Effort Adjustment Factor, EAF): 所有 15 個成本驅動因子的乘積
    • 優點: 提高了估算的準確性,考慮了更多實際項目中的影響因素。
  • 詳細 COCOMO (Detailed COCOMO)

    • 特點: 在中級模型的基礎上,進一步細化了估算過程,將軟件生命周期分解為不同的階段(例如:計劃與需求、系統設計、詳細設計、模塊編碼與測試、集成與測試)。每個階段都可以應用不同的成本驅動因子和工作量乘數。

    • 優點: 適用于大型復雜項目,能提供更精細的階段性估算,有助于項目經理進行更詳細的規劃和控制。

    • 復雜性: 計算過程更為復雜,需要更詳細的項目信息。


COCOMO II:適應現代開發實踐

COCOMO 81 雖然經典,但隨著軟件開發實踐的演變(如面向對象、組件化開發、快速原型、敏捷方法等),它在某些方面顯得不足。因此,Barry Boehm 及其團隊在 20 世紀 90 年代末推出了 COCOMO II。COCOMO II 旨在更好地適應現代軟件開發的需求和技術。

1. 核心變化與特點
  • 新的規模度量方式: 除了 KLoC,COCOMO II 還引入了對象點 (Object Points)功能點 (Function Points) 作為早期的規模度量。
2. COCOMO II 的三個階段模型
  • 2.1 應用構成模型 (Application Composition Model)
    • 適用階段: 軟件開發的早期探索階段或原型開發階段,此時需求可能還不完全明確,更關注用戶界面和快速構建。
  • 2.2 早期設計模型 (Early Design Model)
    • 適用階段:系統架構和早期設計階段,此時已經對系統的高層結構和主要功能有了一些了解,但詳細設計尚未開始。
  • 2.3 后架構模型 (Post-Architecture Model)
    • 適用階段:詳細設計和構建階段,此時軟件的架構已經確定,且對系統有深入的理解。

軟件能力成熟度

CMM

🔍 一、CMM的起源與定位

誕生背景
  • 1986年:美國國防部委托卡內基梅隆大學軟件工程研究所(SEI)開發
  • 核心目標:解決軍工軟件項目普遍存在的 “預算超支+進度延誤+質量失控” 問題
  • 奠基人:Watts Humphrey(IBM質量之父,被譽為CMM架構師)

?? 二、核心框架:5級成熟度模型

等級名稱核心特征關鍵過程域(KPA)
Level 1初始級過程無序,依賴英雄主義
Level 2可重復級項目管理基本可控需求管理、項目計劃、配置管理、質量保證
Level 3已定義級組織級標準化流程組織過程焦點、培訓、集成軟件管理
Level 4定量管理級數據驅動過程優化定量過程管理、軟件質量管理
Level 5|優化級持續改進與技術創新缺陷預防、技術變更管理、過程變更管理

🔧 三、關鍵過程域(KPA)深度剖析

Level 2 可重復級:4個KPA
  1. 需求管理(RM)

    • 目標:控制需求蔓延
    • 實踐:需求追蹤矩陣(RTM)
用戶需求
設計文檔
代碼模塊
測試用例
驗收報告
  • 案例:波音777航電系統需求變更率從45%降至12%
  1. 項目計劃(PP)

    • 核心:WBS分解 + COCOMO工作量估算
Level 3 已定義級:7個KPA
  1. 組織過程焦點(OPF)

    • 實踐:建立SEPG(軟件工程過程組)
    • 案例:華為1998年成立SEPG,3年內通過CMM 4級
  2. 同行評審(PR)

    • 方法:結構化代碼審查(Fagan Inspection)
    • 效果:IBM Houston航天中心缺陷發現率提升300%

📊 四、實施效果量化驗證

NASA航天軟件項目數據
指標Level 1Level 3Level 5改進幅度
缺陷密度8.2/KLOC2.1/KLOC0.6/KLOC↓ 92%
需求穩定性37%85%98%↑ 165%
進度偏差+45%+12%±3%↓ 93%

?? 五、實施挑戰與失敗根源

經典失敗案例:某社保系統
階段問題后果
Level 2配置管理流于形式版本混亂導致數據丟失
Level 3培訓未覆蓋外包團隊代碼規范違反率>60%
Level 4量化數據造假過程基線失效,項目失控

根本原因

  • 認證驅動:追求證書而非能力提升
  • 工具脫節:ClearCase配置庫未與開發流程集成
  • 文化沖突:工程師抵觸“額外文檔工作”

🚀 六、CMM的現代演進與價值

1. 向DevOps/敏捷融合
  • CMM本質:提供過程改進框架
  • 融合實踐
映射
映射
映射
CMM過程域
敏捷實踐
需求管理
用戶故事地圖
定量管理
部署頻率監控
配置管理
GitOps
2. 在關鍵領域的不可替代性
  • 高可靠系統
    航空軟件(DO-178C)要求CMM Level 3+
  • 長周期項目
    核電控制系統開發(≥10年)依賴Level 4級量化控制
3. 歷史價值再定位

“CMM奠定了過程改進的科學范式——從‘藝術’到‘工程’的躍遷”
—— 《IEEE軟件工程》2023特刊

  • 開創性貢獻
    • 首次將“過程能力”量化為5級階梯
    • 定義KPA(關鍵過程域)作為改進單元

💎 總結:CMM的啟示

  1. 核心價值
    • 建立過程可控性結果可預測性的框架
  2. 適用場景
    • 傳統大型軟件項目(銀行核心系統/航天軟件)
    • 需ISO/IEC 15504(SPICE)合規領域
  3. 避坑指南
    • 避免“為認證而認證” → 聚焦問題驅動改進
    • 用自動化工具(如Jenkins+Sonar)減輕文檔負擔

在敏捷與DevOps主導的2025年,CMM的精華——過程標準化量化管理——仍通過CMMI V3.0持續演進。正如Humphrey所言:
“沒有成熟度的敏捷,只是混亂的借口。”

CMMI

?? 一、演進背景:CMM的誕生與局限

  1. 起源(1984-1991年)
    • 美國國防部需求:1984年,美國國防部為評估軟件承包商能力,委托卡內基梅隆大學軟件工程研究所(SEI)開發標準化評估框架。
    • CMM 1.0發布:1991年SEI正式推出SW-CMM(軟件能力成熟度模型),定義5個成熟度等級(初始級至優化級)和18個關鍵過程域(KPA),如需求管理、項目規劃。
    • 核心目標:通過過程標準化提升軟件質量、控制成本和進度。

CMMI提供兩種標識方法:階段式模型、連續式模型

  1. 多模型衍生與問題
    • 領域擴展:CMM成功后,SEI衍生出多個領域專用模型:
      • 系統工程(SE-CMM)
      • 集成產品開發(IPD-CMM)
      • 人力資源(P-CMM)
      • 采購(SA-CMM)。
    • 模型沖突:各模型架構獨立、過程域重疊,導致企業實施成本高昂。例如,同時從事軟件開發和系統工程的企業需遵循兩套標準,造成資源浪費。

🔄 二、整合與變革:CMMI的誕生(2000年)

1. 整合動因
  • 消除冗余:多模型并存導致過程實踐重復(如配置管理在SW-CMM和SE-CMM中均存在)。
  • 統一框架:需覆蓋跨領域協作(如軟件+硬件+服務集成)。
2. CMMI 1.0的核心整合
  • 源模型融合
SW-CMM 2.0
CMMI 1.0
EIA-731系統工程
IPD-CMM 0.98
  • 領域擴展:支持四類業務組合:
模型類型覆蓋領域
CMMI-SE/SW軟件工程+系統工程
CMMI-SE/SW/IPPD增加集成產品開發
CMMI-SE/SW/IPPD/SS增加供應商采購管理
  • 過程域重構
    • 將CMM的18個KPA整合為22個過程域(PA),新增關鍵領域如:
      • 需求開發(RD)技術解決方案(TS)
      • 風險管理(RSKM)決策分析(DAR)
    • 合并冗余域(如CMM的“軟件產品工程”拆分為需求、設計、集成等獨立PA)。

?? 三、核心差異:CMMI對CMM的突破性改進

1. 模型表示法的革新
特性CMMCMMI
評估方式僅階段式(5級階梯)階段式+連續式雙模式
靈活性必須逐級提升可按過程域獨立改進
適用場景全面合規敏捷組織痛點優先突破
2. 關鍵過程域升級
  • 量化管理強化
    • CMMI 2級新增 測量與分析(MA) 作為獨立PA,而CMM中相關實踐分散于各等級。
  • 工程活動細化
    • CMMI 3級將CMM的單一“軟件產品工程”拆分為5個工程PA:
需求開發 RD
技術方案 TS
產品集成 PI
驗證 VER
確認 VAL
  • 風險管理獨立化
    • CMM中的風險管理依附于“集成軟件管理”,CMMI 3級將其升級為獨立PA (RSKM)
3. 文檔與實操平衡
  • 去文檔化傾向:CMMI減少對標準化文檔的強制要求,更強調實踐效果(如驗證PA包含同行評審,但不再要求獨立文檔)。
  • 基線管理明確:要求工作產物納入配置基線,增強可追溯性。

🚀 四、版本迭代與行業影響

1. CMMI版本演進
版本發布時間關鍵改進
CMMI 1.02000年初始整合版,覆蓋多領域
CMMI 1.22006年精簡過程域,增強模型一致性
CMMI 1.32011年廣泛應用,支持敏捷實踐
CMMI 2.02018年聚焦性能結果,簡化評估路徑
2. 行業轉型案例
  • 華為升級實踐:1998年通過CMM 4級后,2003年轉向CMMI:
    • 步驟
      1. 比對CMMI新增PA(如需求開發、決策分析)
      2. 重構組織過程資產庫(OPF)
      3. 采用連續式模型優化工程域。
    • 效果:需求缺陷率下降40%,交付周期縮短25%。
  • 軍工系統適配:增加 “安全合規因子”(默認1.2~1.5),補償軍用標準驗證成本。

💎 五、總結:演進本質與未來方向

CMM到CMMI的演進本質是 從“單一領域標準化”到“多領域集成化” 的范式轉移:

  1. 解決碎片化:通過模型整合降低企業多標認證成本。
  2. 增強適應性:連續式模型支持敏捷組織按需改進。
  3. 量化驅動:強化數據基線(如MA域)支撐預測性管理。

未來CMMI將進一步融合DevOps與AI技術(如自動度量分析),形成 “過程改進-性能預測-實時優化” 閉環體系。正如SEI所強調:“CMMI不是終點,而是持續優化的起點”


軟件配置管理

軟件配置管理(Software Configuration Management, SCM)是軟件工程中的核心支撐流程,用于系統化控制軟件變更,保障交付物的一致性與可追溯性。以下從核心概念、實施框架、工具鏈及行業實踐展開深度解析:


🔧 一、SCM四大核心活動

1. 配置項識別(Identification)
  • 定義:明確納入版本控制的實體
  • 范圍
代碼文件
核心資產
設計文檔
測試用例
構建腳本
環境配置
  • 標識規則
    項目名_模塊_類型_版本號(如CRM_PAY_Java_V1.2.3
2. 版本控制(Version Control)
  • 分支策略對比
策略適用場景風險
主干開發持續交付的小型項目高沖突率
GitFlow傳統發布模式(如銀行系統)合并復雜度高
特性開關部分發布/AB測試代碼膨脹
3. 變更控制(Change Control)
  • 標準流程
開發者配置控制委員會測試組配置庫提交變更請求(CR)評估影響范圍驗證報告批準/拒絕簽入變更開發者配置控制委員會測試組配置庫
4. 配置審計(Audit)
  • 審計類型
審計類型目標方法
功能審計驗證交付物符合需求需求追溯矩陣(RTM)
物理審計確認配置庫與構建產物一致MD5/SHA256校驗

?? 二、SCM實施框架(基于CMMI)

CMMI過程域要求
  • Level 2:配置管理(CM)
    • 建立配置庫、定義基線、控制變更
  • Level 3:集成項目管理(IPM)
    • 多項目共享配置策略
  • Level 4:定量項目管理(QPM)
    • 監控配置項變更頻率(如:月均變更請求數<5

🛠? 三、工具鏈與自動化

主流工具對比
工具類型代表產品適用場景關鍵能力
集中式SVN文檔密集型項目原子提交、目錄級權限
分布式Git開源/分布式團隊分支管理、離線操作
企業級平臺GitLab, Azure DevOpsDevOps流水線集成CI/CD聯動、安全掃描
自動化流水線集成
通過
代碼提交
自動構建
質量門禁
生成鏡像
更新配置庫版本號
部署測試環境

💼 四、行業實踐與避坑指南

案例1:華為5G基站軟件配置管理
  • 挑戰
    全球20+團隊協作,硬件依賴性強
  • 方案
    • 配置項:代碼+射頻參數+FPGA固件
    • 變更控制:硬件聯動變更需三方會簽(軟件/硬件/測試)
  • 成效:版本發布錯誤率↓ 90%
案例2:某金融系統配置泄露事件
  • 事故:生產數據庫密碼誤存GitHub致數據泄露

  • 根因:未建立敏感信息過濾機制

    SCM實施陷阱
    陷阱后果解決方案
    配置項遺漏環境差異導致故障聲明式環境描述(如Dockerfile)
    分支策略混亂合并地獄(Merge Hell)制定《分支管理章程》
    審計流于形式基線失效自動化審計腳本

💎 總結

SCM的本質是軟件工程的“時間機器” —— 既能回溯任意版本定位問題,也能通過受控變更安全演進。在云原生與DevOps時代,GitOps+IaC+自動化審計正成為高成熟度組織的標配,將配置管理從“成本中心”轉化為“效能引擎”。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/88267.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/88267.shtml
英文地址,請注明出處:http://en.pswp.cn/web/88267.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SASSNet復現

復現結果–Dice&#xff1a;89.354614&#xff0c;Jaccard&#xff1a;80.968917&#xff0c;95HD&#xff1a;7.3987764&#xff0c;誤差在接受范圍 MethodDiceJaccardJaccard # 感想 第19篇完全復現的論文

大數據學習5:網站訪問日志分析

1.數據處理1.1 環境準備進入cd /opt/server/hadoop-3.1.0/sbin文件夾&#xff0c;停止hdfs服務cd /opt/server/hadoop-3.1.0/sbin ./stop-dfs.sh進入/opt/server/hadoop-3.1.0/etc/hadoop文件夾&#xff0c;編輯yarn-site.xml文件/opt/server/hadoop-3.1.0/etc/hadoop vim yarn…

力扣1310. 子數組異或查詢

這一題很明顯的就是用前綴和異或來解決&#xff0c;只要清楚異或的性質&#xff0c;這一題就十分容易。 對異或的性質的講解如下&#xff1a; 異或運算解析 具體代碼如下&#xff1a; class Solution { public:int sum[30005]; vector<int> xorQueries(vector<int>…

React Native 狀態管理方案全面對比

React Native 狀態管理方案全面對比 在 React Native 開發中&#xff0c;狀態管理是構建復雜應用的核心問題。以下是主流狀態管理方案的深度對比分析&#xff1a; 一、基礎方案&#xff1a;useState/useReducer 適用場景 簡單的組件級狀態中等復雜度的局部狀態管理不需要跨組件…

基于Python的程序員數據分析與可視化系統的設計與實現

文章目錄有需要本項目的代碼或文檔以及全部資源&#xff0c;或者部署調試可以私信博主項目介紹背景意義項目展示總結每文一語有需要本項目的代碼或文檔以及全部資源&#xff0c;或者部署調試可以私信博主 項目介紹 互聯網技術飛速發展&#xff0c;數據分析與可視化在程序員工…

Java 枚舉詳解:從基礎到實戰,掌握類型安全與優雅設計

作為一名Java開發工程師&#xff0c;在日常開發中你一定經常使用枚舉&#xff08;enum&#xff09;。自Java 5引入以來&#xff0c;枚舉已經成為定義固定集合常量的首選方式&#xff0c;它比傳統的 public static final 常量更加類型安全、可讀性強&#xff0c;并且具備面向對象…

海外盲盒系統:技術如何重構“信任經濟”?

盲盒的“非透明性”易引發信任危機&#xff0c;而海外盲盒系統通過技術手段構建了“可感知的公平”&#xff1a;1. 區塊鏈存證&#xff1a;概率透明化 隱藏款概率、抽盒記錄上鏈存證&#xff0c;用戶可隨時查詢歷史數據。某歐美用戶通過區塊鏈瀏覽器驗證&#xff0c;確認系統隱…

PyTorch Tensor 操作入門:轉換、運算、維度變換

目錄 1. Tensor 與 NumPy 數組的轉換 1.1 Tensor 轉換為 NumPy 數組 1.2 NumPy 數組轉換為 Tensor 1.3 獲取單個元素的值 2. Tensor 的基本運算 2.1 生成新 Tensor 的運算 2.2 覆蓋原 Tensor 的運算 2.3 阿達瑪積&#xff08;逐元素乘法&#xff09; 2.4 矩陣乘法 3.…

CompletableFuture使用詳解(Super Detailed)

一、 CompletableFuture介紹 多線程開發一般使用Runnable&#xff0c;Callable&#xff0c;Thread&#xff0c;FutureTask&#xff0c;ThreadPoolExecutor&#xff0c;但也有不近如意的地方 Thread Runnable&#xff1a;執行異步任務&#xff0c;沒有返回結果。 Thread Calla…

開源 Arkts 鴻蒙應用 開發(六)數據持久--文件和首選項存儲

文章的目的為了記錄使用Arkts 進行Harmony app 開發學習的經歷。本職為嵌入式軟件開發&#xff0c;公司安排開發app&#xff0c;臨時學習&#xff0c;完成app的開發。開發流程和要點有些記憶模糊&#xff0c;趕緊記錄&#xff0c;防止忘記。 相關鏈接&#xff1a; 開源 Arkts …

【Bluedroid】藍牙協議棧控制器能力解析與核心功能配置機制(decode_controller_support)

本文圍繞Bluedroid藍牙協議棧中控制器能力解析與核心功能配置的關鍵代碼展開&#xff0c;詳細闡述藍牙協議棧如何通過解析控制器硬件能力&#xff0c;構建 SCO/eSCO、ACL 數據包類型支持掩碼&#xff0c;配置鏈路策略、安全服務、查詢與掃描模式等核心功能。這些機制確保協議棧…

小架構step系列07:查找日志配置文件

1 概述 日志這里采用logback&#xff0c;其為springboot默認的日志工具。其整體已經被springboot封裝得比較好了&#xff0c;扔個配置文件到classpath里就能夠使用。 但在實際使用中&#xff0c;日志配置文件有可能需要進行改動&#xff0c;比如日志的打印級別&#xff0c;平…

一文講清楚React Hooks

文章目錄一文講清楚React Hooks一、什么是 React Hooks&#xff1f;二、常用基礎 Hooks2.1 useState&#xff1a;狀態管理基本用法特點2.2 useEffect&#xff1a;副作用處理基本用法依賴數組說明2.3 useContext&#xff1a;上下文共享基本用法特點三、其他常用 Hooks3.1 useRed…

Apache http 強制 https

1. 修改一下文件配置 sudo nano /etc/apache2/sites-enabled/000-default.conf<VirtualHost *:80>ServerName hongweizhu.comServerAlias www.hongweizhu.comServerAdmin webmasterlocalhostDocumentRoot /var/www/html# 強制重定向到HTTPSRewriteEngine OnRewriteCond …

【讀代碼】GLM-4.1V-Thinking:開源多模態推理模型的創新實踐

一、基本介紹 1.1 項目背景 GLM-4.1V-Thinking是清華大學KEG實驗室推出的新一代開源視覺語言模型,基于GLM-4-9B-0414基礎模型構建。該項目通過引入"思維范式"和強化學習課程采樣(RLCS)技術,顯著提升了模型在復雜任務中的推理能力。其創新點包括: 64k超長上下文…

從代碼生成到智能運維的革命性變革

AI大模型重塑軟件開發&#xff1a;從代碼生成到智能運維的革命性變革 希望對大家有一定的幫助&#xff0c;進行參考 目錄AI大模型重塑軟件開發&#xff1a;從代碼生成到智能運維的革命性變革 希望對大家有一定的幫助&#xff0c;進行參考一、范式轉移&#xff1a;軟件開發進入&…

豆包編寫Java程序小試

今天下載了一本第四版電氣工程師手冊&#xff0c;非常棒的一本書&#xff0c;在給PDF添加目錄的時候&#xff0c;由于目錄有將近60頁&#xff0c;使用老馬開發的PdgCntEditor有點卡頓&#xff0c;不過補充下&#xff0c;老馬這個PdgCntEditor還是非常好的。所以我決定用Java編一…

SpringBoot整合騰訊云新一代行為驗證碼

一 產品介紹 騰訊云官方介紹鏈接 騰訊云新一代行為驗證碼&#xff08;Captcha&#xff09;&#xff0c;基于十道安全防護策略&#xff0c;為網頁、App、小程序開發者打造立體、全面的人機驗證。在保護注冊登錄、活動秒殺、點贊發帖、數據保護等各大場景下業務安全的同時&…

SenseGlove新一代外骨骼力反饋手套Rembrand來襲!亞毫米級手部動捕+指尖觸覺力采集+5Dof主動力反饋多模態

在遠程機器人操作領域&#xff0c;精準的觸覺感知與靈活的動作控制始終是核心需求。SenseGlove 新推出的 Rembrandt 力反饋外骨骼數據手套&#xff0c;以先進技術為支撐&#xff0c;為遠程操控人形機器人手部提供了無縫解決方案&#xff0c;讓操作更精準、更高效。值得一提的是…

Linux 信號機制:操作系統的“緊急電話”系統

想象一下&#xff0c;你正在電腦前專心工作&#xff0c;突然手機響了——這是一個通知&#xff0c;要求你立即處理一件新事情&#xff08;比如接電話&#xff09;。 Linux 系統中的信號&#xff08;Signal&#xff09;?? 機制&#xff0c;本質上就是操作系統內核或進程之間用…