2025/03/27

Using C# Reflection to Get Public Method Call Count

用法:

    class Program
    {
        public static void SampleMethod()
        {
            Console.WriteLine("Hello World!");
            AnotherMethod();
        }

        public static void AnotherMethod()
        {
            Console.WriteLine("This is another method.");
        }

        static void Main(string[] args)
        {
            // 取得 SampleMethod 的 MethodInfo
            MethodInfo sampleMethodInfo = typeof(Program).GetMethod("SampleMethod");
            // 分析方法內的呼叫次數
            int callCount = MethodUtils.AnalyzeMethodCalls(sampleMethodInfo);
            Console.WriteLine($"SampleMethod has {callCount} method calls inside it.");
        }
    }

2025/03/21

Windows 11 配置 Claude Desktop MCP

簡介

多點 Claude Desktop MCP 是一款高效能且高度可擴展的人工智慧模型運行平台,旨在支援多點操作與併行處理,適用於開發、測試與生產環境。此平台能夠透過多點控制 (Multi-Point Control, MCP) 提供更靈活的資源調度與管理能力,大幅提升效能與穩定性。

Model Context Protocol (MCP)

MCP(Model Context Protocol)是一種用於人工智慧模型運行環境的標準化協議,旨在協調多個模型、模組或應用程式之間的互動與資料交換。MCP 提供了一個統一的協作框架,使各個元件能夠在多點控制環境中高效運行。

在 Claude Desktop MCP 中,MCP 被應用於:

  • 調整資源配置:允許動態分配 CPU、記憶體與網路資源,以符合不同模型的需求。
  • 資料同步與管理:確保多點操作中的資料一致性與安全性。
  • 通訊協議設計:標準化不同元件之間的通訊格式與資料協定。
  • 併行處理架構:支持多個模型同時運行並協調結果輸出。

MCP 支援的應用程式 (MCP Clients)

以下是支援 MCP 的一些應用程式與工具:

  • Claude 桌面應用程式:提供對 MCP 的全面支援,允許深度整合本地工具和資料來源。
  • 5ire:支援 MCP 的工具功能,允許 AI 模型執行特定任務。
  • BeeAI 框架:在代理工作流程中支援 MCP 的工具功能。
  • Cline:支援 MCP 的工具和資源功能,增強了 AI 的操作能力。
  • Continue:全面支援 MCP 的所有功能,提供完整的整合體驗。

特點

  • 支援多點操作與併行處理
  • 高效能模型運行與資源管理
  • 友善的圖形化操作介面
  • 高度可擴展的組態檔配置系統
  • 支援自訂測試工具與模組開發

2025/03/14

透過CloudFlare GraphQL 取得SubDomain國家來源數據

權限要給Zone/Logs & Analytics
curl -X POST "https://api.cloudflare.com/client/v4/graphql" ^
  -H "Authorization: Bearer YourToken" ^
  -H "Content-Type: application/json" ^
  --data "{ \"query\": \"query { viewer { zones(filter: { zoneTag: \\\"YourZoneID\\\" }) { httpRequestsAdaptiveGroups( limit: 1000, filter: { clientRequestHTTPHost: \\\"YourSubDomain\\\", datetime_geq: \\\"2025-03-13T00:00:00Z\\\", datetime_lt: \\\"2025-03-14T00:00:00Z\\\" }, orderBy: [count_DESC] ) { dimensions { clientCountryName } count sum { edgeResponseBytes } } } } }\" }"

2025/03/13

如何使用 cURL 刪除與查詢 GitHub Packages 的 NuGet 套件版本

在 GitHub Packages 上,你可以透過 API 來查詢或刪除已發布的 NuGet 套件版本。本篇文章將介紹如何使用 curl 來執行這些操作。

🔍 查詢 NuGet 套件的所有版本

如果你想要取得某個 GitHub Organization 內的 NuGet 套件的所有版本,可以使用以下 curl 指令:

curl -H "Authorization: Bearer ghp_xxxxxx" \
     -H "Accept: application/vnd.github+json" \
     "https://api.github.com/orgs/YourOrgName/packages/nuget/ProjectName/versions"

這段指令會:

  • 使用 -H "Authorization: Bearer ghp_xxxxxx" 提供你的 GitHub Personal Access Token(PAT)來進行身份驗證。
  • 加上 -H "Accept: application/vnd.github+json" 以確保回傳的 JSON 資料格式符合最新 API 版本。
  • 向 GitHub API 發送請求,列出 Organization YourOrgName 下,NuGet 套件 ProjectName 的所有版本。

2025/03/10

透過 Git Subtree 無痛整合 GitHub 上的既有專案

Git Subtree 輕鬆合併專案,保留完整 commit 歷史

在軟體開發的過程中,時常會遇到這樣的需求:

  • 你有一個現有的 Git 專案,但需要將另一個儲存庫的內容整合進來,並且希望保留完整的 commit 歷史。

這時,Git 提供了幾種不同的方式來達成這個目標,其中 Git Subtree 是一個簡單又強大的解法。

本文將帶你了解 Git Subtree 的用途、與 Submodule 的差異,以及如何實際操作,讓你的開發流程更順暢!