Sam Who 是英國程式設計師 Sam Rose 的個人網站,專門發表視覺化、可互動的計算機科學長文。作者在首頁自述:每篇文章耗時一到三個月,採用由下往上的講法——從最簡單的例子開始,逐步搭建到完整的概念。文章中的模擬可以直接暫停、調速、重置,讀者可以一邊操作一邊觀察系統的行為變化。

Sam Who《Load Balancing》一文截圖:正文介紹負載平衡問題,文中嵌入的模擬可暫停、加速和重置

網站速覽

項目 內容(截至 2026-09-30)
網址 samwho.dev
類型 個人視覺化互動式技術長文
費用 免費
註冊要求 無需註冊;可選訂閱電子報(每年僅數封)
介面語言 僅英文

網站背景

Sam Rose 是英國程式設計師,現任 ngrok 開發者教育者(developer educator),在公司部落格也發表同風格的視覺化文章(如 Prompt Caching、Quantization)。他多次以來賓身分談論視覺化教學(如 Hanselminutes 第 953 集)。網站於 2019 年前後上線,域名本身就是招牌——首頁的鍵盤鍵帽拼出「SAM WHO」。

已發表的視覺化長文

網站導覽與首頁列出的互動式長文共七篇:

  • Load Balancing:從單一負載平衡器分發 HTTP 請求講起,一路推演到現代負載平衡演算法;
  • Memory Allocation:堆積記憶體配置器如何劃分、合併與回收記憶體區塊;
  • Hashing:雜湊函式的性質與碰撞處理;
  • Big O:用大 O 表示法直觀比較演算法增長量級;
  • Bloom Filters:布隆過濾器的機率型成員判斷;
  • Reservoir Sampling:在不知道總量的情況下均勻抽樣;
  • Turing Machines:用紙帶和狀態機模擬圖靈機運行。

Sam Who 首頁截圖:鍵盤鍵帽拼成的 SAM WHO 標誌,下方是作者自我介紹與寫作說明

適用場景

  • 後端與基礎設施工程師補齊 CS 基礎直覺;
  • 準備技術面試、需要真正理解負載平衡與雜湊等概念的開發者;
  • 喜歡「先玩模擬再讀原理」學習路徑的自學者。

限制

  • 產出速度慢:按作者自述每篇需一到三個月,總量有限。
  • 僅英文,且面向有一定程式背景的讀者,零基礎使用者可能吃力。
  • 主題聚焦後端與系統概念,不涉及前端、圖形或 AI 專題。

參考資料