Amo Chen

具體說明 HTTP 標頭(header) ETag 是如何運作的

談到瀏覽器的快取,最眾所皆知的是 Cache-Control 。

但其實還有 1 個也經常被提到,那就是 ETag 。

可真要解釋 ETag 具體在做什麼、是如何運作的,以及為什麼需要 ETag, 卻又很難講得清楚(偏偏面試又會被問)。

本文將從實際的範例出發,帶你徹底了解 ETag 並提供 Python 程式碼,讓你在家也能玩!

Posted on  Jun 9, 2024  in  HTTP headers  by  Amo Chen  ‐ 5 min read

網頁過場(transitions)框架推薦 — barba.js

有時候網頁所帶來質感是由一些細節所決定,例如從頁面 A 到頁面 B 時,可以加入過場的特效,譬如淡出、淡入、翻頁、滑入等效果,使用者就會留下網頁生動

Posted on  Jun 8, 2024  by  Amo Chen  ‐ 1 min read

Python 模組教學 - selectors

Python 是 1 個追求易用、易學、 battery included 的程式語言, Python 有一些模組會把既有的模組包裝成高階(high-level)模組,除了更易於使用之外,因為一些實作細節或最佳實務也都幫忙打點好了,所以能讓開發者寫出更優雅、簡潔的程式碼。

本文將介紹 selectors 模組,該模組是基於 select 模組的高階模組,也是做 I/O 多工會使用的模組。

Posted on  Jun 5, 2024  in  Python 程式設計 - 中階  by  Amo Chen  ‐ 5 min read

理解 Python 後端技術: ASGI (Asynchronous Server Gateway Interface) — WSGI 的繼承者

大家或多或少應該都聽過近年來熱門的 Python 框架 FastAPI,它其中一個特點是支援 WebSocket 。

WebSocket 與 HTTP 的不同之處在於, HTTP 是單次要求單次回應的協定,而 WebSocket 是 1 種長期連線技術,允許多次的客戶端與伺服器端互動事件發生,這意味著應用需要能夠處理持續的雙向通訊,而不僅僅是處理單一的要求和回應。

談到這裡,不知道你是否會好奇為什麼 FastAPI 能夠同時支援這 2 種截然不同的協定?

這一切都與 ASGI 脫不了關係!

本文將介紹 ASGI (Asynchronous Server Gateway Interface) ,這個被稱為 WSGI 繼承者(successor)的規範,以及 ASGI 如何賦予 FastAPI 同時支援 HTTP 與 WebSocket 的能力。

Posted on  Jun 2, 2024  in  Python 程式設計 - 中階  by  Amo Chen  ‐ 10 min read

充滿各種 UI 元件的宇宙 — UIverse

UIVerse 是 1 個提供開源(open-source) 網頁 UI 元件的服務,例如 Buttons, Loaders, Forms, Cards 等等,使用者可以在 UIVerse 創造、分享各種美麗且具質感的 UI 元件。 如果你需要設

Posted on  Jun 1, 2024  by  Amo Chen  ‐ 1 min read