筱倩 -
輕量化網絡中的知識蒸餾技術
1、輕量化網絡
輕量化網絡是一類計算複雜度低、參數量小、內存佔用少的神經網絡模型,其核心目標是在保證模型性能(如精度、速度)的前提下,降低模型的計算和存儲開銷,使其能高效部署在移動端、嵌入式設備、邊緣計算節點等資源受限的硬件平台上。與傳統大型模型相比,輕量化網絡通過結構優化、參數壓縮等手段,實現了”小而精“的特徵,是AI從雲端走向終端的關鍵技術之一。
輕量化網絡的實現路徑可分為四大類:壓縮
AI
筱倩 -
SRE核心工作流與實踐指南:從故障預防到持續優化
1、SRE體系工作流
(1)故障預防階段:主動構建系統韌性
從技術規範和架構設計層面,推動系統具備抗風險能力。
向開發團隊傳遞“面向失敗編程“理念,明確RPC異常處理、分佈式事務一致性等編碼要求。
主導或參與框架治理能力建設,包括設計熔斷限流策略、配置失敗重試機制、定義數據中間態規則等,從架構層降低故障概率。
(2)故障發現階段
監控策略設計:規劃全鏈路監控方案,明確需埋點的關鍵
軟件工程
筱倩 -
從0到1構建一個穩定redis架構
從0到1搭建一個穩定的redis集羣
1、單機版redis
單機版的redis就是業務系統把他用作緩存使用,從mysql中查詢數據然後寫入到redis中,後面再查詢的時候就會優先查詢緩存。因為redis運行在內存中,所以速度很快。若業務體量不大,這樣似乎可以滿足需求了。但是隨着業務體量的擴大,redis中存儲的數據越來越多,此時業務對redis的依賴也越來越多。假設有一種情況,redis因為某
數據庫
筱倩 -
JVM系列——垃圾收集(1)
https://tech.meituan.com/2020/08/06/new-zgc-practice-in-meituan.html
https://www.bilibili.com/video/BV1US4y1m7if/?spm_id_from=333.337.search-card.all.clickvd_source=99ec55b57f4eeedd9ed62c43e87cb6ff
後端
筱倩 -
Golang從手工編譯到CI/CD自動化部署
一、DevOps是什麼
DevOps = Development(開發) + Operations(運維)。讓開發人員(Dev)和運維人員(Ops)能夠高效協作,通過自動化手段讓軟件更快、更穩定地交付上線。
階段
沒有 DevOps
有 DevOps 後
提交代碼
軟件工程
筱倩 -
《Go 單元測試從入門到覆蓋率提升》(一)
一、靜態代碼分析
靜態代碼分析是一種在不執行和運行程序的情況下檢查源代碼的方法。通過這種方法,自動化工具會掃描代碼查找潛在的問題,如bug、安全漏洞或與編碼標準的偏離。靜態代碼分析可以在執行或合併到main分支之前檢查源代碼中的問題。
動態代碼分析是在代碼被執行時,識別運行時的問題,例如性能瓶頸、內存泄露和邏輯缺陷。它輸出的內容是程序的實際運行時行為,包括日誌、跟蹤和性能指標。它在實際或
go
,
後端
筱倩 -
《Go 單元測試從入門到覆蓋率提升》(二)
Golang相關測試框架
在 Go 語言裏,最常用的測試框架有:自帶的 testing 包、GoConvey 和 testify。
1、Go自帶的testing包
testing包是官方內置的,無需額外安裝,也是大多數項目的首選。
(1)單元測試
測試文件必須以 _test.go 結尾,例如:calc_test.go
測試函數必須以 Test 開頭(推薦寫成 T
go
,
後端
筱倩 -
如何有效提升代碼覆蓋率:從單元測試到集成測試的實踐指南
Go語言代碼覆蓋率實現
一、什麼是代碼覆蓋率
代碼覆蓋率是軟件測試中的一種白盒測試度量指標,表示程序源代碼中被執行的比例。簡單來説,就是“我的測試到底跑過多少代碼”。
覆蓋率常見的幾種標準:
語句覆蓋(段覆蓋、基本塊覆蓋):每一行代碼是否至少執行過一次
分支覆蓋:程序中的每個判斷(if/else)是否都執行過true和false兩種結果
條件覆蓋:判斷語句中的每個子條件是否都覆蓋到tr
go
,
後端