Spirit-avatar-img

Spirit

57 位追蹤者

Spirit

57 位追蹤者
在業界打滾多年,本來想開發遊戲,想想還是打遊戲比開發遊戲輕鬆,曾想當敏捷傳教士,但後來發現,好的產品品質跟健全心態的團隊比用什麼流派重要,所以,這幾年比較隨心所欲,但不隨波逐流,仍想做出值得驕傲的好產品。
avatar-img
Spirit 異想世界
58會員
122內容數
這是從 Medium 開始的一個專題,主要是想用輕鬆閒談的方式,分享這幾年軟體開發的心得,原本比較侷限於軟體架構,但這幾年的文章不僅限於架構,也聊不少流程相關的心得,所以趁換平台,順勢換成閒談軟體設計。
全部內容
由新到舊
軟體系統的混亂常源於需求的演進,而非刻意為之。本文分享如何透過重構,將一個龐大混亂的程式碼包,依循 Clean Architecture 與 DDD 的原則,拆解成多個語意清晰、相互獨立的子領域,並探討拆分過程中遇到的挑戰與解決方案,如引入反腐層、處理資料結構複用等議題,強調測試在重構中的重要性。
Thumbnail
冒冒-avatar-img
2026/03/22
本文探討如何在 Javalin 環境下,透過 Interface-based Typed Configuration 實現集中管理、型別安全、慣例優先、容易實作與隔離來源的配置管理方案,並與 Spring framework 的配置方式進行比較,強調此方案的輕量、實用與可擴展性。
Thumbnail
小妮子-avatar-img
2026/03/17
開發系統過程中常遇到 race condition 問題,文章探討了樂觀鎖、Serializable Isolation Level 交易的限制,並提出 PostgreSQL Advisory Lock 作為一種方便且無需額外部署基礎設施的分散式鎖解決方案,以確保批次寫入與背景運算能按順序執行。
Thumbnail
陳Solomen-avatar-img
2026/03/09
本文探討在軟體開發過程中,將原本並非 Aggregate 的設計,逐步重構成具有 Aggregate 精神的實作。作者分享了一個實際案例,說明如何在一致性問題和更複雜的協同作業需求出現時,透過引入樂觀鎖,並逐步思考 Aggregate 的設計原則,最終找到一個在滿足系統需求下的特殊解決方案。
Thumbnail
陳Solomen-avatar-img
2026/03/02
作者分享了 B2B 產品在迭代開發過程中所遇到的挑戰,特別是在追求功能完整性的過程中,如何避免設計變得過於複雜,進而影響使用者體驗。文中探討了從使用者回饋、市場變化到團隊內部認知的變化,並提出了在產品開發中「踩煞車」的重要性,以確保產品能真正符合使用者需求,而非徒增複雜度。
Thumbnail
陳Solomen-avatar-img
2026/02/21
分享在不同公司期間,與客戶進行實地拜訪的豐富經,這些故事不僅是單純的客戶訪談紀錄,更揭示了產品開發過程中可能遇到的挑戰、客戶的真實痛點,以及從數據以外的角度全面理解市場需求的洞見。文章強調了工程師實地訪談的重要性,並鼓勵讀者若有機會應多加嘗試,從中獲取寶貴的經驗與啟發。
Thumbnail
Glassy Snail-avatar-img
2026/02/14
本文探討了在團隊成長過程中,如何建立關注數據的文化,並從開發數據、工程營運數據、產品營運數據及使用者體驗數據四個面向,說明數據在產品決策、優化與進步中的重要性。讓團隊相信數據的價值是建立數據文化的關鍵,並鼓勵工程師不僅關注程式碼,更要關心產品的整體成效。
Thumbnail
本文探討透過 EventCenter 抽象層,將核心邏輯與訊息佇列技術框架解耦,提升系統的彈性和可維護性。藉由建立一個僅包含三個函式的輕量級 EventCenter 介面,並提供 GCPEventCenter 作為具體實作,說明這種設計如何在不修改核心邏輯的情況下,輕鬆更換底層的訊息傳遞實現。
Thumbnail
這篇文章探討了「軟刪除」的實現方式、優缺點,並解釋軟刪除如何解決開發與營運系統中常見的資料刪除難題,分享在實作時,讀取邏輯的修改、關聯資料的處理,以及「同生共死」原則在設計決策中的重要性。此外,軟刪除為「超級使用者」提供的「開天眼」能力。以增加系統複雜度換取資料處理的彈性。
Thumbnail
在決定離開 Spring Boot 後,處理資料庫交易管理成了一個挑戰。本文探討如何在不依賴 Spring framework 的情況下,結合 HikariCP、Sql2o、Service Locator 和 ThreadLocal 來實現交易管理,並提供一個基於函式風格的聲明式範例。
Thumbnail