iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
Software Development

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

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

參賽天數 20 天 | 共 20 篇文章 | 2 人訂閱 訂閱系列文 RSS系列文 團隊五人成行,Bug 不行
DAY 11

Browser 傳來的 Request 到底長什麼樣?

Day10,我終於讓自己寫的程式真正開始監聽網路連線。 透過: TcpListener 以及: AcceptTcpClient() 我的程式可以等待 Clien...

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

Framework 如何看懂 GET /products HTTP/1.1?

昨天已經成功讓瀏覽器連線到自己建立的 Server,也能看到瀏覽器傳來的 HTTP Request。 今天進一步想了解: 瀏覽器傳來的 GET /hello H...

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

Framework 到底怎麼根據 Path 找到正確的程式?

昨天我已經成功把: GET /products HTTP/1.1 解析成: Method = GET Path = /products Version...

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

Server 到底要回傳什麼,Browser 才看得懂?

昨天已經成功完成: Browser↓HTTP Request↓解析 Path↓Routing↓找到 Handler↓執行 Handler 例如: /hello↓...

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

為什麼 Framework 需要自己的 Response 物件?

昨天我們第一次成功讓整個流程完整跑通: Browser↓HTTP Request↓Server↓Routing↓Handler↓HTTP Response↓Br...

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

為什麼 Framework 也需要自己的 Request 物件?

昨天,我第一次建立了自己的 HttpResponse。 原本所有 Response 相關的資訊都散落在 Program.cs: StatusCodeStatus...

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

HTTP Headers 那麼多,Framework 到底怎麼把它們解析出來?

昨天,我第一次建立了自己的 HttpResponse。 原本所有 Response 相關的資訊都散落在 Program.cs 裡,包括 StatusCode、S...

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

網址後面的 ?name=Andy,Framework 到底怎麼看懂?

前幾天,我們已經把 Request 慢慢整理成比較像 Framework 會使用的形式。 例如原本 Browser 傳來: GET /hello HTTP/1....

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

POST 傳來的資料到底藏在哪裡?Request Body 又是什麼?

昨天研究 Query String 時,我們看到 Browser 可以把一些資料直接放在網址裡。 例如: /search?q=book 可以理解成: Path...

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

JSON 明明只是一串文字,Framework 為什麼可以把它變成 C# 物件?

昨天理解 Request Body 之後,我開始知道,POST 傳來的資料可能會放在 Body 裡。 例如: {"name":"A...

2026-08-21 ‧ 由 andy0317 分享