前後端多 Repo 架構實戰:Module Federation 組裝前端,FeignClient 打通模組化單體後端
記錄一次多 Repo 架構 POC:前端用 Webpack 5 Module Federation 在 runtime 組裝多個 Angular app,後端用 Modular Monolith + Spring Cloud OpenFeign 解決模組間循環依賴,最終仍交付單一 fat JAR。
程式筆記、架構思考、踩坑記錄。
72 篇文章
記錄一次多 Repo 架構 POC:前端用 Webpack 5 Module Federation 在 runtime 組裝多個 Angular app,後端用 Modular Monolith + Spring Cloud OpenFeign 解決模組間循環依賴,最終仍交付單一 fat JAR。
從 Team Lead 視角建立可落地的版本管理規範:語義化版本、SNAPSHOT vs RELEASE、Git Flow 分支策略、CI/CD Pipeline 設計、Multi-Repo + Nexus 實戰到 Hotfix 流程。
記錄在整合外部 API 時,如何透過 Double-Checked Locking、細粒度鎖定與非同步預取機制,解決高併發下的 Token 雷擊效應,將首次請求從 1300ms 降至 800ms,後續請求降至 8ms。
記錄將數萬筆帳戶資料從 Oracle 批次轉檔至 Redis Cluster 的工程實踐,包含三層批次架構設計、Semaphore 流量控制、帳號級錯誤隔離與 OOM 防護機制,轉檔時間從 45 分鐘降至 8 分鐘。
記錄 Query API 的快取演進過程:從 Service 層快取到下沉 Repository 層,以及為什麼這個決策能有效提升高併發場景下的命中率與可維護性。
記錄如何讓多個外部平台透過 iframe 嵌入並完成 SSO 登入,包含雙層加密設計、中台二次驗證機制與安全防護實踐。
記錄一次完整的壓測調校過程:從初期 TPS 80、P95 2.1 秒,經過八個優化策略,達到 TPS 450、P95 450ms,並整理幾個反直覺的優化洞察。
記錄在三層微服務架構中,如何設計三套獨立的 JWT(Channel / Query-API / External API),以及為什麼 Query-API 作為共享服務必須有自己的認證機制,不能直接信任上游的 token。
記錄在三層微服務架構中,如何以 WebFlux 實作輕量反向代理層(Traffic-Controller),搭配 OpenFeign 做服務間通訊,並透過 FeignClientInterceptor 在層與層之間轉換 JWT,形成端到端的認證鏈。
記錄在同一個 Spring Boot 服務內配置兩個獨立 DataSource(各自有 EntityManagerFactory、TransactionManager、HikariCP 連線池)的實踐,以及 @Transactional 跨資料源的邊界風險與設計原則。
記錄在 Redis Cluster 環境下操作 Pattern 刪除的策略選擇(SCAN vs KEYS),以及 Lettuce 連線池設定、拓樸自動刷新、啟動 warm-up 等讓 Cluster 操作更穩定的工程實踐。
記錄一個無 SA 文件、上百支 JSP 夾雜 Oracle PL/SQL 的舊系統,如何透過 CLAUDE.md、Skill、Command、MCP、自動循環等機制,建立一套可信任的 AI 協作翻新流程。
可以自己把程式碼貼上去來產生,純前端,所以不用怕有什麼資安的問題
本專案採用領域驅動設計 (Domain-Driven Design, DDD) 方法學,透過將複雜業務邏�
DDD 是一種基於領域知識來解決複雜業務問題的軟體開發方法論。
* 使用 Docker 搭建 Linux 容器環境
最近的專案是所謂的 小網,也就是一個嵌入在手機 APP 裡面的網頁。這個�
以下將會以 Antigravity 為例,介紹 Skills 的概念與實踐。
這篇文章會教你如何使用 diff2html 工具,產生兩個 Git 分支之間的程式碼差異
Flyway 是一套 **資料庫版本控管(Schema Migration)** 工具。
- `TRACE`:最詳細的日誌,幾乎所有調試訊息都會顯示。
在 Spring Boot 中,**Jackson** 是最常用的 JSON 解析與序列化/反序列化工具,Sprin
| 指令 | 作用 | 影響範圍 | 是否改變歷史 | 是否刪除 commit | 適用場景 |
Git Tag 用於標記特定的 commit,常用於版本發布與里程碑標記。
本篇將介紹如何有效閱讀與分析 Apache JMeter 所產生的測試報表,協助你判斷�
- 因為最近的專案是以 Spring boot 作為後端開發語言,所以這邊會以 Spring boot
- 甚麼是測試?
- docker
以下是教學範例,說明如何配置 Nginx 支援 HTTPS 並進行反向代理。
- 快取的定義和重要性
UUID 是一個 128 位元的唯一識別碼,用來唯一標識某一個物件或實體。它由國
這次我一定要拿到認證,所以我這篇要用中文寫,並且好好記錄通過考試所�
Conventional Commits 是一種對 Git commit 訊息的格式化慣例,旨在提供一組清晰的�
Coming soon
- Sonatype nexus repository is a kind of repository manager. Includes support for Maven, NuGet, PyPI
這兩天專案上遇到要在很多地方處理 JWT,我提出 Filter 跟 Interceptor 都可以使
平常很常使用 Spring boot 提供給我們的 Annotation,實在是有夠方便。
**文件目的:** 詳細解釋 JSON Web Key (JWK) 的定義、用途、工作流程,並分析其
`PasswordEncoder` 是 Spring Security 用來**雜湊(hash)密碼**與**驗證密碼**的核心�
Redis是一種開源的,基於內存的資料結構儲存系統,也就是在RAM(隨機存取�
- After Redis 2.6, Redis has provided a new feature that let us use Lua script to do some operations
The most important thing in the begining is [Redis OM](https://redis.io/docs/connect/clients/om-clie
- [Enum 的定義](#Enum-的定義)
- 其實就是用來檢查 index 建立時,所使用的欄位排序,是不是最有效率的排�
- [甚麼是物件導向設計](#甚麼是物件導向設計)
- [Make your hands dirty](#make-your-hands-dirty)
<!-- TOC -->
- [目錄](#%E7%9B%AE%E9%8C%84)
C4模型是一種用於視覺化和描述軟件架構的方法,它提供了一套標準化的語�
<!-- TOC -->
- [類別與實例](#%E9%A1%9E%E5%88%A5%E8%88%87%E5%AF%A6%E4%BE%8B)
* 關於涵式的首要準則就是簡短
* 變數、函示與類別的名稱,要能解答大部分的問題。他需要告訴你,他為�
Gradle是一款開源的自動化建構、測試和部署軟體專案的建構工具。它基於 Gro
多線程是指一個程序中包含了多個執行緒,這樣一來,每個執行緒都可以同�
這是我的資料結構學習筆記的第一篇,所以先來了解一些基礎知識,然後再�
雙向鏈結串列 (Doubly Linked List) 是一種進階的鏈結串列,由節點 (Node) 組成,�
```mermaid
- Queue 是一種線性的資料結構
單向鏈結串列 (Singly Linked List) 是一種基本的資料結構,由節點 (Node) 組成,�
堆疊(Stack)是一種基本的資料結構,遵循著一個簡單的原則:**後進先出**(La
都轉職成軟體工程師兩年左右了,在轉職班也沒有好好的學習電腦科學的基�
- Java Virtual Machine
Cypress是一個開源的端對端測試框架,它可以幫助開發人員在網頁應用程序上
首先,原生kafka是不支持消息重試的。但是spring kafka 2.7+ 封裝了 Retry Topic這�
稍微修整一下問題為同一個consumer group中的兩個consumer,分別在不同的主機或
Kubernetes Dashboard is a general purpose, web-based UI for Kubernetes clusters. It allows users to
- 有時,當我們要啟動服務前,可能會需要先執行一些工作,例如初始化資�
是這樣的,前端送來一個 Get Request,我們的 Spring boot 專案在 Controller 處理完
- Redis is an open source (BSD licensed), in-memory(內存) data structure store, used as a database
* 使用ngrok建立一個臨時的https網址(接收Line Bot傳送過來訊息的網頁須走https�
* HttpSecurity http :