DevOps & Infrastructure
在 Windows 上安裝與升級 PowerShell 7 NEW
說明 Windows PowerShell 與 PowerShell 7 的差異、透過 WinGet 安裝的步驟,以及 Get-Help 說明文件機制。
解決 WSL 2 Docker 檔案權限問題
分享從 Windows Docker 遷移至 WSL 2 的心路歷程,解決檔案權限問題的暴力解法,以及最終改用 Dev Containers 的優雅方案。
使用 Docker Compose 架設與配置 Nginx
紀錄使用 Docker Compose 快速部署 Nginx 的配置過程。簡介 Nginx 架構 (Main, Events, HTTP Context) 並著重於 Docker Compose V2 語法的實作範例。
使用 Docker Compose 安裝 Elasticsearch 與 Kibana
介紹使用 Docker Compose 快速部署 Elasticsearch 與 Kibana 單節點環境。提供完整的 `docker-compose.yml` 與 `.env` 設定範例,並提醒 Volume 權限設定的重要性。
Docker Compose 架設 SQL Server 權限問題解決方案
解決使用 Docker Compose 架設 SQL Server 時遇到的檔案權限 (Permission Denied) 問題。說明如何調整 Volume 掛載目錄的擁有者權限 (chown) 以符合容器內 mssql 使用者的需求。
GitLab CI 語法與變數整理
整理 GitLab CI/CD (`.gitlab-ci.yml`) 常用語法與關鍵字。涵蓋 Stages, Jobs, Rules, Only/Except 定義,以及預定義變數 (Predefined Variables) 的使用參考。
在 Visual Studio 中設定 GitLab 作為 NuGet Packages 來源
教學如何將私有 GitLab Package Registry 設定為 Visual Studio 的 NuGet 來源,並分享如何透過 GitLab CI/CD Pipeline 自動化打包 (.nupkg) 與發佈流程。
使用 MinVer 自動化 .NET 類別庫的版本號管理
介紹使用 MinVer 取代 GitVersion 進行 .NET 套件版本控制。說明 MinVer 基於 Git Tag 的版本推斷機制,以及如何自動生成 AssemblyVersion 與 PackageVersion,簡化 CI/CD 流程。
Windows 環境下的 Kibana 安裝指南
記錄在 Windows 環境安裝 Kibana 的步驟。說明目錄結構、`kibana.yml` 設定 (包含 Network Host 與 Elasticsearch 連線帳號 `kibana_system`),以及解決 SSL 連線問題的經驗。
如何在發佈 ASP.NET Core 網站時自動套用 Shadow Copying 設定
解決 ASP.NET Core 部署時 DLL 鎖死無法更新的問題。推薦在專案根目錄預置 `web.config` 並設定 Shadow Copying,優於手動修改伺服器設定的傳統做法。
使用應用程式密碼透過 IMAP 存取 Gmail
解決 Gmail 停用低安全性應用程式存取後,透過 IMAP 讀取信件的問題。教學如何啟用 Google 帳號兩步驗證並產生「應用程式密碼 (App Password)」以供第三方程式連線。
Windows 環境下的單節點 Elasticsearch 安裝指南
教學如何在 Windows 上安裝單節點 Elasticsearch。包含 JDK 環境、`elasticsearch.yml` 基礎設定 (Cluster/Node Name, Data/Log Path, Network Host) 與 CORS 配置,以及 JVM 記憶體參數調整。
ASPNETCORE_ENVIRONMENT 失效的原因
深入排查 `ASPNETCORE_ENVIRONMENT` 環境變數設定失效的原因。發現即使在 Windows 全域環境變數設定成功,IIS 仍可能讀取舊值,必須執行 `iisreset` 重新啟動 IIS 服務才能確保環境變數變更生效。
淺談 Git 的 Merge 和 Rebase 的差異
比較 `git merge` 與 `git rebase` 的運作原理與使用場景。透過 Mermaid 分支圖視覺化展示兩者合併後對 Commit History 線性度的影響。
解決 .NET Docker 容器中缺少字型檔的問題
針對使用 Visual Studio 產生的 Dockerfile 在 Linux 容器中缺少字型檔導致顯示異常的問題,提供在 .NET 6 (Debian 11) 與 .NET 8 (Debian 12) 環境下的安裝解決方案。
淺談 Git 資料結構
深入解析 `.git` 目錄結構。介紹 hooks, info, logs, refs 等資料夾用途,並解說 Git 物件 (Blob, Tree, Commit) 如何以 SHA-1 Hash 儲存檔案內容與版本歷程。
淺談 Git Commit 規範
介紹 Git Commit Message 的撰寫規範,以 Angular Commit Format 為例。說明 Header (Type, Scope, Summary)、Body 與 Footer 的結構,以及常用的 Commit Types (feat, fix, docs 等)。
淺談 ASP.NET Core 中的環境名稱設定與應用
解析 ASP.NET Core 中 `EnvironmentName` (Development, Staging, Production) 的運作機制。比較 Web.config Transform 與 appsettings.json 覆蓋邏輯的差異,並說明 `IHostEnvironment` 的應用。
在離線環境中,在 Visual Studio 中使用本機 NuGet 開發
針對無外網的封閉開發環境,教學如何設定本機資料夾作為 NuGet 來源,並將常用套件預先下載至該目錄,以解決還原失敗或 DLL 版本不一致的問題。
在 .NET Framework 裡,有關 Web.config (App.config) 的應用
說明如何在 .NET Framework 專案中,依據 Debug/Release 或自訂組建組態 (Build Configuration),自動轉換或產出對應環境的 Web.config/App.config 設定檔,避免部署時手動修改出錯。
