iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
Software Development

程式設計沒有告訴你的事:30 天破解每一個 Why 系列

在學習程式設計的過程中,我們常聽到許多結論,例如「Dictionary 很快」、「StringBuilder 一定比 + 快」、「async 一定能提升效能」,但這些說法真的永遠正確嗎?本系列將透過程式實驗、效能測試、圖解與原理分析,重新驗證每一個程式設計中常見的觀念與迷思。內容涵蓋 C#、資料結構、演算法、.NET Runtime 與 Framework,並以「提出問題、設計實驗、驗證結果、探討原理」為主軸,帶領讀者從「知道怎麼做」進一步理解「為什麼這麼做」,培養獨立思考與分析問題的能力,而不是只記住結論。

鐵人鍊成 | 共 30 篇文章 | 2 人訂閱 訂閱系列文 RSS系列文 |團隊五人成行,Bug 不行
DAY 21

Framework 怎麼知道 Handler 需要什麼參數?Reflection 又是怎麼出現的?

昨天我們一路追到 JSON Deserialization。 假設 Client 傳來: {"name":"Andy",...

2026-08-22 ‧ 由 andy0317 分享
DAY 22

Handler 的參數到底從哪裡來?Framework 怎麼做 Parameter Binding?

昨天研究 Reflection 時,我們已經知道: Framework 可以在 Runtime 查看 Handler 的結構。 例如: UpdateUser(i...

2026-08-23 ‧ 由 andy0317 分享
DAY 23

Handler 回傳的東西都不一樣,Framework 怎麼把它們變成 HTTP Response?

昨天我們一路研究到 Parameter Binding。 也就是: Framework 先透過 Reflection 看 Handler 需要什麼參數, 再從:...

2026-08-24 ‧ 由 andy0317 分享
DAY 24

每個 Request 都要做 Logging 和驗證嗎?Middleware 到底是什麼?

前幾天,我們一直在把整個 Request 到 Response 的流程補完整。 目前已經可以想像一個 Request 進來後: Browser↓HttpRequ...

2026-08-25 ‧ 由 andy0317 分享
DAY 25

Framework 的核心零件都有了,最後到底該怎麼把它們組起來?

走到今天,前面幾天研究過的東西已經很多。 我們從最底層開始: TCP↓Socket↓NetworkStream↓HTTP Request 接著慢慢加入: Htt...

2026-08-26 ‧ 由 andy0317 分享
DAY 26

開始組裝 Mini Web Framework:第一步,先把巨大 Program.cs 拆掉

前面幾天,我們已經把 Framework 需要的很多核心概念都拆開來理解了。 有 HttpRequest。 有 HttpResponse。 有 Routing。...

2026-08-27 ‧ 由 andy0317 分享
DAY 27

把 Router、Handler、Response 接起來:Framework 的核心流程終於成形

昨天開始正式把巨大 Program.cs 拆開。 原本很多事情都混在一起: TCP Server Request Parsing Routing Handler...

2026-08-28 ‧ 由 andy0317 分享
DAY 28

把 Middleware 接進來:我的 Framework 終於有 Request Pipeline 了

昨天,我們已經把 Framework 最核心的流程接起來: HttpRequest↓Router↓Handler↓HttpResponse 也就是說,Reque...

2026-08-29 ‧ 由 andy0317 分享
DAY 29

Framework 組好了,但真的能用嗎?開始做完整整合測試

做到昨天,Mini Web Framework 的核心架構已經差不多成形了。 目前整體流程可以想成: Browser↓MiniWebServer↓HttpReq...

2026-08-30 ‧ 由 andy0317 分享
DAY 30

從「我只會用 Framework」到「我知道 Framework 為什麼存在」:30 天最終成果

Day1 的時候,我問自己的問題其實不是: 我要怎麼做一個 Web Framework? 而是: 為什麼我學了這麼多程式,遇到真正的問題時,還是常常不知道程式到...

2026-08-31 ‧ 由 andy0317 分享