推薦文章

開始使用 GitLab 的 Pipline 之前 - 請先證明自己是個人類

GitLab.com 申請好的帳號與建立第一個專案的 Repo 之後,就可以進行 Pipeline 的使用。

根據 ChatGPT 對 GitLab 中的 Pipeline 其定義是:
在程式碼變動時,自動執行 CI/CD(Continuous Integration / Continuous Delivery)流程。
 

技術一點的說:
當程式碼有異動的時候時,GitLab 會依照 .gitlab-ci.yml 的設定,根據 Pipeline 中所設計的 Stages (階段),如: 建置、測試、部署…等,來自動化的執行一連串 Jobs (工作)。

...繼續閱讀 »
on jamestsai

在 GitLab 建立第一個 Project - 使用 .NET 範本

在使用 GitLab 進行專案管理時,透過範本建立專案可以大幅減少初始化設定的時間。

這篇來介紹一下如何在 GitLab 中使用 .NET 專案範本 (dotnet template) 建立第一個專案,從建立 GitLab Project、套用範本,到完成基本的專案結構與設定。

這樣可以快速建立標準化的 .NET 專案環境,為後續的版本控制與 CI/CD 自動化流程奠定一定程度的基礎。

...繼續閱讀 »
on jamestsai

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

[Migrate .NET] 在 Named Pipe 連線時發現 Timeout 行為的變化

當前手上接觸到的一個系統專案,其整體的程式架構概念可以簡化成:

HW/FW ←→ CLI ←→ GUI

HW/FW 的程式,大多是透由 C/C++ 撰寫,這部分有專業的人員處理開發;而系統中的 CLI 與 GUI 這兩部分的程式,是仰賴 .NET 來進行開發的。

也因此隨著 .NET 的跨平台發展,便得以讓這兩部分的程式,除了既保留在 Windows 上的順利運作,也能逐步有序地從轉移至 Linux 當中運作。

 

也就是 .NET 一直強調的: 

Write once, run multi-platform.

(原文為 Write once, run everywhere. 在此做些文字改動)

...繼續閱讀 »
on jamestsai

.NET 跨應用程式通訊處理: Named Pipe - I

在電腦的 Process 與 Process 之間要相互通訊(IPC, Inter-Process Communication),粗略的來分可以有兩種方式:

  • Socket
  • Pipe

以下列出對照:

 PipeSocket
IPC
跨電腦✔ (需在 Windows 透過 SMB 服務)
效能⭐⭐⭐
跨網路通訊
使用難易

...繼續閱讀 »
on jamestsai

從 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

進修課程