4款免費且實用的.NET反編譯工具
反編譯工具的作用 .NET反編譯工具能夠將已經編譯好的.NET程序集轉換為易于理解的源代碼,它們可以幫助開發人員恢復丟失的源代碼、理解和分析第三方組件dll、學習其他人的代碼、更好的查找修復 bug 或進行逆向工程等(注意:請在法律允許范圍內合理使用)。 ILSpy ILSpy是一款免費、開源的 . ...
基于開源模型搭建實時人臉識別系統(三):人臉關鍵點、對齊模型概覽與模型選型
續 基于開源模型搭建實時人臉識別系統(二):人臉檢測概覽與模型選型_CodingInCV的博客-CSDN博客 摘要 人臉對齊(face alignment)或者人臉關鍵點(face alignment)是定位人臉上的關鍵點,是很多基于人臉的任務的前置步驟,比如人臉識別、表情分析、人臉變裝(makeu ...
如何在沒有第三方.NET庫源碼的情況,調試第三庫代碼?
大家好,我是沙漠盡頭的狼。 本方首發于Dotnet9,介紹使用dnSpy調試第三方.NET庫源碼,行文目錄: 安裝dnSpy 編寫示例程序 調試示例程序 調試.NET庫原生方法 總結 1. 安裝dnSpy dnSpy是一款功能強大的.NET程序反編譯工具,可以對.NET程序進行反編譯,代替庫文檔的功 ...
聊一聊 TLS/SSL
哈嘍大家好,我是咸魚 當我們在上網沖浪的時候,會在瀏覽器界面頂部看到一個小鎖標志,或者網址以 "https://" 開頭 這意味著我們正在使用 TLS/SSL 協議進行安全通信。雖然它可能看起來只是一個小小的鎖圖標和一個 “https” ,但實際上,這個協議在保護我們的在線隱私和安全方面扮演著至關重 ...
math 庫中常用的數學運算和常量【GO 基礎】
GO 語言的 math 庫是一個內置的標準庫,其中包含了許多數學函數和常量,用于計算各種數學運算和統計學計算,今天來梳理下備查。 ...
k8s 自動擴縮容HPA原理及adapter配置詳解
大家好,我是藍胖子,都知道,k8s擁有自動擴縮容機制HPA,我們能夠通過配置針對不同的擴縮容場景進行自動擴縮容,往往初學者在面對其中繁多配置的時候會學了又忘記,今天我將會以一種不同的視角,結合api server 請求 來探索這部分的配置,看完本篇,應該會對擴縮容這部分配置會有更深的理解。 自動擴縮 ...
Vue3中的Ref與Reactive:深入理解響應式編程
前言 Vue 3是一個功能強大的前端框架,它引入了一些令人興奮的新特性,其中最引人注目的是ref和reactive。這兩個API是Vue 3中響應式編程的核心,本文將深入探討它們的用法和差異。 什么是響應式編程? 在Vue中,響應式編程是一種使數據與UI保持同步的方式。當數據變化時,UI會自動更新, ...
前端技術點滴整理-1
一、ETag相關 ETag(Entity Tag)是 HTTP 1.1 協議中的一部分,用于確定瀏覽器緩存的一個資源在服務器上是否已經被修改。它是一個可以分配給特定版本和實例的資源的標識符,通常是一個哈希值。服務器可以在發送資源時,將該資源的 ETag 一起發送給客戶端。然后客戶端在再次請求該資源時 ...
Kubeadm方式搭建K8S集群
Kubeadm方式搭建K8S集群 一、搭建k8s集群(kubeadm方式) kubeadm部署方式介紹 kubeadm是官方社區推出的一個用于快速部署kubernetes集群的工具,這個工具能通過兩條指令完成一個kubernetes集群的部署: 第一,創建一個master幾點 kubeadm ini ...
聊聊wireshark的進階使用功能
emmm,說起網絡知識學習肯定離不來wireshark工具,這個工具能夠幫助我們快速地定位網絡問題以及幫助正在學習網絡協議這塊的知識的同學驗證理論與實際的一大利器,平時更多的只是停留在初步的使用階段。也是利用部門內部的網絡興趣小組的討論機會,私下對wireshark的一些進階功能,比如專家模式、圖表... ...
Docker Swarm + Harbor + Portainer 打造高可用,高伸縮,集群自動化部署,更新。
Docker Swarm是Docker官方自帶的容器編排工具,Swarm,Compose,Machine合稱Docker三劍客。Docker Swarm對于中小型應用來說,還是比較方便,靈活,當然K8S對于大型項目在各方面有著明顯的優勢。技術選型需要針對公司實際情況選擇,架構往往是一步一步隨著業務變 ...
軟件設計模式系列之十二——外觀模式
外觀模式是一種結構型設計模式,它提供了一個簡化的接口,用于訪問系統中的一組相關接口,以隱藏系統的復雜性。外觀模式的主要目標是簡化客戶端與子系統之間的交互,同時降低了系統的耦合度。它允許客戶端通過一個統一的入口點來與系統進行通信,而不需要了解系統內部的具體細節和復雜性 ...
【效率提升】maven 轉 gradle 實戰
gradle是一個打包工具, 是一個開源構建自動化工具,足夠靈活,可以構建幾乎任何類型的軟件,高性能、可擴展、能洞察等。其中洞察,可以用于分析構建過程中數據,提供分析參考,方便排查問題和不斷優化構建性能,以下一次編譯分析報告。 ...
5.使用日志+自定義全局異常過濾器
剛開始寫文章,封裝Base基類的時候,添加了trycatch異常塊,不過當時沒有去記錄日志,直接return了。有小伙伴勸我不要吃了Exception 其實沒有啦,項目剛開始,我覺得先做好整體結構比較好。像是蓋樓一樣。先把樓體建造出來,然后再一步一步的美化完善。 基礎的倉儲模式已經ok,Autofa ...
MySQL中的Statistics等待
【作者】 吳宙旭,攜程數據庫專家 【問題描述】 線上我們偶爾會碰到MySQL的狀態是statistics. 但如果出現大量的statistics等待,會引起MySQL性能急劇下降。官方的文檔對這個狀態的解釋如下: The server is calculating statistics to dev ...
Java 21的StringBuilder和StringBuffer新增了一個repeat方法
發現Java 21的StringBuilder和StringBuffer中多了repeat方法: /** * @throws IllegalArgumentException {@inheritDoc} * * @since 21 */ @Override public StringBuilder ...
記一次 .NET 某儀器測量系統 CPU爆高分析
一:背景 1. 講故事 最近也挺奇怪,看到了兩起 CPU 爆高的案例,且誘因也是一致的,覺得有一些代表性,合并分享出來幫助大家來避坑吧,閑話不多說,直接上 windbg 分析。 二:WinDbg 分析 1. CPU 真的爆高嗎 這里要提醒一下,別人說爆高不一定真的就是爆高,我們一定要拿數據說話,可以 ...
C++ 重載運算符在HotSpot VM中的應用
C++支持運算符重載,對于Java開發者來說,這個可能比較陌生一些,因為Java不支持運算符重載。運算符重載本質上來說就是函數重載。下面介紹一下HotSpot VM中的運算符重載。 1、內存分配與釋放 在C++中可以通過new運算符創建一個C++的類實例,這個操作實際上上包含了如下3個步驟: 調用o ...
TCP連接的關鍵之謎:揭秘三次握手的必要性
在這篇文章中,我們將深入探討TCP連接建立過程中的關鍵步驟——三次握手。三次握手是確??蛻舳撕头斩酥g建立可靠連接的重要過程。通過三次握手,雙方可以確認彼此的接收和發送能力,并同步雙方的初始序列號,從而確保連接的穩定性和可靠性。文章還解釋了三次握手的原因,它可以避免歷史重復連接的初始化,確保雙方都... ...