Amo Chen

理解 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

理解 Python 後端技術:從 CGI 談到 WSGI, uWSGI 與 uwsgi

開發 Flask, Django 等後端應用時,最後一定會遇到部署的問題,這些框架多半告訴我們要使用 WSGI HTTP server 部署,例如 gunicorn, uWSGI 等等都是一時之選。

但你有想過為什麼要使用 WSGI HTTP server 嗎?你理解什麼是 WSGI 嗎?跟 uWSGI 之間又有什麼差異?(這些其實也是面試 Python 後端工程師時常見的問題)

本文將從 CGI 開始,一路認識 WSGI, uWSGI 以及 uwsgi, 把各種常見的問題都釐清!

Posted on  May 29, 2024  in  Python 程式設計 - 中階  by  Amo Chen  ‐ 9 min read

好文分享 — How I made my GitHub profile README dynamic

不知道大家有沒有注意到,有些開發者的 GitHub 個人頁面相當酷炫,除了各種 Icon, Badge 以及開發活動的 2D, 3D 統計圖表之外,還有個人 Blog 最新文章的連結等等,說是把 GitHub 個

Posted on  May 28, 2024  by  Amo Chen  ‐ 1 min read

好文分享 — Scrapy vs. Crawlee

軟體開發相關業務裡,網路爬蟲這 1 項其實相當常見,例如商品比價、股票資訊、房屋成交紀錄、 Zipcode 資料,甚至從競爭者的網站「借」資料等等,只要你從事軟

Posted on  May 27, 2024  by  Amo Chen  ‐ 2 min read