iT邦幫忙

鐵人檔案

2025 iThome 鐵人賽
回列表
Software Development

系統設計一招一式:最基本的功練到爛熟就是殺手鐧,從單體架構到分布式系統的 Lab 實作筆記 系列

從 ChatGPT 問世以來聽到太多「軟體工程師已死」的雜訊,但就我看來並非如此,AI 當然會在不久的將來取代掉一部分軟體開發的需求,然而這正代表著軟體工程師思維迭代的契機,以往需要捲起袖子幹的「髒活」由 AI 代勞後,我們有更多的時間與精力來做更高層次的規劃、設計。因此,身為介於 Junior to Mid-level SE 的我,必須及早開始培養系統設計的素養,成為不會被時代淘汰的軟體工程師。這次的參賽目的旨在內化面試常見的系統設計經典案例,期許自己不僅可以熟知書中的理論知識,也可將基礎卻必要的組件實作出來,並且融會貫通、知曉其背後的脈絡與推演邏輯。

鐵人鍊成 | 共 30 篇文章 | 9 人訂閱 訂閱系列文 RSS系列文
DAY 21

Day 21 | 第三階段系統優化 | ObjectMapper 單例

前言 昨天把 Redis Pub/Sub 的功能微調後,測試已經可以在分布式的環境下透過 WebSocket Session 收到通知了,基本上我們要完成的業務...

2025-09-11 ‧ 由 y___che 分享
DAY 22

Day 22 | 第三階段系統優化 | GitHub Actions & Docker Build

前言 今天來點輕鬆的,因為之後我想要實際把專案部署到雲端上,所以想要寫一個 GitHub Actions 的 CI/CD 流程,今天就從最簡單的步驟開始,目標是...

2025-09-12 ‧ 由 y___che 分享
DAY 23

Day 23 | 第三階段系統優化 | GitHub Actions + GCP 部署血淚史:踩雷大會

前言 今天的目標其實很單純:設定一個 GitHub Actions workflow,讓它能夠自動建置 Docker、推送到 Artifact Registry...

2025-09-13 ‧ 由 y___che 分享
DAY 24

Day 24 | 第三階段系統優化 | 繼續 GitHub Actions + GCE 部署:回頭把某些概念 solidify 一下

前言 昨天在把我的本地專案部署到 GCE 上的過程可以說蠻不順利,什麼權限、金鑰等等的資源我總是管理得零零落落,這真的是我的一個大課題,跟開發要克服的難點完全不...

2025-09-14 ‧ 由 y___che 分享
DAY 25

Day 25 | 第三階段系統優化 | 為了省錢把 MySQL 部署在 GCE

前言 昨天透過 GitHub Actions 成功將我的 SpringBoot 模組容器化並部署到了 GCE,容器 run 是 run 了起來,但內部的 Spr...

2025-09-15 ‧ 由 y___che 分享
DAY 26

Day 26 | 第三階段系統優化 | 找個免費 Redis Server 來用 & GCE 網路問題排查

前言 今天早上發現我 SSH 怎麼連都連不進我的 GCE,用各種方式排查都沒什麼結果,真的讓人很頭痛,我想應該會把這個 VM 砍掉再重新建一個新的實例吧,但在排...

2025-09-16 ‧ 由 y___che 分享
DAY 27

Day 27 | 第三階段系統優化 | 離線通知的保存跟恢復

前言 今天來稍微優化一下之前的推送通知系統,為當前不在線上的用戶保存通知消息,等到他們上線時再自動推送給他們。 實作:離線通知的保存跟恢復 首先我們要實作保存的...

2025-09-17 ‧ 由 y___che 分享
DAY 28

Day 28 | 第三階段系統優化 | 用 Lua 優化限流算法 -0

前言 先前已經用 Redis 來實現了固定窗口的分布式限流,但突然想到其他算法沒有跟著升級,尤其是 Token Bucket 之後應該會再用到,雖然我想要用看看...

2025-09-18 ‧ 由 y___che 分享
DAY 29

Day 29 | 第三階段系統優化 | 初識監控&引入套件

前言 今天要為我們的系統整合進一點監控的東東。以前不太 care 這些東西,就是日誌、錯誤訊息、監控指標這些,總覺得應該跟自己無關吧,但實際工作後才知道,這些東...

2025-09-19 ‧ 由 y___che 分享
DAY 30

Day 30 | 下台一鞠躬,明年會更好

沒想到,跌跌撞撞、步履蹣跚地走到了今天,不管實際的表現如何我都為自己感到驕傲,在這三十天旅程的一開始,突然白天工作量增加許多,讓原本還能偷偷在上班撰筆的計謀完全...

2025-09-20 ‧ 由 y___che 分享