SMSharon Maiinsharon-mai.hashnode.dev·Feb 3, 2025 · 2 min readKotlin 依賴注入實戰指南:解耦程式碼與靈活替換實作什麼是依賴? 廣義:「程式碼直接相依於某個具體實作」 class ChefService { // 依賴具體類別 private val marketA = MarketA() // 依賴具體函數/方法 fun makeSweet() { FileUtils.readFile("recipe.txt") } // 依賴具體實作細節 fun getIngredients() { ...00
SMSharon Maiinsharon-mai.hashnode.dev·Jan 12, 2025 · 2 min read依賴反轉原則入門:從手作甜點店學習dip什麼是依賴反轉? 💡 本文涵蓋多個技術細節,但關鍵重點是「依賴反轉就是依賴抽象」。 「業務邏輯」和「實作細節」兩端都依賴抽象業務邏輯 ➡️ 抽象介面 ⬅️ 實作細節 用手作甜點店比喻依賴關係 舉例來說:你經營一家手作甜點店 (業務邏輯/Domain層): 需要食材來製作甜點 但你不親自去買 告訴採購部需求(Repository介面) 採購部會: 選擇供應商可能是批發市場、農場直送、進口等 買到食材(實作Repository) 這樣設計的好處 你可以專注在做甜點,你...00
SMSharon Maiinsharon-mai.hashnode.dev·Dec 14, 2024 · 3 min read【2024】Android Hilt 安裝指南:使用 Kotlin DSL 和 Version Catalog 的現代配置本文介紹如何使用現代化方式安裝 Hilt。快速開始,請按照以下步驟執行: 安裝流程 版本資訊 目前已驗證的版本組合: 組件版本備註 AGP8.7 Kotlin1.9.21使用相容 Compose 版本 KSP1.9.21-1.0.15使用對應 Kotlin 版本 Hilt2.48AGP 7.0+ 要求 JDK17AGP 8.0+ 要求 檔案架構圖 app/ ├── src/ │ ├── main/ │ │ ├── java/com/example/app/...00
SMSharon Maiinsharon-mai.hashnode.dev·Jul 5, 2024 · 2 min readDocker入門What is Docker 避免環境不一致導致程式無法運行,讓運行的環境一致,使應用程式能順利執行。 主要為開發者使用,方便開發環境、測試環境、生產環境一致 Why use docker 資源開銷小、啟動速度快 在同一台物理機上使用虛擬機跟使用docker的資源使用差異 虛擬機 資源開銷大:虛擬機需要的作業系統( Windows、macOS、Linux),運行所需的資源多 無介面的作業系統:許多 Linux 發行版,如 Ubuntu Server,主要使用命令行界面(CLI),沒有...00
SMSharon Maiinsharon-mai.hashnode.dev·Jul 2, 2024 · 3 min read如何本地Docker部署到AWS EC2本文涵蓋了使用AWS EC2和Docker的完整流程,包括創建EC2實例、設定預算警報、連接EC2、設定安全組、在EC2上運行Docker、推送及拉取Docker Image、創建專案資料夾、傳送.yaml檔案至EC2,以及使用.yaml檔案運行Docker Image。最後還介紹了下次開啟EC2並運行Docker的檢查清單。 運行AWS EC2 創建EC2、設定預算警報 Create instance 輸入名稱、選擇ubuntu為作業系統 創建密鑰並儲存至本機上,SSH本地端連線到...00