推薦文章

鐵人賽系列文章導讀 — 重啟挑戰:老派軟體工程師的測試修練

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 的完整方案。所以這篇鐵人賽導讀也算是後續系列的起點,先從源頭說起。

...繼續閱讀 »
on mrkt

ASP.NET Core 10 微服務可觀測性實戰 - OpenTelemetry + Serilog + Jaeger + Aspire Dashboard

在微服務架構中,一個使用者請求可能跨越多個服務,當問題發生時,如何追蹤這個請求到底經過了哪些服務?每個服務做了什麼事?花了多少時間?這就是「可觀測性(Observability)」要解決的問題。

本篇文章將介紹如何在 ASP.NET Core 10 微服務中整合 OpenTelemetry、Serilog、Jaeger 與 Aspire Dashboard,建立完整的分散式追蹤與結構化日誌方案。

...繼續閱讀 »
on yc421206

Azure App Service 搭配 GitHub Actions 部署 ASP.NET Core Web API

Azure App Service 是微軟提供的全託管式 Web 應用程式平台,讓開發者能專注於程式開發,不需要擔心基礎架構的管理。搭配 GitHub Actions,可以實現完全自動化的持續部署流程。這篇文章會介紹如何使用 Azure App Service 部署和管理 Web 應用程式,以及透過 GitHub Actions 實現 CI/CD 自動部署。

...繼續閱讀 »
on yc421206

Pencil:AI 設計工作流實戰指南

在前端開發中,UI/UX 設計是一個不可迴避的環節。傳統的做法是設計師手工繪製 Figma,開發者再根據設計稿實作。但這樣有個問題:溝通成本高、反覆調整多、時程壓力大。我一直在尋找一個更高效的方式,能否讓 AI 幫我快速產生設計元素,然後一鍵整合成完整介面?Pencil 搭配 UI/UX Pro Max Skill 就是這樣的工具。它透過 AI 助手的對話能力,讓你用自然語言描述需求,自動產生設計元素和設計稿。

本文會分享我使用 Pencil 的實務經驗,希望能幫助你建立一個「需求 → 設計 → 開發」的快速迴圈。

...繼續閱讀 »
on yc421206

Playwright 結合 AI 提升測試腳本開發效率

最近在研究 AI 進行 E2E 測試,我選擇 Microsoft 開發的 Playwright。它支援多瀏覽器(Chromium、Firefox、WebKit)、自動等待機制,還有一個很方便的錄製功能,可以直接操作網站產生測試腳本,搭配 Claude、Copilot、Gemini 又可以解省錄製、除厝的時間,本篇會簡單介紹我的使用方式。

...繼續閱讀 »
on yc421206

從 ASP.NET Core HybridCache 到瀏覽器端 HTTP Cache

續上篇 .NET 9 HybridCache 實戰,我們已介紹 Server\-Side 的快取架構(L1 記憶體快取、L2 分散式快取)。本篇將聚焦在 Client-Side 的快取機制(HTTP Cache):透過正確設定 HTTP 標頭,讓瀏覽器優先使用本地快取,降低伺服器負載並提升使用者體驗。

本篇會以實作程式碼示範各種 Cache-Control 指令的行為差異與適用情境。

...繼續閱讀 »
on yc421206

.NET 的 Process 類別中設計有關 Memory 的屬性運用來監測應用程式的記憶體用量

透過 .NET API 的 Process 所提供記憶體資訊的屬性運用,可以自我監測 .NET 應用程式佔據記憶體的狀況。

以下列舉三個屬性來介紹:

屬性意義
PagedMemorySize64可被分頁到磁碟的記憶體數字
PrivateMemorySize64程式跟系統請求使用的專用記憶體數字(不會跟其他行程共用的部分)
WorkingSet64實際駐留在 RAM 的記憶體數字

...繼續閱讀 »
on jamestsai

點部落支援 Markdown Monster 本地端發佈

雖然網頁版後台已經有限度的支援了 Markdown 語法,但對於熟習 Markdown 的作者們來說還是稍嫌麻煩,但點部落太多年了,包袱是存在的,我們無法直接大幅度的變動,因此提出替代方案,即日起支援 windows 本地端 Markdown Monster 編輯器的部落格發佈功能。

...繼續閱讀 »
on dotblogs

進修課程