上一篇 用 IDistributedCache + MemoryCache 做了一個簡單版本的冪等,適合單節點演練。但在多 Pod / Container 部署的環境下,MemoryCache 各自獨立,不同 Pod 看不到彼此的快取,冪等保護會直接失效。
這篇換用 Redis 來實現分散式冪等,目標是能跑在 Kubernetes / Docker Swarm 這類環境。

上一篇 用 IDistributedCache + MemoryCache 做了一個簡單版本的冪等,適合單節點演練。但在多 Pod / Container 部署的環境下,MemoryCache 各自獨立,不同 Pod 看不到彼此的快取,冪等保護會直接失效。
這篇換用 Redis 來實現分散式冪等,目標是能跑在 Kubernetes / Docker Swarm 這類環境。

Harmony Library 補丁方式的最終章,Reverse Patch。
Transpiler 是 Harmony Library 的重量級功能,相較於 Prefix 或 Postfix 是在原始方法前後插入程式碼,Transpiler 直接操作 IL 指令,讓你在程式執行前就重新改寫方法本身,威力驚人。
這一篇談論終結器補丁 – Finalizer。
持續介紹 Prefix 和 Postfix 的其他使用方式。
系列:從鐵人賽到 Agent Orchestration — AI 自動建立 .NET 測試的完整方案(5/10)
系列:從鐵人賽到 Agent Orchestration — AI 自動建立 .NET 測試的完整方案(4/10)
續上篇,繼續來實作不同情境的 Prefix 與 Postfix。
前篇簡單介紹了 Harmony Library,這篇開始介紹補丁的實作,因為 Prefix 與 Postfix 常常會搭配,所以就併在一起說明。
系列:從鐵人賽到 Agent Orchestration — AI 自動建立 .NET 測試的完整方案(3/10)
想要讓 GitHub Copilot 串其他 AI 平台的 model 到 GitHub Copilot 在 Organtization 來使用,行不行?
行,當然行!
看 GitHub 設定 API key 的選項:

基本上主流的幾家 AI 平台都支援了!
記錄把本地 Terraform State 文件轉移到 AWS S3 的過程與注意事項
Harmony 是一個 .NET 的開源 Runtime Patching 函式庫,由 Andreas Pardeike 開發,這個函式庫能夠在不具有原始碼的狀況下動態修改任何 .NET 方法的行為。這系列文章記錄一些關於這個函式庫的使用方式。
系列:從鐵人賽到 Agent Orchestration — AI 自動建立 .NET 測試的完整方案(2/10)
系列:從鐵人賽到 Agent Orchestration — AI 自動建立 .NET 測試的完整方案(1/10)
2025 年 8 月到 9 月,我參加了 iThome 鐵人賽,花了 30 天寫完「重啟挑戰:老派軟體工程師的測試修練」這個系列。一直沒有在部落格這邊正式介紹過,趁這個機會寫一篇導讀,讓大家在還沒有把 30 篇全部看完也能瞭解裡面在講什麼。
30 天的內容從最基本的「為什麼要寫測試」一路寫到 Testcontainers、.NET Aspire 整合測試、TUnit,每一篇都有技術介紹說明、程式碼範例,以及我自己在專案裡踩過的坑。如果你對 .NET 測試有興趣但不確定要從哪裡開始看,這篇可以幫你省點時間。
另外,完賽之後我把這 30 天的測試知識重新整理成了 29 個 Agent Skills,讓 AI 可以直接拿來用。後續會有一系列文章介紹 `dotnet-testing-agent-skills` 這個專案 — 從 Agent Skills 到 Agent Orchestration 的完整方案。所以這篇鐵人賽導讀也算是後續系列的起點,先從源頭說起。
Vibe Coding 課程的繁榮與隱憂:當非技術出身的人開始販售「人人都能寫軟體」的夢想,轉職者與初階工程師該如何判斷?
GetCreationTimeUtc / GetCreationTime 其實都會有同樣的問題。
更正確地說 .NET 對檔案的 CreationTime 在 Windows 與 Unix-like (macOS、Linux…等,後面都統一稱呼 Linux) 的 OS 上定義不同。
Reference:https://github.com/bubbliiiing/yolov4-pytorch
Key Word:WSL2、Bubbliiiing、Pytorch YOLOv4、Object Detection、RTX4060、Github License Issue、Roboflow、CrowdHuman
C# 14 新功能還有一些比較無法長篇描述的就集中在這裡一次說完。
在微服務架構中,一個使用者請求可能跨越多個服務,當問題發生時,如何追蹤這個請求到底經過了哪些服務?每個服務做了什麼事?花了多少時間?這就是「可觀測性(Observability)」要解決的問題。
本篇文章將介紹如何在 ASP.NET Core 10 微服務中整合 OpenTelemetry、Serilog、Jaeger 與 Aspire Dashboard,建立完整的分散式追蹤與結構化日誌方案。

目前手上常用來建置與發佈程式的 CI/CD 服務與架構系統,大略可簡化為 "GitLab 的雲端服務 + 地端主機上所運作的 Docker"。
前篇已經聊過關於 Extension members 的一些基本操作,這裡補充一些前篇沒提到的部分。
目前手上常用來建置與發佈程式的 CI/CD 服務與架構系統,大略可簡化為 "GitLab 的雲端服務 + 地端主機上所運作的 Docker"。
如果要在 C# 14 的眾多新功能中挑選一個最令我心動的,一定是 Extension members。這項功能不僅是對既有 this extension methods 的延展,而且是進一步的語言層級提升、更為貼近原生成員的使用體驗。