Explore

想知道什麼,就從那裡開始。

沒有固定順序,也不用先修任何課。這裡整理 AI、軟體、學習與數位工作中的概念,挑一個你現在想弄懂的問題就好。

Explore最新文章
Software
2026.09

網域到底是什麼?網站上線前,先分清楚網域、DNS、主機與 HTTPS

買了網域不等於已經有網站,DNS、主機與 HTTPS 也不是同一件事。從網站擁有者的角度,理解網域註冊、續費、控制權、www、DNS 指向與網站正式上線的基本流程。

Software
2026.09

Idempotency 是什麼?為什麼同一個 API 重送兩次,不應該扣款兩次?

網路請求可能因逾時、斷線或重試而被送出不只一次。Idempotency(冪等性)描述的是:同一個操作被重複執行時,系統是否仍能維持與執行一次相同的最終結果。從 HTTP method、付款 API、Idempotency-Key 到重試機制,理解為什麼可靠的系統不能把「收到兩次 request」直接等同於「做兩次事情」。

Software
2026.09

CORS 是什麼?為什麼瀏覽器會阻止前端呼叫另一個網站的 API?

前端程式明明能直接寫 fetch() 呼叫 API,伺服器也正常運作,瀏覽器卻突然跳出 CORS 錯誤。問題通常不是「API 壞掉」,而是瀏覽器正在執行同源政策。這篇從 Origin、Same-Origin Policy、Preflight、Access-Control-Allow-Origin 到 Credentials,拆解 CORS 到底在保護什麼,以及實務上應該在哪裡設定。

Software
2026.09

Webhook 是什麼?為什麼系統可以在事件發生時主動通知另一個系統?

當付款完成、程式碼 push、表單送出或檔案處理完畢時,另一個系統常常幾乎立刻知道發生了什麼。這不一定是因為它每秒都跑去問一次,而可能是靠 Webhook:事件發生後,由來源系統主動送出 HTTP request。這篇從 polling 的問題開始,拆解 endpoint、payload、event、signature、retry、idempotency 與事件順序,理解 Webhook 為什麼簡單,卻也很容易在 production 出現重複、延遲與安全問題。

Software
2026.09

Message Queue 是什麼?為什麼系統不一定要立刻把工作做完?

當網站收到一個請求,我們直覺會以為伺服器必須當場完成所有工作,再把結果回傳。但寄信、轉檔、產生報表、同步資料、處理大量圖片等工作,往往不適合塞進同一次 HTTP request。Message Queue(訊息佇列)讓系統先記下「有一件工作要做」,再由其他程式在背景依序處理。本文從同步處理的瓶頸開始,理解 Producer、Queue、Consumer、Acknowledgement、Retry、Dead-letter Queue、Idempotency 與 At-least-once delivery,並說明什麼情況值得加入 Queue、什麼情況反而不需要。

Software
2026.09

Database Sharding 是什麼?資料多到一台資料庫放不下時怎麼辦?

當資料量、寫入量或單一資料庫的硬體上限逐漸成為瓶頸,系統可以把資料拆到多個彼此獨立的資料庫節點。這種水平切分方式叫做 Sharding。它能把容量與負載分散出去,但也會把原本簡單的查詢、交易與維運問題變成分散式系統問題。

Software
2026.09

Database Replication 是什麼?為什麼資料庫需要不只一份副本?

當網站開始承受更多流量,或服務不能接受資料庫一故障就整站停擺時,「把資料複製到其他資料庫」就成為常見做法。這篇文章從 Primary、Replica、同步與非同步複寫開始,理解 Read Replica、Replication Lag、Failover,以及為什麼「有副本」不等於「有備份」。

Software
2026.09

Database Transaction 是什麼?為什麼轉帳不能只做到一半?

資料庫裡很多操作不是單一步驟。轉帳要同時扣款與入帳、下單可能同時建立訂單與扣庫存。Transaction 的工作,就是把一組彼此依賴的操作視為一個完整單位,避免系統停在「只完成一半」的危險狀態。本文從轉帳例子理解 ACID、COMMIT、ROLLBACK、隔離層級與常見並行問題。

Software
2026.09

Database Index 是什麼?為什麼加一個索引,查詢可能從幾秒變成幾毫秒?

資料庫裡有幾百萬筆資料時,逐筆尋找往往太慢。Index(索引)就像替資料建立一套更容易搜尋的結構,讓資料庫不必每次都掃完整張表。這篇從 Full Table Scan 開始,理解 B-tree、複合索引、查詢計畫,以及為什麼「索引越多」反而不一定越快。