<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>CloudyWing's Note</title>
        <link>https://note.cloudywing.net</link>
        <description>開發筆記、踩坑紀錄與架構思考</description>
        <lastBuildDate>Tue, 21 Apr 2026 15:38:29 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>zh-TW</language>
        <image>
            <title>CloudyWing's Note</title>
            <url>https://note.cloudywing.net/images/logo.png</url>
            <link>https://note.cloudywing.net</link>
        </image>
        <copyright>Copyright © 2022-2026 Wing Chou (CloudyWing). All Rights Reserved.</copyright>
        <item>
            <title><![CDATA[淺談 C# Property (屬性) 語法糖與 NRT 機制演進]]></title>
            <link>https://note.cloudywing.net/backend/淺談 CSharp Property (屬性) 語法糖與 NRT 機制演進</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/淺談 CSharp Property (屬性) 語法糖與 NRT 機制演進</guid>
            <pubDate>Mon, 30 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[整理 C# Property 語法從 Backing Field 到 field 關鍵字的演進歷程，以及 NRT 機制在 init 與 required 語法補全後的實用性改善。]]></description>
            <content:encoded><![CDATA[整理 C# Property 語法從 Backing Field 到 field 關鍵字的演進歷程，以及 NRT 機制在 init 與 required 語法補全後的實用性改善。]]></content:encoded>
            <category>.NET</category>
            <category>C#</category>
        </item>
        <item>
            <title><![CDATA[在 Windows 上安裝與升級 PowerShell 7]]></title>
            <link>https://note.cloudywing.net/devops/在 Windows 上安裝與升級 PowerShell 7</link>
            <guid isPermaLink="false">https://note.cloudywing.net/devops/在 Windows 上安裝與升級 PowerShell 7</guid>
            <pubDate>Wed, 25 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[說明 Windows PowerShell 與 PowerShell 7 的差異、透過 WinGet 安裝的步驟，以及 Get-Help 說明文件機制。]]></description>
            <content:encoded><![CDATA[說明 Windows PowerShell 與 PowerShell 7 的差異、透過 WinGet 安裝的步驟，以及 Get-Help 說明文件機制。]]></content:encoded>
            <category>PowerShell</category>
        </item>
        <item>
            <title><![CDATA[常用套件整理 - Visual Studio Code]]></title>
            <link>https://note.cloudywing.net/frontend/常用套件整理 - Visual Studio Code</link>
            <guid isPermaLink="false">https://note.cloudywing.net/frontend/常用套件整理 - Visual Studio Code</guid>
            <pubDate>Thu, 15 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[整理作者常用的 Visual Studio Code (VS Code) 擴充套件，包含前端、後端、測試、DevOps 與開發體驗 (DX) 相關工具。]]></description>
            <content:encoded><![CDATA[整理作者常用的 Visual Studio Code (VS Code) 擴充套件，包含前端、後端、測試、DevOps 與開發體驗 (DX) 相關工具。]]></content:encoded>
            <category>Visual Studio Code</category>
        </item>
        <item>
            <title><![CDATA[淺談 Copilot CLI 工具的 Autopilot 與 YOLO 模式機制與額度陷阱]]></title>
            <link>https://note.cloudywing.net/ai/淺談 Copilot CLI 工具的 Autopilot 與 YOLO 模式機制與額度陷阱</link>
            <guid isPermaLink="false">https://note.cloudywing.net/ai/淺談 Copilot CLI 工具的 Autopilot 與 YOLO 模式機制與額度陷阱</guid>
            <pubDate>Sun, 22 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[說明 GitHub Copilot CLI 的 YOLO 模式與三種執行模式，以及 Autopilot 在特定情境下可能無意間大量消耗額度的機制與風險。]]></description>
            <content:encoded><![CDATA[說明 GitHub Copilot CLI 的 YOLO 模式與三種執行模式，以及 Autopilot 在特定情境下可能無意間大量消耗額度的機制與風險。]]></content:encoded>
            <category>Copilot CLI</category>
        </item>
        <item>
            <title><![CDATA[從 Google AI Pro 降額事件，淺談 Google 的策略轉向]]></title>
            <link>https://note.cloudywing.net/ai/從 Google AI Pro 降額事件，淺談 Google 的策略轉向</link>
            <guid isPermaLink="false">https://note.cloudywing.net/ai/從 Google AI Pro 降額事件，淺談 Google 的策略轉向</guid>
            <pubDate>Fri, 20 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[從 3 月 12 日 Google AI Pro 降額事件出發，梳理 Antigravity 額度縮減、模型品質下滑的來龍去脈，並分析 Google 將 AI 資源從開發者工具轉向自家生態系整合的策略轉向，以及 Pro 方案在現階段的訂閱價值。]]></description>
            <content:encoded><![CDATA[從 3 月 12 日 Google AI Pro 降額事件出發，梳理 Antigravity 額度縮減、模型品質下滑的來龍去脈，並分析 Google 將 AI 資源從開發者工具轉向自家生態系整合的策略轉向，以及 Pro 方案在現階段的訂閱價值。]]></content:encoded>
            <category>Antigravity</category>
            <category>Gemini</category>
            <category>Google AI Studio</category>
        </item>
        <item>
            <title><![CDATA[淺談 AI Prompt 的正向引導與負向約束]]></title>
            <link>https://note.cloudywing.net/ai/淺談 AI Prompt 的正向引導與負向約束</link>
            <guid isPermaLink="false">https://note.cloudywing.net/ai/淺談 AI Prompt 的正向引導與負向約束</guid>
            <pubDate>Sat, 07 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[探討 AI 提示詞過載（Over-prompting）的原因，並解析「正向引導」與「負向約束」在不同情境下的副作用與策略。]]></description>
            <content:encoded><![CDATA[探討 AI 提示詞過載（Over-prompting）的原因，並解析「正向引導」與「負向約束」在不同情境下的副作用與策略。]]></content:encoded>
            <category>Prompt Engineering</category>
            <category>Claude</category>
            <category>Gemini</category>
            <category>ChatGPT</category>
        </item>
        <item>
            <title><![CDATA[淺談主流 AI 服務體系與相關工具]]></title>
            <link>https://note.cloudywing.net/ai/淺談主流 AI 服務體系與相關工具</link>
            <guid isPermaLink="false">https://note.cloudywing.net/ai/淺談主流 AI 服務體系與相關工具</guid>
            <pubDate>Sat, 07 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[整理 OpenAI、Anthropic、Google 三大 AI 服務體系的訂閱架構與常見工具，並記錄網頁版對話介面的實戰體感、檔案上傳限制，以及 Prompt 策略的使用心得。]]></description>
            <content:encoded><![CDATA[整理 OpenAI、Anthropic、Google 三大 AI 服務體系的訂閱架構與常見工具，並記錄網頁版對話介面的實戰體感、檔案上傳限制，以及 Prompt 策略的使用心得。]]></content:encoded>
            <category>ChatGPT</category>
            <category>Claude</category>
            <category>Gemini</category>
            <category>Antigravity</category>
        </item>
        <item>
            <title><![CDATA[淺談 SQL Server 日期時間查詢與精度進位陷阱]]></title>
            <link>https://note.cloudywing.net/backend/淺談 SQL Server 日期時間查詢與精度進位陷阱</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/淺談 SQL Server 日期時間查詢與精度進位陷阱</guid>
            <pubDate>Thu, 12 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[探討 SQL Server 時間類型的精度差異（datetime vs datetime2），以及時間產生來源（DateTime.Now vs GETDATE()）的選擇考量，並分析時間區間查詢中的進位陷阱。]]></description>
            <content:encoded><![CDATA[探討 SQL Server 時間類型的精度差異（datetime vs datetime2），以及時間產生來源（DateTime.Now vs GETDATE()）的選擇考量，並分析時間區間查詢中的進位陷阱。]]></content:encoded>
            <category>SQL Server</category>
            <category>Entity Framework</category>
        </item>
        <item>
            <title><![CDATA[RCSI 簡介與改良版 Entity Framework 鎖定提示攔截器]]></title>
            <link>https://note.cloudywing.net/backend/RCSI 簡介與改良版 Entity Framework 鎖定提示攔截器</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/RCSI 簡介與改良版 Entity Framework 鎖定提示攔截器</guid>
            <pubDate>Thu, 05 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[介紹 RCSI 與 NOLOCK 的差異，並提供基於 TagWith 的 EF Core 鎖定提示攔截器改良實作。]]></description>
            <content:encoded><![CDATA[介紹 RCSI 與 NOLOCK 的差異，並提供基於 TagWith 的 EF Core 鎖定提示攔截器改良實作。]]></content:encoded>
            <category>.NET</category>
            <category>Entity Framework</category>
            <category>SQL Server</category>
        </item>
        <item>
            <title><![CDATA[如何在 Entity Framework 中增加 WITH (NOLOCK) 和 Parameter Sniffing 的處理]]></title>
            <link>https://note.cloudywing.net/backend/如何在 Entity Framework 中增加 WITH (NOLOCK) 和 Parameter Sniffing 的處理</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/如何在 Entity Framework 中增加 WITH (NOLOCK) 和 Parameter Sniffing 的處理</guid>
            <pubDate>Thu, 18 Jul 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[探討為何現代 EF Core 開發較少提及 `WITH (NOLOCK)`，並教學如何透過 `DbCommandInterceptor` 攔截 SQL Command，動態注入 `NOLOCK` 提示或處理 Parameter Sniffing 效能問題。]]></description>
            <content:encoded><![CDATA[探討為何現代 EF Core 開發較少提及 `WITH (NOLOCK)`，並教學如何透過 `DbCommandInterceptor` 攔截 SQL Command，動態注入 `NOLOCK` 提示或處理 Parameter Sniffing 效能問題。]]></content:encoded>
            <category>.NET</category>
            <category>Entity Framework</category>
            <category>SQL Server</category>
        </item>
        <item>
            <title><![CDATA[Docker Compose 架設 SQL Server 權限問題解決方案]]></title>
            <link>https://note.cloudywing.net/devops/Docker Compose 架設 SQL Server 權限問題解決方案</link>
            <guid isPermaLink="false">https://note.cloudywing.net/devops/Docker Compose 架設 SQL Server 權限問題解決方案</guid>
            <pubDate>Sun, 24 Aug 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[解決使用 Docker Compose 架設 SQL Server 時遇到的檔案權限 (Permission Denied) 問題。說明如何調整 Volume 掛載目錄的擁有者權限 (chown) 以符合容器內 mssql 使用者的需求。]]></description>
            <content:encoded><![CDATA[解決使用 Docker Compose 架設 SQL Server 時遇到的檔案權限 (Permission Denied) 問題。說明如何調整 Volume 掛載目錄的擁有者權限 (chown) 以符合容器內 mssql 使用者的需求。]]></content:encoded>
            <category>SQL Server</category>
            <category>Docker</category>
        </item>
        <item>
            <title><![CDATA[解決 WSL 2 Docker 檔案權限問題]]></title>
            <link>https://note.cloudywing.net/devops/解決 WSL 2 Docker 檔案權限問題</link>
            <guid isPermaLink="false">https://note.cloudywing.net/devops/解決 WSL 2 Docker 檔案權限問題</guid>
            <pubDate>Mon, 19 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[分享從 Windows Docker 遷移至 WSL 2 的心路歷程，解決檔案權限問題的暴力解法，以及最終改用 Dev Containers 的優雅方案。]]></description>
            <content:encoded><![CDATA[分享從 Windows Docker 遷移至 WSL 2 的心路歷程，解決檔案權限問題的暴力解法，以及最終改用 Dev Containers 的優雅方案。]]></content:encoded>
            <category>Docker</category>
            <category>WSL</category>
            <category>Visual Studio Code</category>
            <category>Dev Containers</category>
        </item>
        <item>
            <title><![CDATA[使用 Subtitle Edit 整合 Faster-Whisper 進行本地語音轉文字]]></title>
            <link>https://note.cloudywing.net/ai/使用 Subtitle Edit 整合 Faster-Whisper 進行本地語音轉文字</link>
            <guid isPermaLink="false">https://note.cloudywing.net/ai/使用 Subtitle Edit 整合 Faster-Whisper 進行本地語音轉文字</guid>
            <pubDate>Sat, 31 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[實測使用 Subtitle Edit 整合 Faster-Whisper 進行離線語音轉文字的效能與準確度，並比較不同 Whisper 模型的差異。]]></description>
            <content:encoded><![CDATA[實測使用 Subtitle Edit 整合 Faster-Whisper 進行離線語音轉文字的效能與準確度，並比較不同 Whisper 模型的差異。]]></content:encoded>
            <category>Whisper</category>
            <category>Subtitle Edit</category>
        </item>
        <item>
            <title><![CDATA[使用 Google Apps Script 同步 Markdown 筆記至 NotebookLM]]></title>
            <link>https://note.cloudywing.net/ai/使用 Google Apps Script 同步 Markdown 筆記至 NotebookLM</link>
            <guid isPermaLink="false">https://note.cloudywing.net/ai/使用 Google Apps Script 同步 Markdown 筆記至 NotebookLM</guid>
            <pubDate>Tue, 27 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[解決 NotebookLM 無法自動同步 Markdown 筆記的問題，透過 Google Apps Script 建立自動化更新流程。]]></description>
            <content:encoded><![CDATA[解決 NotebookLM 無法自動同步 Markdown 筆記的問題，透過 Google Apps Script 建立自動化更新流程。]]></content:encoded>
            <category>NotebookLM</category>
            <category>Google Apps Script</category>
        </item>
        <item>
            <title><![CDATA[在 Windows 上使用 WSL 2 安裝 Linux]]></title>
            <link>https://note.cloudywing.net/devops/在 Windows 上使用 WSL 2 安裝 Linux</link>
            <guid isPermaLink="false">https://note.cloudywing.net/devops/在 Windows 上使用 WSL 2 安裝 Linux</guid>
            <pubDate>Mon, 24 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[教學如何在 Windows 10/11 上安裝 WSL 2 (Windows Subsystem for Linux)。說明 WSL 2 與 Docker Desktop 的架構關係，以及如何設定預設 Linux 發行版。]]></description>
            <content:encoded><![CDATA[教學如何在 Windows 10/11 上安裝 WSL 2 (Windows Subsystem for Linux)。說明 WSL 2 與 Docker Desktop 的架構關係，以及如何設定預設 Linux 發行版。]]></content:encoded>
            <category>Docker</category>
            <category>WSL</category>
        </item>
        <item>
            <title><![CDATA[如何在發佈 ASP.NET Core 網站時自動套用 Shadow Copying 設定]]></title>
            <link>https://note.cloudywing.net/devops/如何在發佈 ASP.NET Core 網站時自動套用 Shadow Copying 設定</link>
            <guid isPermaLink="false">https://note.cloudywing.net/devops/如何在發佈 ASP.NET Core 網站時自動套用 Shadow Copying 設定</guid>
            <pubDate>Tue, 18 Mar 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[解決 ASP.NET Core 部署時 DLL 鎖死無法更新的問題。推薦在專案根目錄預置 `web.config` 並設定 Shadow Copying，優於手動修改伺服器設定的傳統做法。]]></description>
            <content:encoded><![CDATA[解決 ASP.NET Core 部署時 DLL 鎖死無法更新的問題。推薦在專案根目錄預置 `web.config` 並設定 Shadow Copying，優於手動修改伺服器設定的傳統做法。]]></content:encoded>
            <category>.NET</category>
            <category>ASP.NET</category>
            <category>ASP.NET Core</category>
        </item>
        <item>
            <title><![CDATA[Vibe Coding 的新手體驗 - Antigravity]]></title>
            <link>https://note.cloudywing.net/ai/Vibe Coding 的新手體驗 - Antigravity</link>
            <guid isPermaLink="false">https://note.cloudywing.net/ai/Vibe Coding 的新手體驗 - Antigravity</guid>
            <pubDate>Wed, 07 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[分享使用 Antigravity 進行 Vibe Coding 的體驗，包含 UI 介面介紹、設定說明、GEMINI.md 進階技巧、實際案例應用以及遇到的地雷（Git 快照、編碼問題）。]]></description>
            <content:encoded><![CDATA[分享使用 Antigravity 進行 Vibe Coding 的體驗，包含 UI 介面介紹、設定說明、GEMINI.md 進階技巧、實際案例應用以及遇到的地雷（Git 快照、編碼問題）。]]></content:encoded>
            <category>Antigravity</category>
            <category>Gemini</category>
        </item>
        <item>
            <title><![CDATA[Vibe Coding 的新手體驗 - Claude Code on desktop]]></title>
            <link>https://note.cloudywing.net/ai/Vibe Coding 的新手體驗 - Claude Code on desktop</link>
            <guid isPermaLink="false">https://note.cloudywing.net/ai/Vibe Coding 的新手體驗 - Claude Code on desktop</guid>
            <pubDate>Tue, 06 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[分享 Claude Code on Desktop 的 Vibe Coding 初體驗。探討其基於 .claude-worktrees 的隔離運作機制、情緒價值滿點的協作體驗，以及在 Session 管理、Git 操作與 Context 讀取上遇到的實際問題與地雷。]]></description>
            <content:encoded><![CDATA[分享 Claude Code on Desktop 的 Vibe Coding 初體驗。探討其基於 .claude-worktrees 的隔離運作機制、情緒價值滿點的協作體驗，以及在 Session 管理、Git 操作與 Context 讀取上遇到的實際問題與地雷。]]></content:encoded>
            <category>Claude</category>
        </item>
        <item>
            <title><![CDATA[SQL Server 效能調教]]></title>
            <link>https://note.cloudywing.net/data/SQL Server 效能調教</link>
            <guid isPermaLink="false">https://note.cloudywing.net/data/SQL Server 效能調教</guid>
            <pubDate>Wed, 15 Mar 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[介紹如何利用 SSMS 的「執行計畫 (Execution Plan)」工具分析 SQL 查詢效能。對比「實際評估計畫」與「估計執行計畫」的差異，並說明如何識別遺漏的索引 (Missing Index) 進行優化。]]></description>
            <content:encoded><![CDATA[介紹如何利用 SSMS 的「執行計畫 (Execution Plan)」工具分析 SQL 查詢效能。對比「實際評估計畫」與「估計執行計畫」的差異，並說明如何識別遺漏的索引 (Missing Index) 進行優化。]]></content:encoded>
            <category>SQL Server</category>
        </item>
        <item>
            <title><![CDATA[常用套件整理 - Visual Studio]]></title>
            <link>https://note.cloudywing.net/backend/常用套件整理 - Visual Studio</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/常用套件整理 - Visual Studio</guid>
            <pubDate>Thu, 10 Nov 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[整理作者常用的 Visual Studio 擴充套件，如 Productivity Power Tools (包含 Double-Click Maximize, Fix Mixed Tabs) 與 Dev Essentials (File Icons, SVG Viewer)，提升開發效率。]]></description>
            <content:encoded><![CDATA[整理作者常用的 Visual Studio 擴充套件，如 Productivity Power Tools (包含 Double-Click Maximize, Fix Mixed Tabs) 與 Dev Essentials (File Icons, SVG Viewer)，提升開發效率。]]></content:encoded>
            <category>.NET</category>
            <category>NuGet</category>
            <category>Visual Studio</category>
        </item>
        <item>
            <title><![CDATA[解決 Claude Code on desktop 無法恢復對話工作階段的問題]]></title>
            <link>https://note.cloudywing.net/ai/解決 Claude Code on desktop 無法恢復對話工作階段的問題</link>
            <guid isPermaLink="false">https://note.cloudywing.net/ai/解決 Claude Code on desktop 無法恢復對話工作階段的問題</guid>
            <pubDate>Sat, 27 Dec 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[針對 Claude Code on Desktop 預覽版因 OAuth 驗證過期導致無法恢復對話工作階段 (Session) 的已知 Bug，提供了一個非官方的臨時解決方案：重新執行安裝檔以重置 Sessions。]]></description>
            <content:encoded><![CDATA[針對 Claude Code on Desktop 預覽版因 OAuth 驗證過期導致無法恢復對話工作階段 (Session) 的已知 Bug，提供了一個非官方的臨時解決方案：重新執行安裝檔以重置 Sessions。]]></content:encoded>
            <category>Claude</category>
        </item>
        <item>
            <title><![CDATA[使用 Google AI Studio 生成語音檔]]></title>
            <link>https://note.cloudywing.net/ai/使用 Google AI Studio 生成語音檔</link>
            <guid isPermaLink="false">https://note.cloudywing.net/ai/使用 Google AI Studio 生成語音檔</guid>
            <pubDate>Thu, 25 Dec 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[介紹如何使用 Google AI Studio 的 Generate Speech 功能將文字轉為語音，比較了 Gemini (個人助手) 與 AI Studio (開發者工具) 的定位、計費與隱私差異，並提供詳細的操作步驟。]]></description>
            <content:encoded><![CDATA[介紹如何使用 Google AI Studio 的 Generate Speech 功能將文字轉為語音，比較了 Gemini (個人助手) 與 AI Studio (開發者工具) 的定位、計費與隱私差異，並提供詳細的操作步驟。]]></content:encoded>
            <category>Gemini</category>
            <category>Google AI Studio</category>
            <category>Text-to-Speech</category>
        </item>
        <item>
            <title><![CDATA[使用 Docker Compose 架設與配置 Nginx]]></title>
            <link>https://note.cloudywing.net/devops/使用 Docker Compose 架設與配置 Nginx</link>
            <guid isPermaLink="false">https://note.cloudywing.net/devops/使用 Docker Compose 架設與配置 Nginx</guid>
            <pubDate>Thu, 27 Nov 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[紀錄使用 Docker Compose 快速部署 Nginx 的配置過程。簡介 Nginx 架構 (Main, Events, HTTP Context) 並著重於 Docker Compose V2 語法的實作範例。]]></description>
            <content:encoded><![CDATA[紀錄使用 Docker Compose 快速部署 Nginx 的配置過程。簡介 Nginx 架構 (Main, Events, HTTP Context) 並著重於 Docker Compose V2 語法的實作範例。]]></content:encoded>
            <category>Docker</category>
            <category>Nginx</category>
        </item>
        <item>
            <title><![CDATA[在 .NET 使用 MQTT：MQTTnet 與 Mosquitto 實作]]></title>
            <link>https://note.cloudywing.net/backend/在 .NET 使用 MQTT：MQTTnet 與 Mosquitto 實作</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/在 .NET 使用 MQTT：MQTTnet 與 Mosquitto 實作</guid>
            <pubDate>Sat, 15 Nov 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[介紹 MQTT 協定在 .NET 中的應用。教學包含使用 Docker 架設 Mosquitto Broker，以及使用 MQTTnet 套件實作 Publisher 與 Subscriber 的完整流程，適合 IoT 入門開發。]]></description>
            <content:encoded><![CDATA[介紹 MQTT 協定在 .NET 中的應用。教學包含使用 Docker 架設 Mosquitto Broker，以及使用 MQTTnet 套件實作 Publisher 與 Subscriber 的完整流程，適合 IoT 入門開發。]]></content:encoded>
            <category>.NET</category>
            <category>Docker</category>
            <category>Mosquitto</category>
            <category>MQTT</category>
            <category>MQTTnet</category>
        </item>
        <item>
            <title><![CDATA[Elasticsearch Query DSL 查詢語法筆記]]></title>
            <link>https://note.cloudywing.net/data/Elasticsearch Query DSL 查詢語法筆記</link>
            <guid isPermaLink="false">https://note.cloudywing.net/data/Elasticsearch Query DSL 查詢語法筆記</guid>
            <pubDate>Tue, 04 Nov 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[整理 Elasticsearch Query DSL 常用語法。對比 Query String，DSL 支援 Nested 巢狀查詢、Geo 地理查詢及 Function Score 自訂評分，適合建構複雜且精準的搜尋邏輯。]]></description>
            <content:encoded><![CDATA[整理 Elasticsearch Query DSL 常用語法。對比 Query String，DSL 支援 Nested 巢狀查詢、Geo 地理查詢及 Function Score 自訂評分，適合建構複雜且精準的搜尋邏輯。]]></content:encoded>
            <category>Elastic Stack</category>
            <category>Elasticsearch</category>
        </item>
        <item>
            <title><![CDATA[使用 Docker Compose 安裝 Elasticsearch 與 Kibana]]></title>
            <link>https://note.cloudywing.net/devops/使用 Docker Compose 安裝 Elasticsearch 與 Kibana</link>
            <guid isPermaLink="false">https://note.cloudywing.net/devops/使用 Docker Compose 安裝 Elasticsearch 與 Kibana</guid>
            <pubDate>Wed, 24 Sep 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[介紹使用 Docker Compose 快速部署 Elasticsearch 與 Kibana 單節點環境。提供完整的 `docker-compose.yml` 與 `.env` 設定範例，並提醒 Volume 權限設定的重要性。]]></description>
            <content:encoded><![CDATA[介紹使用 Docker Compose 快速部署 Elasticsearch 與 Kibana 單節點環境。提供完整的 `docker-compose.yml` 與 `.env` 設定範例，並提醒 Volume 權限設定的重要性。]]></content:encoded>
            <category>Elastic Stack</category>
            <category>Elasticsearch</category>
            <category>Docker</category>
        </item>
        <item>
            <title><![CDATA[Elasticsearch 的 Dynamic Field Mapping 注意事項]]></title>
            <link>https://note.cloudywing.net/data/Elasticsearch 的 Dynamic Field Mapping 注意事項</link>
            <guid isPermaLink="false">https://note.cloudywing.net/data/Elasticsearch 的 Dynamic Field Mapping 注意事項</guid>
            <pubDate>Sat, 04 Oct 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[提醒在生產環境中應避免過度依賴 Elasticsearch 的 Dynamic Mapping。分析自動對應可能導致的儲存空間浪費 (text + keyword) 及 Mapping Explosion 問題，建議明確定義 Schema。]]></description>
            <content:encoded><![CDATA[提醒在生產環境中應避免過度依賴 Elasticsearch 的 Dynamic Mapping。分析自動對應可能導致的儲存空間浪費 (text + keyword) 及 Mapping Explosion 問題，建議明確定義 Schema。]]></content:encoded>
            <category>Elastic Stack</category>
            <category>Elasticsearch</category>
        </item>
        <item>
            <title><![CDATA[Elasticsearch QueryString 查詢語法筆記]]></title>
            <link>https://note.cloudywing.net/data/Elasticsearch QueryString 查詢語法筆記</link>
            <guid isPermaLink="false">https://note.cloudywing.net/data/Elasticsearch QueryString 查詢語法筆記</guid>
            <pubDate>Sun, 13 Apr 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[介紹 Elasticsearch 的 `query_string` 語法。說明如何使用簡易的字串條件 (如 AND, OR, 萬用字元) 進行全文檢索，適合 Elasticvue 或 Kibana Discover 的快速查詢場景。]]></description>
            <content:encoded><![CDATA[介紹 Elasticsearch 的 `query_string` 語法。說明如何使用簡易的字串條件 (如 AND, OR, 萬用字元) 進行全文檢索，適合 Elasticvue 或 Kibana Discover 的快速查詢場景。]]></content:encoded>
            <category>Elastic Stack</category>
            <category>Elasticsearch</category>
        </item>
        <item>
            <title><![CDATA[Excel 欄位寬度的隱藏陷阱]]></title>
            <link>https://note.cloudywing.net/backend/Excel 欄位寬度的隱藏陷阱</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/Excel 欄位寬度的隱藏陷阱</guid>
            <pubDate>Sun, 31 Aug 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[探討 NPOI 與 EPPlus 匯出 Excel 時，欄位寬度不一致的隱藏原因。發現 Excel 預設字型（Default Font）對欄寬計算的影響，並提供如何透過程式碼正確設定預設字型的解決方案。]]></description>
            <content:encoded><![CDATA[探討 NPOI 與 EPPlus 匯出 Excel 時，欄位寬度不一致的隱藏原因。發現 Excel 預設字型（Default Font）對欄寬計算的影響，並提供如何透過程式碼正確設定預設字型的解決方案。]]></content:encoded>
            <category>.NET</category>
            <category>EPPlus</category>
            <category>Excel</category>
            <category>NPOI</category>
        </item>
        <item>
            <title><![CDATA[淺談 throw 與 throw ex 的差異]]></title>
            <link>https://note.cloudywing.net/backend/淺談 throw 與 throw ex 的差異</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/淺談 throw 與 throw ex 的差異</guid>
            <pubDate>Thu, 31 Jul 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[解析 C# 中 `throw` 與 `throw ex` 的關鍵差異。強調 `throw` 能保留原始 Stack Trace，有助於除錯；而 `throw ex` 會重置堆疊資訊，應避免使用。]]></description>
            <content:encoded><![CDATA[解析 C# 中 `throw` 與 `throw ex` 的關鍵差異。強調 `throw` 能保留原始 Stack Trace，有助於除錯；而 `throw ex` 會重置堆疊資訊，應避免使用。]]></content:encoded>
            <category>.NET</category>
            <category>C#</category>
        </item>
        <item>
            <title><![CDATA[淺談 Entity Framework 中的預設值行為]]></title>
            <link>https://note.cloudywing.net/backend/淺談 Entity Framework 中的預設值行為</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/淺談 Entity Framework 中的預設值行為</guid>
            <pubDate>Sat, 12 Jul 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[探討 EF Core 對於資料庫預設值 (Default Value) 的處理邏輯。分析當 Entity 屬性為 `null` 時，EF 是忽略該欄位還是明確寫入 `null`，以及如何透過 `ValueGeneratedOnAdd` 設定正確行為。]]></description>
            <content:encoded><![CDATA[探討 EF Core 對於資料庫預設值 (Default Value) 的處理邏輯。分析當 Entity 屬性為 `null` 時，EF 是忽略該欄位還是明確寫入 `null`，以及如何透過 `ValueGeneratedOnAdd` 設定正確行為。]]></content:encoded>
            <category>.NET</category>
            <category>Entity Framework</category>
        </item>
        <item>
            <title><![CDATA[EF Core Power Tools 介紹]]></title>
            <link>https://note.cloudywing.net/backend/EF Core Power Tools 介紹</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/EF Core Power Tools 介紹</guid>
            <pubDate>Mon, 07 Jul 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[介紹 Visual Studio 必備擴充套件 EF Core Power Tools。說明如何透過圖形化介面（GUI）進行反向工程（Reverse Engineering），支援 .NET 8 的 DateOnly/TimeOnly 型別對應，並解決 EF Core 原生指令操作繁瑣的問題。]]></description>
            <content:encoded><![CDATA[介紹 Visual Studio 必備擴充套件 EF Core Power Tools。說明如何透過圖形化介面（GUI）進行反向工程（Reverse Engineering），支援 .NET 8 的 DateOnly/TimeOnly 型別對應，並解決 EF Core 原生指令操作繁瑣的問題。]]></content:encoded>
            <category>.NET</category>
            <category>Entity Framework</category>
            <category>Visual Studio</category>
        </item>
        <item>
            <title><![CDATA[Visual Studio 快速將 JSON 轉換為 C# 類別]]></title>
            <link>https://note.cloudywing.net/backend/Visual Studio 快速將 JSON 轉換為 CSharp 類別</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/Visual Studio 快速將 JSON 轉換為 CSharp 類別</guid>
            <pubDate>Tue, 27 May 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[介紹 Visual Studio 內建的「選擇性貼上 (Paste Special)」功能，能快速將 JSON 字串轉換為 C# 類別 (Class) 結構，並提醒在作為 DTO 使用時需注意屬性命名與型別驗證。]]></description>
            <content:encoded><![CDATA[介紹 Visual Studio 內建的「選擇性貼上 (Paste Special)」功能，能快速將 JSON 字串轉換為 C# 類別 (Class) 結構，並提醒在作為 DTO 使用時需注意屬性命名與型別驗證。]]></content:encoded>
            <category>C#</category>
            <category>Visual Studio</category>
        </item>
        <item>
            <title><![CDATA[GitLab CI 語法與變數整理]]></title>
            <link>https://note.cloudywing.net/devops/GitLab CI 語法與變數整理</link>
            <guid isPermaLink="false">https://note.cloudywing.net/devops/GitLab CI 語法與變數整理</guid>
            <pubDate>Mon, 07 Apr 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[整理 GitLab CI/CD (`.gitlab-ci.yml`) 常用語法與關鍵字。涵蓋 Stages, Jobs, Rules, Only/Except 定義，以及預定義變數 (Predefined Variables) 的使用參考。]]></description>
            <content:encoded><![CDATA[整理 GitLab CI/CD (`.gitlab-ci.yml`) 常用語法與關鍵字。涵蓋 Stages, Jobs, Rules, Only/Except 定義，以及預定義變數 (Predefined Variables) 的使用參考。]]></content:encoded>
            <category>Git</category>
            <category>GitLab</category>
        </item>
        <item>
            <title><![CDATA[在 Visual Studio 中設定 GitLab 作為 NuGet Packages 來源]]></title>
            <link>https://note.cloudywing.net/devops/在 Visual Studio 中設定 GitLab 作為 NuGet Packages 來源</link>
            <guid isPermaLink="false">https://note.cloudywing.net/devops/在 Visual Studio 中設定 GitLab 作為 NuGet Packages 來源</guid>
            <pubDate>Sun, 30 Mar 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[教學如何將私有 GitLab Package Registry 設定為 Visual Studio 的 NuGet 來源，並分享如何透過 GitLab CI/CD Pipeline 自動化打包 (.nupkg) 與發佈流程。]]></description>
            <content:encoded><![CDATA[教學如何將私有 GitLab Package Registry 設定為 Visual Studio 的 NuGet 來源，並分享如何透過 GitLab CI/CD Pipeline 自動化打包 (.nupkg) 與發佈流程。]]></content:encoded>
            <category>.NET</category>
            <category>Git</category>
            <category>GitLab</category>
            <category>Visual Studio</category>
        </item>
        <item>
            <title><![CDATA[使用 MinVer 自動化 .NET 類別庫的版本號管理]]></title>
            <link>https://note.cloudywing.net/devops/使用 MinVer 自動化 .NET 類別庫的版本號管理</link>
            <guid isPermaLink="false">https://note.cloudywing.net/devops/使用 MinVer 自動化 .NET 類別庫的版本號管理</guid>
            <pubDate>Sat, 29 Mar 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[介紹使用 MinVer 取代 GitVersion 進行 .NET 套件版本控制。說明 MinVer 基於 Git Tag 的版本推斷機制，以及如何自動生成 AssemblyVersion 與 PackageVersion，簡化 CI/CD 流程。]]></description>
            <content:encoded><![CDATA[介紹使用 MinVer 取代 GitVersion 進行 .NET 套件版本控制。說明 MinVer 基於 Git Tag 的版本推斷機制，以及如何自動生成 AssemblyVersion 與 PackageVersion，簡化 CI/CD 流程。]]></content:encoded>
            <category>.NET</category>
            <category>MinVer</category>
        </item>
        <item>
            <title><![CDATA[簡單測試使用 WhisperDesktop 將語音轉成文字]]></title>
            <link>https://note.cloudywing.net/ai/簡單測試使用 WhisperDesktop 將語音轉成文字</link>
            <guid isPermaLink="false">https://note.cloudywing.net/ai/簡單測試使用 WhisperDesktop 將語音轉成文字</guid>
            <pubDate>Mon, 24 Mar 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[測試 OpenAI Whisper 的離線桌機版工具 WhisperDesktop，說明下載安裝步驟、模型選擇 (ggml-medium.bin) 以及顯卡 VRAM 需求，實現無須 Python 環境的語音轉文字功能。]]></description>
            <content:encoded><![CDATA[測試 OpenAI Whisper 的離線桌機版工具 WhisperDesktop，說明下載安裝步驟、模型選擇 (ggml-medium.bin) 以及顯卡 VRAM 需求，實現無須 Python 環境的語音轉文字功能。]]></content:encoded>
            <category>Whisper</category>
        </item>
        <item>
            <title><![CDATA[淺談 .NET 預設 Logger 及其優化技巧]]></title>
            <link>https://note.cloudywing.net/backend/淺談 .NET 預設 Logger 及其優化技巧</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/淺談 .NET 預設 Logger 及其優化技巧</guid>
            <pubDate>Sun, 23 Mar 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[介紹 .NET Core 內建 Logging 機制的 Log Level (Trace 到 Critical) 定義。分析 `WebApplication.CreateBuilder` 預設載入的 Logger Provider，並分享如何優化日誌記錄策略。]]></description>
            <content:encoded><![CDATA[介紹 .NET Core 內建 Logging 機制的 Log Level (Trace 到 Critical) 定義。分析 `WebApplication.CreateBuilder` 預設載入的 Logger Provider，並分享如何優化日誌記錄策略。]]></content:encoded>
            <category>.NET</category>
            <category>ASP.NET</category>
            <category>ASP.NET Core</category>
            <category>Logging</category>
        </item>
        <item>
            <title><![CDATA[繼續瀏覽使用不安全 SSL 憑證網站的方法]]></title>
            <link>https://note.cloudywing.net/frontend/繼續瀏覽使用不安全 SSL 憑證網站的方法</link>
            <guid isPermaLink="false">https://note.cloudywing.net/frontend/繼續瀏覽使用不安全 SSL 憑證網站的方法</guid>
            <pubDate>Sun, 23 Mar 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[介紹 Chrome 瀏覽器繞過 SSL 安全警告的隱藏指令 `thisisunsafe`。說明當無「繼續前往網站」選項時，如何透過鍵盤指令強制存取內部測試或憑證過期的網站。]]></description>
            <content:encoded><![CDATA[介紹 Chrome 瀏覽器繞過 SSL 安全警告的隱藏指令 `thisisunsafe`。說明當無「繼續前往網站」選項時，如何透過鍵盤指令強制存取內部測試或憑證過期的網站。]]></content:encoded>
            <category>Browser</category>
        </item>
        <item>
            <title><![CDATA[Windows 環境下的 Kibana 安裝指南]]></title>
            <link>https://note.cloudywing.net/devops/Windows 環境下的 Kibana 安裝指南</link>
            <guid isPermaLink="false">https://note.cloudywing.net/devops/Windows 環境下的 Kibana 安裝指南</guid>
            <pubDate>Tue, 18 Mar 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[記錄在 Windows 環境安裝 Kibana 的步驟。說明目錄結構、`kibana.yml` 設定 (包含 Network Host 與 Elasticsearch 連線帳號 `kibana_system`)，以及解決 SSL 連線問題的經驗。]]></description>
            <content:encoded><![CDATA[記錄在 Windows 環境安裝 Kibana 的步驟。說明目錄結構、`kibana.yml` 設定 (包含 Network Host 與 Elasticsearch 連線帳號 `kibana_system`)，以及解決 SSL 連線問題的經驗。]]></content:encoded>
            <category>Elastic Stack</category>
        </item>
        <item>
            <title><![CDATA[Windows 環境下的單節點 Elasticsearch 安裝指南]]></title>
            <link>https://note.cloudywing.net/devops/Windows 環境下的單節點 Elasticsearch 安裝指南</link>
            <guid isPermaLink="false">https://note.cloudywing.net/devops/Windows 環境下的單節點 Elasticsearch 安裝指南</guid>
            <pubDate>Thu, 23 Jan 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[教學如何在 Windows 上安裝單節點 Elasticsearch。包含 JDK 環境、`elasticsearch.yml` 基礎設定 (Cluster/Node Name, Data/Log Path, Network Host) 與 CORS 配置，以及 JVM 記憶體參數調整。]]></description>
            <content:encoded><![CDATA[教學如何在 Windows 上安裝單節點 Elasticsearch。包含 JDK 環境、`elasticsearch.yml` 基礎設定 (Cluster/Node Name, Data/Log Path, Network Host) 與 CORS 配置，以及 JVM 記憶體參數調整。]]></content:encoded>
            <category>Elastic Stack</category>
            <category>Elasticsearch</category>
        </item>
        <item>
            <title><![CDATA[ASP.NET Core Web API 檔案上傳處理方式的實踐探討]]></title>
            <link>https://note.cloudywing.net/backend/ASP.NET Core Web API 檔案上傳處理方式的實踐探討</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/ASP.NET Core Web API 檔案上傳處理方式的實踐探討</guid>
            <pubDate>Mon, 10 Mar 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[探討後端處理 Web API 檔案上傳的兩種常見模式（Form vs Base64），並提出「上傳與業務邏輯分離」的推薦架構，以解決前後端協作痛點並提升 API 一致性。]]></description>
            <content:encoded><![CDATA[探討後端處理 Web API 檔案上傳的兩種常見模式（Form vs Base64），並提出「上傳與業務邏輯分離」的推薦架構，以解決前後端協作痛點並提升 API 一致性。]]></content:encoded>
            <category>.NET</category>
            <category>ASP.NET</category>
            <category>ASP.NET Core</category>
        </item>
        <item>
            <title><![CDATA[使用應用程式密碼透過 IMAP 存取 Gmail]]></title>
            <link>https://note.cloudywing.net/devops/使用應用程式密碼透過 IMAP 存取 Gmail</link>
            <guid isPermaLink="false">https://note.cloudywing.net/devops/使用應用程式密碼透過 IMAP 存取 Gmail</guid>
            <pubDate>Wed, 05 Mar 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[解決 Gmail 停用低安全性應用程式存取後，透過 IMAP 讀取信件的問題。教學如何啟用 Google 帳號兩步驗證並產生「應用程式密碼 (App Password)」以供第三方程式連線。]]></description>
            <content:encoded><![CDATA[解決 Gmail 停用低安全性應用程式存取後，透過 IMAP 讀取信件的問題。教學如何啟用 Google 帳號兩步驗證並產生「應用程式密碼 (App Password)」以供第三方程式連線。]]></content:encoded>
            <category>Email</category>
            <category>Gmail</category>
            <category>IMAP</category>
        </item>
        <item>
            <title><![CDATA[ASP.NET Core Web API 入門心得 - 改善 Enum 註解]]></title>
            <link>https://note.cloudywing.net/backend/ASP.NET Core Web API 入門心得 - 改善 Enum 註解</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/ASP.NET Core Web API 入門心得 - 改善 Enum 註解</guid>
            <pubDate>Wed, 10 Apr 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[解決 Swagger (Swashbuckle) 預設無法顯示 Enum 成員 XML 註解的問題。教學如何實作自定義 `ISchemaFilter`，解析 XML 文件並將 Enum 的詳細說明注入到 OpenAPI Schema 的 Description 中，提升 API 文件的可讀性。]]></description>
            <content:encoded><![CDATA[解決 Swagger (Swashbuckle) 預設無法顯示 Enum 成員 XML 註解的問題。教學如何實作自定義 `ISchemaFilter`，解析 XML 文件並將 Enum 的詳細說明注入到 OpenAPI Schema 的 Description 中，提升 API 文件的可讀性。]]></content:encoded>
            <category>.NET</category>
            <category>ASP.NET</category>
            <category>ASP.NET Core</category>
            <category>Web API</category>
            <category>Swagger</category>
        </item>
        <item>
            <title><![CDATA[在 .NET 專案中使用 Microsoft.Office.Interop.Excel 的常見問題]]></title>
            <link>https://note.cloudywing.net/backend/在 .NET 專案中使用 Microsoft.Office.Interop.Excel 的常見問題</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/在 .NET 專案中使用 Microsoft.Office.Interop.Excel 的常見問題</guid>
            <pubDate>Mon, 21 Oct 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[探討在 .NET 專案使用 Microsoft.Office.Interop.Excel 進行 ODS 轉檔時的常見問題，包括 `dotnet publish` 編譯錯誤 (MSB4803) 與 DCOM 權限不足 (0x80070005) 的排查解決方式。]]></description>
            <content:encoded><![CDATA[探討在 .NET 專案使用 Microsoft.Office.Interop.Excel 進行 ODS 轉檔時的常見問題，包括 `dotnet publish` 編譯錯誤 (MSB4803) 與 DCOM 權限不足 (0x80070005) 的排查解決方式。]]></content:encoded>
            <category>C#</category>
            <category>Excel</category>
        </item>
        <item>
            <title><![CDATA[在 ASP.NET Core Web API 中實現可選更新功能]]></title>
            <link>https://note.cloudywing.net/backend/在 ASP.NET Core Web API 中實現可選更新功能</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/在 ASP.NET Core Web API 中實現可選更新功能</guid>
            <pubDate>Mon, 21 Oct 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[探討 RESTful PATCH API 中如何區分「不更新欄位」與「更新為 null」。提出一種基於自定義 `OptionalValue<T>` struct 搭配 JsonConverter 與 ModelBinder 的解決方案，讓後端能精確判斷前端傳遞的有效欄位。]]></description>
            <content:encoded><![CDATA[探討 RESTful PATCH API 中如何區分「不更新欄位」與「更新為 null」。提出一種基於自定義 `OptionalValue<T>` struct 搭配 JsonConverter 與 ModelBinder 的解決方案，讓後端能精確判斷前端傳遞的有效欄位。]]></content:encoded>
            <category>.NET</category>
            <category>C#</category>
            <category>ASP.NET</category>
            <category>ASP.NET Core</category>
        </item>
        <item>
            <title><![CDATA[淺談 SQL Server 的交易紀錄檔]]></title>
            <link>https://note.cloudywing.net/data/淺談 SQL Server 的交易紀錄檔</link>
            <guid isPermaLink="false">https://note.cloudywing.net/data/淺談 SQL Server 的交易紀錄檔</guid>
            <pubDate>Thu, 17 Oct 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[解析 SQL Server 交易紀錄檔 (.ldf) 的運作機制。介紹完整 (Full)、大量記錄 (Bulk-Logged) 與簡單 (Simple) 三種復原模式的差異，以及交易記錄檔截斷 (Truncation) 與備份的重要性。]]></description>
            <content:encoded><![CDATA[解析 SQL Server 交易紀錄檔 (.ldf) 的運作機制。介紹完整 (Full)、大量記錄 (Bulk-Logged) 與簡單 (Simple) 三種復原模式的差異，以及交易記錄檔截斷 (Truncation) 與備份的重要性。]]></content:encoded>
            <category>SQL Server</category>
        </item>
        <item>
            <title><![CDATA[使用 CallerArgumentExpression 簡化參數檢核]]></title>
            <link>https://note.cloudywing.net/backend/使用 CallerArgumentExpression 簡化參數檢核</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/使用 CallerArgumentExpression 簡化參數檢核</guid>
            <pubDate>Sun, 13 Oct 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[介紹 C# 10 的 `[CallerArgumentExpression]` 屬性，說明如何將其應用於 `ExceptionUtils` 工具類，在拋出 ArgumentException 時自動擷取參數名稱，簡化參數檢核程式碼。]]></description>
            <content:encoded><![CDATA[介紹 C# 10 的 `[CallerArgumentExpression]` 屬性，說明如何將其應用於 `ExceptionUtils` 工具類，在拋出 ArgumentException 時自動擷取參數名稱，簡化參數檢核程式碼。]]></content:encoded>
            <category>.NET</category>
            <category>C#</category>
        </item>
        <item>
            <title><![CDATA[有關 .NET 技術文檔與命名規範的演變]]></title>
            <link>https://note.cloudywing.net/backend/有關 .NET 技術文檔與命名規範的演變</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/有關 .NET 技術文檔與命名規範的演變</guid>
            <pubDate>Fri, 20 Sep 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[觀察 .NET 技術生態的變遷，記錄 MSDN 轉型為 Microsoft Learn 的過程，以及 C# 命名規範 (如 Private Field 前綴 `_`) 在官方文件與 StyleCop 規則中的演變與差異。]]></description>
            <content:encoded><![CDATA[觀察 .NET 技術生態的變遷，記錄 MSDN 轉型為 Microsoft Learn 的過程，以及 C# 命名規範 (如 Private Field 前綴 `_`) 在官方文件與 StyleCop 規則中的演變與差異。]]></content:encoded>
            <category>.NET</category>
        </item>
        <item>
            <title><![CDATA[淺談 Git Commit 規範]]></title>
            <link>https://note.cloudywing.net/devops/淺談 Git Commit 規範</link>
            <guid isPermaLink="false">https://note.cloudywing.net/devops/淺談 Git Commit 規範</guid>
            <pubDate>Tue, 23 Jul 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[介紹 Git Commit Message 的撰寫規範，以 Angular Commit Format 為例。說明 Header (Type, Scope, Summary)、Body 與 Footer 的結構，以及常用的 Commit Types (feat, fix, docs 等)。]]></description>
            <content:encoded><![CDATA[介紹 Git Commit Message 的撰寫規範，以 Angular Commit Format 為例。說明 Header (Type, Scope, Summary)、Body 與 Footer 的結構，以及常用的 Commit Types (feat, fix, docs 等)。]]></content:encoded>
            <category>Git</category>
        </item>
        <item>
            <title><![CDATA[淺談 Git 資料結構]]></title>
            <link>https://note.cloudywing.net/devops/淺談 Git 資料結構</link>
            <guid isPermaLink="false">https://note.cloudywing.net/devops/淺談 Git 資料結構</guid>
            <pubDate>Wed, 31 Jul 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[深入解析 `.git` 目錄結構。介紹 hooks, info, logs, refs 等資料夾用途，並解說 Git 物件 (Blob, Tree, Commit) 如何以 SHA-1 Hash 儲存檔案內容與版本歷程。]]></description>
            <content:encoded><![CDATA[深入解析 `.git` 目錄結構。介紹 hooks, info, logs, refs 等資料夾用途，並解說 Git 物件 (Blob, Tree, Commit) 如何以 SHA-1 Hash 儲存檔案內容與版本歷程。]]></content:encoded>
            <category>Git</category>
        </item>
        <item>
            <title><![CDATA[ASPNETCORE_ENVIRONMENT 失效的原因]]></title>
            <link>https://note.cloudywing.net/devops/ASPNETCORE_ENVIRONMENT 失效的原因</link>
            <guid isPermaLink="false">https://note.cloudywing.net/devops/ASPNETCORE_ENVIRONMENT 失效的原因</guid>
            <pubDate>Thu, 19 Sep 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[深入排查 `ASPNETCORE_ENVIRONMENT` 環境變數設定失效的原因。發現即使在 Windows 全域環境變數設定成功，IIS 仍可能讀取舊值，必須執行 `iisreset` 重新啟動 IIS 服務才能確保環境變數變更生效。]]></description>
            <content:encoded><![CDATA[深入排查 `ASPNETCORE_ENVIRONMENT` 環境變數設定失效的原因。發現即使在 Windows 全域環境變數設定成功，IIS 仍可能讀取舊值，必須執行 `iisreset` 重新啟動 IIS 服務才能確保環境變數變更生效。]]></content:encoded>
            <category>.NET</category>
            <category>ASP.NET</category>
            <category>ASP.NET Core</category>
        </item>
        <item>
            <title><![CDATA[淺談 C# 的 GetHashCode()]]></title>
            <link>https://note.cloudywing.net/backend/淺談 CSharp 的 GetHashCode()</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/淺談 CSharp 的 GetHashCode()</guid>
            <pubDate>Sun, 01 Sep 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[探討 C# `GetHashCode()` 的實作原則及其在 Dictionary 與 HashSet 中的作用。強調覆寫 `Equals()` 時必須同時覆寫 `GetHashCode()` 以避免雜湊碰撞或物件比對錯誤。]]></description>
            <content:encoded><![CDATA[探討 C# `GetHashCode()` 的實作原則及其在 Dictionary 與 HashSet 中的作用。強調覆寫 `Equals()` 時必須同時覆寫 `GetHashCode()` 以避免雜湊碰撞或物件比對錯誤。]]></content:encoded>
            <category>C#</category>
        </item>
        <item>
            <title><![CDATA[使用 SQL Server Management Studio 設定資料表描述]]></title>
            <link>https://note.cloudywing.net/data/使用 SQL Server Management Studio 設定資料表描述</link>
            <guid isPermaLink="false">https://note.cloudywing.net/data/使用 SQL Server Management Studio 設定資料表描述</guid>
            <pubDate>Mon, 15 Jul 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[說明如何在 SSMS 中設定資料表描述 (Description)，以支援 DB Schema 文件化。介紹透過 SSMS UI「擴充屬性 (Extended Properties)」與使用 `sp_addextendedproperty` 預存程序兩種設定方式。]]></description>
            <content:encoded><![CDATA[說明如何在 SSMS 中設定資料表描述 (Description)，以支援 DB Schema 文件化。介紹透過 SSMS UI「擴充屬性 (Extended Properties)」與使用 `sp_addextendedproperty` 預存程序兩種設定方式。]]></content:encoded>
            <category>SQL Server</category>
        </item>
        <item>
            <title><![CDATA[淺談 Git 的 Merge 和 Rebase 的差異]]></title>
            <link>https://note.cloudywing.net/devops/淺談 Git 的 Merge 和 Rebase 的差異</link>
            <guid isPermaLink="false">https://note.cloudywing.net/devops/淺談 Git 的 Merge 和 Rebase 的差異</guid>
            <pubDate>Fri, 23 Aug 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[比較 `git merge` 與 `git rebase` 的運作原理與使用場景。透過 Mermaid 分支圖視覺化展示兩者合併後對 Commit History 線性度的影響。]]></description>
            <content:encoded><![CDATA[比較 `git merge` 與 `git rebase` 的運作原理與使用場景。透過 Mermaid 分支圖視覺化展示兩者合併後對 Commit History 線性度的影響。]]></content:encoded>
            <category>Git</category>
        </item>
        <item>
            <title><![CDATA[淺談 Entity Framework 中 SaveChanges() 的異常處理與狀態還原]]></title>
            <link>https://note.cloudywing.net/backend/淺談 Entity Framework 中 SaveChanges() 的異常處理與狀態還原</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/淺談 Entity Framework 中 SaveChanges() 的異常處理與狀態還原</guid>
            <pubDate>Sat, 17 Aug 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[整理 EF Core 常見例外 (DbUpdateException, DbUpdateConcurrencyException) 的處理方式。說明如何在發生錯誤時，透過 `Reload()` 或重置 Entity State 來還原 `ChangeTracker` 狀態，避免後續寫入受阻。]]></description>
            <content:encoded><![CDATA[整理 EF Core 常見例外 (DbUpdateException, DbUpdateConcurrencyException) 的處理方式。說明如何在發生錯誤時，透過 `Reload()` 或重置 Entity State 來還原 `ChangeTracker` 狀態，避免後續寫入受阻。]]></content:encoded>
            <category>.NET</category>
            <category>C#</category>
            <category>Entity Framework</category>
        </item>
        <item>
            <title><![CDATA[Entity Framework 中 DateTime 時區問題與解決方案]]></title>
            <link>https://note.cloudywing.net/backend/Entity Framework 中 DateTime 時區問題與解決方案</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/Entity Framework 中 DateTime 時區問題與解決方案</guid>
            <pubDate>Thu, 15 Aug 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[解決 Entity Framework 處理 `DateTime` 時區（UTC）的常見問題。探討 `DateTimeKind` 為 `Unspecified` 導致的時間偏差，並教學如何透過 `ValueConverter` 自動處理資料庫讀寫時的 UTC 時間轉換，確保前後端時間一致性。]]></description>
            <content:encoded><![CDATA[解決 Entity Framework 處理 `DateTime` 時區（UTC）的常見問題。探討 `DateTimeKind` 為 `Unspecified` 導致的時間偏差，並教學如何透過 `ValueConverter` 自動處理資料庫讀寫時的 UTC 時間轉換，確保前後端時間一致性。]]></content:encoded>
            <category>.NET</category>
            <category>C#</category>
            <category>Entity Framework</category>
        </item>
        <item>
            <title><![CDATA[淺談 Entity Framework 的導覽屬性與外鍵的同步更新]]></title>
            <link>https://note.cloudywing.net/backend/淺談 Entity Framework 的導覽屬性與外鍵的同步更新</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/淺談 Entity Framework 的導覽屬性與外鍵的同步更新</guid>
            <pubDate>Mon, 12 Aug 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[驗證 EF Core 中修改 Foreign Key (如 `MainId`) 是否會自動同步 Navigation Property (如 `Main` 物件)，以及反之修改 Navigation Property 是否會同步 Foreign Key 的行為差異。]]></description>
            <content:encoded><![CDATA[驗證 EF Core 中修改 Foreign Key (如 `MainId`) 是否會自動同步 Navigation Property (如 `Main` 物件)，以及反之修改 Navigation Property 是否會同步 Foreign Key 的行為差異。]]></content:encoded>
            <category>.NET</category>
            <category>C#</category>
            <category>Entity Framework</category>
        </item>
        <item>
            <title><![CDATA[解決 .NET Docker 容器中缺少字型檔的問題]]></title>
            <link>https://note.cloudywing.net/devops/解決 .NET Docker 容器中缺少字型檔的問題</link>
            <guid isPermaLink="false">https://note.cloudywing.net/devops/解決 .NET Docker 容器中缺少字型檔的問題</guid>
            <pubDate>Fri, 09 Aug 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[針對使用 Visual Studio 產生的 Dockerfile 在 Linux 容器中缺少字型檔導致顯示異常的問題，提供在 .NET 6 (Debian 11) 與 .NET 8 (Debian 12) 環境下的安裝解決方案。]]></description>
            <content:encoded><![CDATA[針對使用 Visual Studio 產生的 Dockerfile 在 Linux 容器中缺少字型檔導致顯示異常的問題，提供在 .NET 6 (Debian 11) 與 .NET 8 (Debian 12) 環境下的安裝解決方案。]]></content:encoded>
            <category>.NET</category>
            <category>Docker</category>
        </item>
        <item>
            <title><![CDATA[淺談處置模式模式和 using 陳述式]]></title>
            <link>https://note.cloudywing.net/backend/淺談處置模式模式和 using 陳述式</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/淺談處置模式模式和 using 陳述式</guid>
            <pubDate>Thu, 08 Aug 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[深入解析 .NET `IDisposable` 介面與 Dispose Pattern。說明 `using` 語法的底層運作原理，以及如何正確實作 Finalizer 以確保非託管資源 (Unmanaged Resources) 能被安全釋放。]]></description>
            <content:encoded><![CDATA[深入解析 .NET `IDisposable` 介面與 Dispose Pattern。說明 `using` 語法的底層運作原理，以及如何正確實作 Finalizer 以確保非託管資源 (Unmanaged Resources) 能被安全釋放。]]></content:encoded>
            <category>.NET</category>
            <category>C#</category>
        </item>
        <item>
            <title><![CDATA[Unique Constraint VS Unique Index]]></title>
            <link>https://note.cloudywing.net/data/Unique Constraint VS Unique Index</link>
            <guid isPermaLink="false">https://note.cloudywing.net/data/Unique Constraint VS Unique Index</guid>
            <pubDate>Thu, 25 Jul 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[比較 SQL Server 中 Unique Constraint 與 Unique Index 的異同。指兩者在資料唯一性與查詢效能上功能相似，且建立 Unique Constraint 時會自動建立 Unique Index，主要差異在於語意與 Foreign Key 的關聯限制。]]></description>
            <content:encoded><![CDATA[比較 SQL Server 中 Unique Constraint 與 Unique Index 的異同。指兩者在資料唯一性與查詢效能上功能相似，且建立 Unique Constraint 時會自動建立 Unique Index，主要差異在於語意與 Foreign Key 的關聯限制。]]></content:encoded>
            <category>SQL Server</category>
        </item>
        <item>
            <title><![CDATA[淺談 SQL Server WHERE 子句的 NULL 判斷]]></title>
            <link>https://note.cloudywing.net/data/淺談 SQL Server WHERE 子句的 NULL 判斷</link>
            <guid isPermaLink="false">https://note.cloudywing.net/data/淺談 SQL Server WHERE 子句的 NULL 判斷</guid>
            <pubDate>Wed, 24 Jul 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[探討 SQL 中 `NULL` 的比較邏輯。強調在 `WHERE` 子句中必須使用 `IS NULL` 而非 `= NULL`，並解釋 `UNKNOWN` 邏輯運算結果對查詢的影響。]]></description>
            <content:encoded><![CDATA[探討 SQL 中 `NULL` 的比較邏輯。強調在 `WHERE` 子句中必須使用 `IS NULL` 而非 `= NULL`，並解釋 `UNKNOWN` 邏輯運算結果對查詢的影響。]]></content:encoded>
            <category>SQL Server</category>
        </item>
        <item>
            <title><![CDATA[Entity Framework 的 Find 與 Single 的選擇]]></title>
            <link>https://note.cloudywing.net/backend/Entity Framework 的 Find 與 Single 的選擇</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/Entity Framework 的 Find 與 Single 的選擇</guid>
            <pubDate>Tue, 16 Jul 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[比較 Entity Framework 中 `Find()` 與 `Single()` 方法的差異與適用場景。分析 `Find()` 優先查詢本地快取（Local Cache）的特性，以及與 `Single()` 在語意、回傳值（null vs Exception）及效能上的區別。]]></description>
            <content:encoded><![CDATA[比較 Entity Framework 中 `Find()` 與 `Single()` 方法的差異與適用場景。分析 `Find()` 優先查詢本地快取（Local Cache）的特性，以及與 `Single()` 在語意、回傳值（null vs Exception）及效能上的區別。]]></content:encoded>
            <category>.NET</category>
            <category>Entity Framework</category>
        </item>
        <item>
            <title><![CDATA[升級至 .NET 6 時多餘 AsQueryable() 呼叫的原因]]></title>
            <link>https://note.cloudywing.net/backend/升級至 .NET 6 時多餘 AsQueryable() 呼叫的原因</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/升級至 .NET 6 時多餘 AsQueryable() 呼叫的原因</guid>
            <pubDate>Tue, 16 Jul 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[解析從舊版 .NET Core 升級至 .NET 6 後，為何程式碼中殘留許多 `AsQueryable()` 呼叫。主要探討 `System.Linq.Async` 與 EF Core 5/6 在 `IQueryable` 與 `IAsyncEnumerable` 介面實作上的差異。]]></description>
            <content:encoded><![CDATA[解析從舊版 .NET Core 升級至 .NET 6 後，為何程式碼中殘留許多 `AsQueryable()` 呼叫。主要探討 `System.Linq.Async` 與 EF Core 5/6 在 `IQueryable` 與 `IAsyncEnumerable` 介面實作上的差異。]]></content:encoded>
            <category>.NET</category>
            <category>Entity Framework</category>
        </item>
        <item>
            <title><![CDATA[自訂 SQL Server Management Studio 資料表設計的顯示欄位]]></title>
            <link>https://note.cloudywing.net/data/自訂 SQL Server Management Studio 資料表設計的顯示欄位</link>
            <guid isPermaLink="false">https://note.cloudywing.net/data/自訂 SQL Server Management Studio 資料表設計的顯示欄位</guid>
            <pubDate>Mon, 15 Jul 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[解決 SSMS 資料表設計介面預設欄位不足的問題。教學如何透過修改 Windows 登錄檔 (Registry)，自訂顯示如 Description, Identity, Default Value 等進階欄位。]]></description>
            <content:encoded><![CDATA[解決 SSMS 資料表設計介面預設欄位不足的問題。教學如何透過修改 Windows 登錄檔 (Registry)，自訂顯示如 Description, Identity, Default Value 等進階欄位。]]></content:encoded>
            <category>SQL Server</category>
        </item>
        <item>
            <title><![CDATA[淺談資料庫字串型別的處理方式]]></title>
            <link>https://note.cloudywing.net/data/淺談資料庫字串型別的處理方式</link>
            <guid isPermaLink="false">https://note.cloudywing.net/data/淺談資料庫字串型別的處理方式</guid>
            <pubDate>Fri, 12 Jul 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[比較資料庫字串欄位處理 `NULL` 與空字串 (Empty String) 的三種策略。分析其優缺點，並討論如 Oracle 自動轉 NULL 特性及索引效能等考量因素。]]></description>
            <content:encoded><![CDATA[比較資料庫字串欄位處理 `NULL` 與空字串 (Empty String) 的三種策略。分析其優缺點，並討論如 Oracle 自動轉 NULL 特性及索引效能等考量因素。]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[淺談 ASP.NET Core 中的環境名稱設定與應用]]></title>
            <link>https://note.cloudywing.net/devops/淺談 ASP.NET Core 中的環境名稱設定與應用</link>
            <guid isPermaLink="false">https://note.cloudywing.net/devops/淺談 ASP.NET Core 中的環境名稱設定與應用</guid>
            <pubDate>Fri, 12 Jul 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[解析 ASP.NET Core 中 `EnvironmentName` (Development, Staging, Production) 的運作機制。比較 Web.config Transform 與 appsettings.json 覆蓋邏輯的差異，並說明 `IHostEnvironment` 的應用。]]></description>
            <content:encoded><![CDATA[解析 ASP.NET Core 中 `EnvironmentName` (Development, Staging, Production) 的運作機制。比較 Web.config Transform 與 appsettings.json 覆蓋邏輯的差異，並說明 `IHostEnvironment` 的應用。]]></content:encoded>
            <category>.NET</category>
            <category>ASP.NET</category>
            <category>ASP.NET Core</category>
        </item>
        <item>
            <title><![CDATA[ASP.NET Core Web API 入門心得 - 淺談 non-RESTful 的 Route 覆寫]]></title>
            <link>https://note.cloudywing.net/backend/ASP.NET Core Web API 入門心得 - 淺談 non-RESTful 的 Route 覆寫</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/ASP.NET Core Web API 入門心得 - 淺談 non-RESTful 的 Route 覆寫</guid>
            <pubDate>Tue, 16 Apr 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[探討 ASP.NET Core Web API 在非 RESTful 架構下的路由（Route）覆寫技巧。說明如何透過繼承 `BasicController` 統一路由設定，並利用 `[Route]` 屬性與特殊前綴符號（`/` 或 `~`）靈活調整個別 Controller 或 Action 的 URL 路徑。]]></description>
            <content:encoded><![CDATA[探討 ASP.NET Core Web API 在非 RESTful 架構下的路由（Route）覆寫技巧。說明如何透過繼承 `BasicController` 統一路由設定，並利用 `[Route]` 屬性與特殊前綴符號（`/` 或 `~`）靈活調整個別 Controller 或 Action 的 URL 路徑。]]></content:encoded>
            <category>.NET</category>
            <category>ASP.NET</category>
            <category>ASP.NET Core</category>
            <category>Web API</category>
        </item>
        <item>
            <title><![CDATA[ASP.NET Core Web API 入門心得 - 必填欄位驗證]]></title>
            <link>https://note.cloudywing.net/backend/ASP.NET Core Web API 入門心得 - 必填欄位驗證</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/ASP.NET Core Web API 入門心得 - 必填欄位驗證</guid>
            <pubDate>Sat, 13 Apr 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[深入 ASP.NET Core Web API 的必填欄位驗證機制。比較 `[Required]` 與 `[BindRequired]` 在處理實值型別（如 Boolean）的差異，並提出自定義 `RequiredForTypeAttribute` 以解決 Create 與 Update 情境下 DTO 共用但驗證邏輯不同的問題。]]></description>
            <content:encoded><![CDATA[深入 ASP.NET Core Web API 的必填欄位驗證機制。比較 `[Required]` 與 `[BindRequired]` 在處理實值型別（如 Boolean）的差異，並提出自定義 `RequiredForTypeAttribute` 以解決 Create 與 Update 情境下 DTO 共用但驗證邏輯不同的問題。]]></content:encoded>
            <category>.NET</category>
            <category>ASP.NET</category>
            <category>ASP.NET Core</category>
            <category>Web API</category>
            <category>Swagger</category>
        </item>
        <item>
            <title><![CDATA[ASP.NET Core Web API 入門心得 - Middleware 順序]]></title>
            <link>https://note.cloudywing.net/backend/ASP.NET Core Web API 入門心得 - Middleware 順序</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/ASP.NET Core Web API 入門心得 - Middleware 順序</guid>
            <pubDate>Mon, 08 Apr 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[整理 ASP.NET Core Middleware 的運作順序筆記，涵蓋從 HSTS、靜態檔案、Routing、CORS、驗證授權到端點路由的完整建議流程與注意事項。]]></description>
            <content:encoded><![CDATA[整理 ASP.NET Core Middleware 的運作順序筆記，涵蓋從 HSTS、靜態檔案、Routing、CORS、驗證授權到端點路由的完整建議流程與注意事項。]]></content:encoded>
            <category>.NET</category>
            <category>ASP.NET</category>
            <category>ASP.NET Core</category>
            <category>Web API</category>
        </item>
        <item>
            <title><![CDATA[如何將 Vue 3 與 ASP.NET Razor 一起使用]]></title>
            <link>https://note.cloudywing.net/frontend/如何將 Vue 3 與 ASP.NET Razor 一起使用</link>
            <guid isPermaLink="false">https://note.cloudywing.net/frontend/如何將 Vue 3 與 ASP.NET Razor 一起使用</guid>
            <pubDate>Mon, 30 Jan 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[教學如何在 ASP.NET Razor Pages ( .NET 6) 中整合 Vue 3 (Options API) 與 VeeValidate 4。比較 Vue 2 升級 Vue 3 的差異，並分享前端套件 (Axios, Bootstrap 5) 的版本搭配經驗。]]></description>
            <content:encoded><![CDATA[教學如何在 ASP.NET Razor Pages ( .NET 6) 中整合 Vue 3 (Options API) 與 VeeValidate 4。比較 Vue 2 升級 Vue 3 的差異，並分享前端套件 (Axios, Bootstrap 5) 的版本搭配經驗。]]></content:encoded>
            <category>.NET</category>
            <category>ASP.NET</category>
            <category>ASP.NET Core</category>
            <category>Razor Pages</category>
            <category>Vue.js</category>
        </item>
        <item>
            <title><![CDATA[如何客製化 ASP.NET Core 的 Model Validation 預設錯誤訊息]]></title>
            <link>https://note.cloudywing.net/backend/如何客製化 ASP.NET Core 的 Model Validation 預設錯誤訊息</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/如何客製化 ASP.NET Core 的 Model Validation 預設錯誤訊息</guid>
            <pubDate>Wed, 05 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[介紹如何客製化 ASP.NET Core Model Validation 的預設錯誤訊息。文章分享了建立資源檔 (.resx) 來覆寫 ModelBinding 與 ValidationMetadata 訊息的方法，並提供多國語系設定的相關技巧。]]></description>
            <content:encoded><![CDATA[介紹如何客製化 ASP.NET Core Model Validation 的預設錯誤訊息。文章分享了建立資源檔 (.resx) 來覆寫 ModelBinding 與 ValidationMetadata 訊息的方法，並提供多國語系設定的相關技巧。]]></content:encoded>
            <category>.NET</category>
            <category>ASP.NET</category>
            <category>ASP.NET Core</category>
        </item>
        <item>
            <title><![CDATA[HTML5 的自定義屬性]]></title>
            <link>https://note.cloudywing.net/frontend/HTML5 的自定義屬性</link>
            <guid isPermaLink="false">https://note.cloudywing.net/frontend/HTML5 的自定義屬性</guid>
            <pubDate>Sat, 09 Mar 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[介紹 HTML5 `data-*` 自定義屬性。說明如何使用 JavaScript `dataset` API 及 jQuery `data()` 方法存取這些屬性，並釐清 HTML Attribute 與 DOM Property 的差異。]]></description>
            <content:encoded><![CDATA[介紹 HTML5 `data-*` 自定義屬性。說明如何使用 JavaScript `dataset` API 及 jQuery `data()` 方法存取這些屬性，並釐清 HTML Attribute 與 DOM Property 的差異。]]></content:encoded>
            <category>jQuery</category>
        </item>
        <item>
            <title><![CDATA[在 .NET 使用 Server-Sent-Events(SSE)]]></title>
            <link>https://note.cloudywing.net/backend/在 .NET 使用 Server-Sent-Events(SSE)</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/在 .NET 使用 Server-Sent-Events(SSE)</guid>
            <pubDate>Wed, 15 Mar 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[介紹如何在 .NET 中實作 SSE (Server-Sent-Events) 即時通訊，比較了 SSE 與 Polling、WebSocket 的差異，並提供前端 JavaScript 的實作範例與事件監聽說明。]]></description>
            <content:encoded><![CDATA[介紹如何在 .NET 中實作 SSE (Server-Sent-Events) 即時通訊，比較了 SSE 與 Polling、WebSocket 的差異，並提供前端 JavaScript 的實作範例與事件監聽說明。]]></content:encoded>
            <category>.NET</category>
            <category>Server-Sent-Events</category>
        </item>
        <item>
            <title><![CDATA[「TheArtOfDev.HtmlRenderer.PdfSharp」的踩雷歷程]]></title>
            <link>https://note.cloudywing.net/backend/「TheArtOfDev.HtmlRenderer.PdfSharp」的踩雷歷程</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/「TheArtOfDev.HtmlRenderer.PdfSharp」的踩雷歷程</guid>
            <pubDate>Tue, 05 Dec 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[記錄使用 TheArtOfDev.HtmlRenderer.PdfSharp 將 HTML 轉為 PDF 時遇到的問題與解決方案，包含 NuGet 還原錯誤、中文字型顯示異常以及表格框線被截斷的處理經驗。]]></description>
            <content:encoded><![CDATA[記錄使用 TheArtOfDev.HtmlRenderer.PdfSharp 將 HTML 轉為 PDF 時遇到的問題與解決方案，包含 NuGet 還原錯誤、中文字型顯示異常以及表格框線被截斷的處理經驗。]]></content:encoded>
            <category>.NET</category>
            <category>PDF</category>
        </item>
        <item>
            <title><![CDATA[淺談 Flag Enum 的應用與心得]]></title>
            <link>https://note.cloudywing.net/backend/淺談 Flag Enum 的應用與心得</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/淺談 Flag Enum 的應用與心得</guid>
            <pubDate>Tue, 05 Dec 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[介紹 C# `[Flags]` 屬性在 Enum 上的應用。說明如何利用位元運算 (Bitwise Operations) 處理組合狀態，並分享設計與使用 Flag Enum 時的命名規範及最佳實踐。]]></description>
            <content:encoded><![CDATA[介紹 C# `[Flags]` 屬性在 Enum 上的應用。說明如何利用位元運算 (Bitwise Operations) 處理組合狀態，並分享設計與使用 Flag Enum 時的命名規範及最佳實踐。]]></content:encoded>
            <category>C#</category>
        </item>
        <item>
            <title><![CDATA[在離線環境中，在 Visual Studio 中使用本機 NuGet 開發]]></title>
            <link>https://note.cloudywing.net/devops/在離線環境中，在 Visual Studio 中使用本機 NuGet 開發</link>
            <guid isPermaLink="false">https://note.cloudywing.net/devops/在離線環境中，在 Visual Studio 中使用本機 NuGet 開發</guid>
            <pubDate>Tue, 05 Dec 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[針對無外網的封閉開發環境，教學如何設定本機資料夾作為 NuGet 來源，並將常用套件預先下載至該目錄，以解決還原失敗或 DLL 版本不一致的問題。]]></description>
            <content:encoded><![CDATA[針對無外網的封閉開發環境，教學如何設定本機資料夾作為 NuGet 來源，並將常用套件預先下載至該目錄，以解決還原失敗或 DLL 版本不一致的問題。]]></content:encoded>
            <category>.NET</category>
            <category>NuGet</category>
            <category>Visual Studio</category>
        </item>
        <item>
            <title><![CDATA[ASP.NET Core Web API 入門心得]]></title>
            <link>https://note.cloudywing.net/backend/ASP.NET Core Web API 入門心得</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/ASP.NET Core Web API 入門心得</guid>
            <pubDate>Fri, 04 Aug 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[一份 ASP.NET Core Web API 的入門筆記，涵蓋從建立專案、ControllerBase 與 ApiController 的差異、路由設定、參數繫結推斷到 Swagger 文件整合的完整教學。]]></description>
            <content:encoded><![CDATA[一份 ASP.NET Core Web API 的入門筆記，涵蓋從建立專案、ControllerBase 與 ApiController 的差異、路由設定、參數繫結推斷到 Swagger 文件整合的完整教學。]]></content:encoded>
            <category>.NET</category>
            <category>ASP.NET</category>
            <category>ASP.NET Core</category>
            <category>Web API</category>
            <category>Swagger</category>
        </item>
        <item>
            <title><![CDATA[使用 .NET Framework 將資訊寫入 Windows 事件記錄檔]]></title>
            <link>https://note.cloudywing.net/backend/使用 .NET Framework 將資訊寫入 Windows 事件記錄檔</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/使用 .NET Framework 將資訊寫入 Windows 事件記錄檔</guid>
            <pubDate>Fri, 04 Aug 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[範例教學如何在 .NET Framework 中使用 `System.Diagnostics.EventLog` 類別，檢查並建立 EventSource，將應用程式訊息寫入 Windows 事件檢視器 (Event Viewer)。]]></description>
            <content:encoded><![CDATA[範例教學如何在 .NET Framework 中使用 `System.Diagnostics.EventLog` 類別，檢查並建立 EventSource，將應用程式訊息寫入 Windows 事件檢視器 (Event Viewer)。]]></content:encoded>
            <category>.NET</category>
            <category>.NET Framework</category>
        </item>
        <item>
            <title><![CDATA[使用 Dapper 和 ODAC Managed Driver 無法寫入 Unicode 的問題]]></title>
            <link>https://note.cloudywing.net/backend/使用 Dapper 和 ODAC Managed Driver 無法寫入 Unicode 的問題</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/使用 Dapper 和 ODAC Managed Driver 無法寫入 Unicode 的問題</guid>
            <pubDate>Thu, 15 Jun 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[排查使用 Dapper 搭配 Oracle Managed Driver (ODAC) 寫入 Unicode 字符 (如簡體中文) 出現亂碼的問題。分析原因為 `DbType.String` 未正確對應至 `OracleDbType.NVarchar2`，需手動修正對應關係。]]></description>
            <content:encoded><![CDATA[排查使用 Dapper 搭配 Oracle Managed Driver (ODAC) 寫入 Unicode 字符 (如簡體中文) 出現亂碼的問題。分析原因為 `DbType.String` 未正確對應至 `OracleDbType.NVarchar2`，需手動修正對應關係。]]></content:encoded>
            <category>.NET</category>
            <category>Oracle</category>
        </item>
        <item>
            <title><![CDATA[使用 .NET 產生帶有浮水印的 Excel]]></title>
            <link>https://note.cloudywing.net/backend/使用 .NET 產生帶有浮水印的 Excel</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/使用 .NET 產生帶有浮水印的 Excel</guid>
            <pubDate>Fri, 24 Feb 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[說明如何透過 NPOI 或 EPPlus 在無內建浮水印功能的 Excel 中，利用設定「滿版透明背景圖片」的方式模擬浮水印效果，並列出各紙張大小對應的像素尺寸參考。]]></description>
            <content:encoded><![CDATA[說明如何透過 NPOI 或 EPPlus 在無內建浮水印功能的 Excel 中，利用設定「滿版透明背景圖片」的方式模擬浮水印效果，並列出各紙張大小對應的像素尺寸參考。]]></content:encoded>
            <category>.NET</category>
            <category>EPPlus</category>
            <category>Excel</category>
            <category>NPOI</category>
        </item>
        <item>
            <title><![CDATA[在 WPF MVVM Application 中使用 Dependency Injection]]></title>
            <link>https://note.cloudywing.net/backend/在 WPF MVVM Application 中使用 Dependency Injection</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/在 WPF MVVM Application 中使用 Dependency Injection</guid>
            <pubDate>Wed, 15 Feb 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[介紹如何在 WPF MVVM 架構中引入 `Microsoft.Extensions.DependencyInjection`，並結合 `CommunityToolkit.Mvvm` 實作現代化的依賴注入模式，取代傳統的 Singleton 或手動管理。]]></description>
            <content:encoded><![CDATA[介紹如何在 WPF MVVM 架構中引入 `Microsoft.Extensions.DependencyInjection`，並結合 `CommunityToolkit.Mvvm` 實作現代化的依賴注入模式，取代傳統的 Singleton 或手動管理。]]></content:encoded>
            <category>.NET</category>
            <category>WPF</category>
            <category>Dependency Injection</category>
        </item>
        <item>
            <title><![CDATA[使用 HttpClient 呼叫 WebService]]></title>
            <link>https://note.cloudywing.net/backend/使用 HttpClient 呼叫 WebService</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/使用 HttpClient 呼叫 WebService</guid>
            <pubDate>Mon, 13 Feb 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[記錄在無法加入 Web 參考的環境下，如何使用 .NET Framework 的 `WebClient` 搭配 `ServiceDescriptionImporter` 與 Reflection 動態編譯 WSDL，實現動態呼叫 WebService 的方法。]]></description>
            <content:encoded><![CDATA[記錄在無法加入 Web 參考的環境下，如何使用 .NET Framework 的 `WebClient` 搭配 `ServiceDescriptionImporter` 與 Reflection 動態編譯 WSDL，實現動態呼叫 WebService 的方法。]]></content:encoded>
            <category>.NET</category>
        </item>
        <item>
            <title><![CDATA[臺灣證號檢核]]></title>
            <link>https://note.cloudywing.net/backend/臺灣證號檢核</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/臺灣證號檢核</guid>
            <pubDate>Mon, 16 Jan 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[整理台灣各類證號 (身分證、居留證、遊民證號) 的驗證邏輯。指出雖然證號類型眾多，但檢查碼規則大多一致，建議建立統一的底層驗證邏輯來簡化代碼維護。]]></description>
            <content:encoded><![CDATA[整理台灣各類證號 (身分證、居留證、遊民證號) 的驗證邏輯。指出雖然證號類型眾多，但檢查碼規則大多一致，建議建立統一的底層驗證邏輯來簡化代碼維護。]]></content:encoded>
            <category>C#</category>
            <category>臺灣證號驗證</category>
        </item>
        <item>
            <title><![CDATA[ASP.NET Core 命名空間衝突問題]]></title>
            <link>https://note.cloudywing.net/backend/ASP.NET Core 命名空間衝突問題</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/ASP.NET Core 命名空間衝突問題</guid>
            <pubDate>Mon, 09 Jan 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[排查 ASP.NET Core 專案中因命名空間（Namespace）與系統預設 `System` 衝突導致的編譯錯誤。分析 Razor View 的全域 Using 機制，並建議避免在專案名稱中使用 System 或 Microsoft 等關鍵字以防止潛在衝突。]]></description>
            <content:encoded><![CDATA[排查 ASP.NET Core 專案中因命名空間（Namespace）與系統預設 `System` 衝突導致的編譯錯誤。分析 Razor View 的全域 Using 機制，並建議避免在專案名稱中使用 System 或 Microsoft 等關鍵字以防止潛在衝突。]]></content:encoded>
            <category>.NET</category>
            <category>ASP.NET</category>
            <category>ASP.NET Core</category>
        </item>
        <item>
            <title><![CDATA[MemoryCache 在 ASP.NET MVC 上的應用]]></title>
            <link>https://note.cloudywing.net/backend/MemoryCache 在 ASP.NET MVC 上的應用</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/MemoryCache 在 ASP.NET MVC 上的應用</guid>
            <pubDate>Mon, 14 Nov 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[深入解析 ASP.NET MVC 的快取機制，涵蓋 `OutputCacheAttribute` 的屬性設定（Duration, Location, VaryByParam）與實作範例。詳解如何利用 `MemoryCache` 結合 `SqlDependency` 監聽資料庫異動，實現高效且即時的快取更新策略。]]></description>
            <content:encoded><![CDATA[深入解析 ASP.NET MVC 的快取機制，涵蓋 `OutputCacheAttribute` 的屬性設定（Duration, Location, VaryByParam）與實作範例。詳解如何利用 `MemoryCache` 結合 `SqlDependency` 監聽資料庫異動，實現高效且即時的快取更新策略。]]></content:encoded>
            <category>.NET</category>
            <category>.NET Framework</category>
            <category>ASP.NET</category>
            <category>MemoryCache</category>
        </item>
        <item>
            <title><![CDATA[在 Visual Studio 自定義 HTML IntelliSense]]></title>
            <link>https://note.cloudywing.net/backend/在 Visual Studio 自定義 HTML IntelliSense</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/在 Visual Studio 自定義 HTML IntelliSense</guid>
            <pubDate>Fri, 11 Nov 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[解決 Visual Studio 無法正確提示自定義 HTML 屬性 (如 data-*) 的問題。說明如何編輯 `SchemaCatalog.xml` 並引用自定義 XSD 檔案來擴充 HTML IntelliSense 功能。]]></description>
            <content:encoded><![CDATA[解決 Visual Studio 無法正確提示自定義 HTML 屬性 (如 data-*) 的問題。說明如何編輯 `SchemaCatalog.xml` 並引用自定義 XSD 檔案來擴充 HTML IntelliSense 功能。]]></content:encoded>
            <category>Visual Studio</category>
            <category>IntelliSense</category>
        </item>
        <item>
            <title><![CDATA[在 .NET Framework 裡，有關 Web.config (App.config) 的應用]]></title>
            <link>https://note.cloudywing.net/devops/在 .NET Framework 裡，有關 Web.config (App.config) 的應用</link>
            <guid isPermaLink="false">https://note.cloudywing.net/devops/在 .NET Framework 裡，有關 Web.config (App.config) 的應用</guid>
            <pubDate>Thu, 10 Nov 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[說明如何在 .NET Framework 專案中，依據 Debug/Release 或自訂組建組態 (Build Configuration)，自動轉換或產出對應環境的 Web.config/App.config 設定檔，避免部署時手動修改出錯。]]></description>
            <content:encoded><![CDATA[說明如何在 .NET Framework 專案中，依據 Debug/Release 或自訂組建組態 (Build Configuration)，自動轉換或產出對應環境的 Web.config/App.config 設定檔，避免部署時手動修改出錯。]]></content:encoded>
            <category>.NET</category>
            <category>.NET Framework</category>
        </item>
        <item>
            <title><![CDATA[使用 Visual Studio 發佈帶有預設檔案的 NuGet 套件]]></title>
            <link>https://note.cloudywing.net/devops/使用 Visual Studio 發佈帶有預設檔案的 NuGet 套件</link>
            <guid isPermaLink="false">https://note.cloudywing.net/devops/使用 Visual Studio 發佈帶有預設檔案的 NuGet 套件</guid>
            <pubDate>Tue, 08 Nov 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[教學如何製作包含預設設定檔 (如 Config 範本) 的 NuGet 套件。說明 .NET Standard 專案設定、`.nuspec` 檔案配置以及在安裝套件時自動複製檔案到目標專案的技巧。]]></description>
            <content:encoded><![CDATA[教學如何製作包含預設設定檔 (如 Config 範本) 的 NuGet 套件。說明 .NET Standard 專案設定、`.nuspec` 檔案配置以及在安裝套件時自動複製檔案到目標專案的技巧。]]></content:encoded>
            <category>.NET</category>
            <category>NuGet</category>
        </item>
        <item>
            <title><![CDATA[Coding Style]]></title>
            <link>https://note.cloudywing.net/backend/Coding Style</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/Coding Style</guid>
            <pubDate>Sun, 06 Nov 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[整理個人慣用的 C# Coding Style 規範與經驗分享。涵蓋命名規則（Naming Rules）、程式碼排序（Ordering Rules）、註解風格、排版格式（如左大括弧位置、空格與運算子換行），並整合 StyleCop 與 Microsoft 官方建議。]]></description>
            <content:encoded><![CDATA[整理個人慣用的 C# Coding Style 規範與經驗分享。涵蓋命名規則（Naming Rules）、程式碼排序（Ordering Rules）、註解風格、排版格式（如左大括弧位置、空格與運算子換行），並整合 StyleCop 與 Microsoft 官方建議。]]></content:encoded>
            <category>C#</category>
            <category>Coding Style</category>
        </item>
        <item>
            <title><![CDATA[在 ASP.NET 使用 Autofac 實作 DI]]></title>
            <link>https://note.cloudywing.net/backend/在 APS.NET 使用 Autofac 實作 DI</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/在 APS.NET 使用 Autofac 實作 DI</guid>
            <pubDate>Sat, 05 Nov 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[介紹在 ASP.NET 中使用 Autofac 進行依賴注入 (DI) 的方法。說明 Container 建立、型別註冊 (`RegisterType`)、Lifetime Scope 管理以及如何利用 Reflection 進行大量自動註冊。]]></description>
            <content:encoded><![CDATA[介紹在 ASP.NET 中使用 Autofac 進行依賴注入 (DI) 的方法。說明 Container 建立、型別註冊 (`RegisterType`)、Lifetime Scope 管理以及如何利用 Reflection 進行大量自動註冊。]]></content:encoded>
            <category>.NET</category>
            <category>.NET Framework</category>
            <category>ASP.NET</category>
            <category>Autofac</category>
            <category>Dependency Injection</category>
        </item>
        <item>
            <title><![CDATA[在 ASP.NET 使用 Redis 實作分散式快取]]></title>
            <link>https://note.cloudywing.net/backend/在 ASP.NET 使用 Redis 實作分散式快取</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/在 ASP.NET 使用 Redis 實作分散式快取</guid>
            <pubDate>Wed, 02 Nov 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[說明如何在 Windows 環境安裝 Redis (透過 Memurai 或 WSL2) 以及在 ASP.NET 專案中使用 StackExchange.Redis 或 Microsoft.Extensions.Caching.StackExchangeRedis 實作分散式快取。]]></description>
            <content:encoded><![CDATA[說明如何在 Windows 環境安裝 Redis (透過 Memurai 或 WSL2) 以及在 ASP.NET 專案中使用 StackExchange.Redis 或 Microsoft.Extensions.Caching.StackExchangeRedis 實作分散式快取。]]></content:encoded>
            <category>.NET</category>
            <category>Redis</category>
            <category>Docker</category>
        </item>
        <item>
            <title><![CDATA[在 ASP.NET Core 實作 GDPR]]></title>
            <link>https://note.cloudywing.net/backend/在 ASP.NET Core 實作 GDPR</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/在 ASP.NET Core 實作 GDPR</guid>
            <pubDate>Thu, 27 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[介紹 General Data Protection Regulation (GDPR) 對網站的影響，並說明如何在 ASP.NET Core 中實作符合法規的隱私權政策頁面與 Cookie 同意橫幅 (Consent Banner)。]]></description>
            <content:encoded><![CDATA[介紹 General Data Protection Regulation (GDPR) 對網站的影響，並說明如何在 ASP.NET Core 中實作符合法規的隱私權政策頁面與 Cookie 同意橫幅 (Consent Banner)。]]></content:encoded>
            <category>.NET</category>
            <category>ASP.NET</category>
            <category>ASP.NET Core</category>
            <category>GDPR</category>
        </item>
        <item>
            <title><![CDATA[在 ASP.NET 中設定 SameSite Cookies]]></title>
            <link>https://note.cloudywing.net/backend/在 ASP.NET 中設定 SameSite Cookies</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/在 ASP.NET 中設定 SameSite Cookies</guid>
            <pubDate>Wed, 26 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[針對瀏覽器對第三方 Cookie 的限制，說明 IETF SameSite Cookies 標準 (None, Lax, Strict) 的差異，以及如何在 ASP.NET 中正確設定 SameSite 屬性以防禦 CSRF 攻擊。]]></description>
            <content:encoded><![CDATA[針對瀏覽器對第三方 Cookie 的限制，說明 IETF SameSite Cookies 標準 (None, Lax, Strict) 的差異，以及如何在 ASP.NET 中正確設定 SameSite 屬性以防禦 CSRF 攻擊。]]></content:encoded>
            <category>.NET</category>
            <category>SameSite Cookies</category>
        </item>
        <item>
            <title><![CDATA[在 ASP.NET Core MVC 使用 HTML5 實現多檔案上傳]]></title>
            <link>https://note.cloudywing.net/backend/在 ASP.NET Core MVC 使用 HTML5 實現多檔案上傳</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/在 ASP.NET Core MVC 使用 HTML5 實現多檔案上傳</guid>
            <pubDate>Mon, 24 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[實作 ASP.NET Core MVC 結合 HTML5 與 Axios 的多檔案上傳功能。介紹前端 `FormData` 與 Back-End `IFormFileCollection` 的對接，以及如何監聽 Upload Progress Event 製作進度條。]]></description>
            <content:encoded><![CDATA[實作 ASP.NET Core MVC 結合 HTML5 與 Axios 的多檔案上傳功能。介紹前端 `FormData` 與 Back-End `IFormFileCollection` 的對接，以及如何監聽 Upload Progress Event 製作進度條。]]></content:encoded>
            <category>.NET</category>
            <category>ASP.NET</category>
            <category>ASP.NET Core</category>
            <category>Axios</category>
        </item>
        <item>
            <title><![CDATA[如何在 .NET 使用 AutoMapper]]></title>
            <link>https://note.cloudywing.net/backend/如何在 .NET 使用 AutoMapper</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/如何在 .NET 使用 AutoMapper</guid>
            <pubDate>Mon, 24 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[介紹物件映射工具 AutoMapper 的基本用法。說明如何建立 `MapperConfiguration`，設定 Source 與 Destination 的映射規則，簡化 DTO 與 Entity 之間繁瑣的屬性賦值程式碼。]]></description>
            <content:encoded><![CDATA[介紹物件映射工具 AutoMapper 的基本用法。說明如何建立 `MapperConfiguration`，設定 Source 與 Destination 的映射規則，簡化 DTO 與 Entity 之間繁瑣的屬性賦值程式碼。]]></content:encoded>
            <category>.NET</category>
            <category>AutoMapper</category>
        </item>
        <item>
            <title><![CDATA[使用 Windows Docker Desktop 建立 Oracle 環境]]></title>
            <link>https://note.cloudywing.net/devops/使用 Windows Docker Desktop 建立 Oracle 環境</link>
            <guid isPermaLink="false">https://note.cloudywing.net/devops/使用 Windows Docker Desktop 建立 Oracle 環境</guid>
            <pubDate>Mon, 24 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[教學如何在 Windows Docker Desktop 環境下建立 Oracle 資料庫容器。由於 Oracle 官方 Docker Image 不再提供直接下載，需從 GitHub 下載 Dockerfile 並手動建置 (Build) Image。]]></description>
            <content:encoded><![CDATA[教學如何在 Windows Docker Desktop 環境下建立 Oracle 資料庫容器。由於 Oracle 官方 Docker Image 不再提供直接下載，需從 GitHub 下載 Dockerfile 並手動建置 (Build) Image。]]></content:encoded>
            <category>Oracle</category>
            <category>Docker</category>
        </item>
        <item>
            <title><![CDATA[如何在 Docker 使用 GitLab CI]]></title>
            <link>https://note.cloudywing.net/devops/如何在 Docker 使用 GitLab CI</link>
            <guid isPermaLink="false">https://note.cloudywing.net/devops/如何在 Docker 使用 GitLab CI</guid>
            <pubDate>Mon, 24 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[詳細教學如何在 Docker 環境中安裝並設定 GitLab 與 GitLab Runner。文章包含 Docker Compose 配置範例、Runner 註冊流程，以及一個使用 .NET 6 專案進行 Build、Test、Deploy 的完整 CI/CD 實例。]]></description>
            <content:encoded><![CDATA[詳細教學如何在 Docker 環境中安裝並設定 GitLab 與 GitLab Runner。文章包含 Docker Compose 配置範例、Runner 註冊流程，以及一個使用 .NET 6 專案進行 Build、Test、Deploy 的完整 CI/CD 實例。]]></content:encoded>
            <category>Docker</category>
            <category>Git</category>
            <category>GitLab</category>
        </item>
        <item>
            <title><![CDATA[如何將 Vue 與 ASP.NET Razor 一起使用]]></title>
            <link>https://note.cloudywing.net/frontend/如何將 Vue 與 ASP.NET Razor 一起使用</link>
            <guid isPermaLink="false">https://note.cloudywing.net/frontend/如何將 Vue 與 ASP.NET Razor 一起使用</guid>
            <pubDate>Mon, 24 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[教學如何在 ASP.NET Razor Pages ( .NET 6) 中整合 Vue 2 與 VeeValidate 2。說明在不棄用既有 Model Validation 前提下，如何利用 Vue 取代 jQuery 處理前端互動與 API 請求。]]></description>
            <content:encoded><![CDATA[教學如何在 ASP.NET Razor Pages ( .NET 6) 中整合 Vue 2 與 VeeValidate 2。說明在不棄用既有 Model Validation 前提下，如何利用 Vue 取代 jQuery 處理前端互動與 API 請求。]]></content:encoded>
            <category>.NET</category>
            <category>ASP.NET</category>
            <category>ASP.NET Core</category>
            <category>Razor Pages</category>
            <category>Vue.js</category>
        </item>
        <item>
            <title><![CDATA[在 .NET 專案引用動態連結程式庫(DLL)的正確方式]]></title>
            <link>https://note.cloudywing.net/backend/在 .NET 專案引用動態連結程式庫(DLL)的正確方式</link>
            <guid isPermaLink="false">https://note.cloudywing.net/backend/在 .NET 專案引用動態連結程式庫(DLL)的正確方式</guid>
            <pubDate>Fri, 30 Sep 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[討論正確引用 DLL 的方式，建議優先使用 NuGet 進行套件管理。若必須引用本機 DLL，建議建立專屬資料庫並納入版控，避免直接引用 bin 目錄或未版控路徑導致協作問題。]]></description>
            <content:encoded><![CDATA[討論正確引用 DLL 的方式，建議優先使用 NuGet 進行套件管理。若必須引用本機 DLL，建議建立專屬資料庫並納入版控，避免直接引用 bin 目錄或未版控路徑導致協作問題。]]></content:encoded>
            <category>.NET</category>
            <category>.NET Framework</category>
        </item>
        <item>
            <title><![CDATA[議 jQuery]]></title>
            <link>https://note.cloudywing.net/frontend/議 jQuery</link>
            <guid isPermaLink="false">https://note.cloudywing.net/frontend/議 jQuery</guid>
            <pubDate>Fri, 30 Sep 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[分析 jQuery 在現代 Web 開發中的地位與優缺點。比較 .NET MVC 架構下使用 jQuery 與轉向 Vue.js 或 Blazor 的選擇，探討前端技術選型的考量。]]></description>
            <content:encoded><![CDATA[分析 jQuery 在現代 Web 開發中的地位與優缺點。比較 .NET MVC 架構下使用 jQuery 與轉向 Vue.js 或 Blazor 的選擇，探討前端技術選型的考量。]]></content:encoded>
            <category>jQuery</category>
        </item>
    </channel>
</rss>