Vitest 前端測試教學筆記:Unit Test → Component Test
Take an example of a frontend unit test and a component test.
Take an example of a frontend unit test and a component test.
Vite 是一個以 ES Modules 為基礎、具熱更新 (HMR) 的前端開發工具。開發階段直接讓瀏覽器載入原始碼,不需要預先打包。發佈階段再透過 Rollup 或 Rolldown 打包成靜態檔案。
TypeScript 專案中,模組之間的匯入 (import) 路徑若處理不好,會變成地獄級相對路徑,例如:
1 | import { getUser } from "../../../utils/api"; |
為了解決這問題,我們需要理解 tsconfig.json 中與「路徑」有關的設定,特別是 baseUrl、paths、rootDir、outDir。
容器化是一種軟體部署流程,它將應用程式的程式碼與其運作所需的所有檔案和函式庫打包在一起,讓應用程式可以在任何基礎設施上運行。傳統上,要在電腦上執行任何應用程式,你必須安裝與機器作業系統相符的版本。例如,你需要在 Windows 機器上安裝 Windows 版本的軟體套件。然而,有了容器化技術,你只需建立一個單一的軟體套件,也就是容器,就可以在所有類型的裝置和作業系統上執行。
在現代 Web 應用程式中,從後端匯出資料到 CSV 檔案是一個非常常見的需求。不像工作中的 C# 實作:輸出 CSV 檔案 (一),這篇是要直接撰寫一個自訂的 OutputFormatter,它能將任何 IEnumerable 結果,寫入到回應主體(response body),直接作為 HTTP Response 傳回 CSV 格式。
在 .NET Core 5+ 的開發中,處理應用程式的組態 (Configuration) 是一個很重要的議題。這套全新的組態系統,目的在解決傳統 .NET Framework 時代組態管理的痛點,讓程式碼更具彈性、更好維護,也更符合現代軟體開發的設計模式。
在 Web 後端開發中,匯出資料報表是很常見的功能。其中,CSV (Comma-Separated Values) 是一種最廣泛使用的檔案格式,因為它簡潔且通用性高,無論是用 Excel、Google Sheets 或其他應用程式都能輕鬆開啟。
將檔案匯出的邏輯封裝成一個獨立的 Service,是軟體設計中一個非常重要的原則:單一職責原則 (Single Responsibility Principle)。這讓你的程式碼更容易維護、測試,並且具備高度的可重用性。
依賴注入 (Dependency Injection,簡稱 DI) 是一種軟體設計模式,用來降低程式碼模組之間的耦合性 (Coupling)。
想像一下,你今天想煮一杯咖啡:
在程式設計中,這個「管家」就是 DI 容器 (DI Container),它負責建立 (或實例化) 你需要的物件 (依賴),並將它們自動傳遞給需要這些物件的類別。
Reflection (反射) 是一種強大的 C# 技術,它允許程式在執行時 (runtime) 動態地檢查和操作自己的中繼資料 (metadata)。
在 C# 中,GetHashCode() 是一個非常重要的方法,尤其是在處理資料集合時。理解它的作用、實作方式以及背後原理,能幫助你寫出更高效能、更穩健的程式碼。