在學習程式設計的過程中,我們常聽到許多結論,例如「Dictionary 很快」、「StringBuilder 一定比 + 快」、「async 一定能提升效能」,但這些說法真的永遠正確嗎?本系列將透過程式實驗、效能測試、圖解與原理分析,重新驗證每一個程式設計中常見的觀念與迷思。內容涵蓋 C#、資料結構、演算法、.NET Runtime 與 Framework,並以「提出問題、設計實驗、驗證結果、探討原理」為主軸,帶領讀者從「知道怎麼做」進一步理解「為什麼這麼做」,培養獨立思考與分析問題的能力,而不是只記住結論。
昨天我們一路追到 JSON Deserialization。 假設 Client 傳來: {"name":"Andy",...
昨天研究 Reflection 時,我們已經知道: Framework 可以在 Runtime 查看 Handler 的結構。 例如: UpdateUser(i...
昨天我們一路研究到 Parameter Binding。 也就是: Framework 先透過 Reflection 看 Handler 需要什麼參數, 再從:...
前幾天,我們一直在把整個 Request 到 Response 的流程補完整。 目前已經可以想像一個 Request 進來後: Browser↓HttpRequ...
走到今天,前面幾天研究過的東西已經很多。 我們從最底層開始: TCP↓Socket↓NetworkStream↓HTTP Request 接著慢慢加入: Htt...
前面幾天,我們已經把 Framework 需要的很多核心概念都拆開來理解了。 有 HttpRequest。 有 HttpResponse。 有 Routing。...
昨天開始正式把巨大 Program.cs 拆開。 原本很多事情都混在一起: TCP Server Request Parsing Routing Handler...
昨天,我們已經把 Framework 最核心的流程接起來: HttpRequest↓Router↓Handler↓HttpResponse 也就是說,Reque...
做到昨天,Mini Web Framework 的核心架構已經差不多成形了。 目前整體流程可以想成: Browser↓MiniWebServer↓HttpReq...
Day1 的時候,我問自己的問題其實不是: 我要怎麼做一個 Web Framework? 而是: 為什麼我學了這麼多程式,遇到真正的問題時,還是常常不知道程式到...