用 Cloudflare Workers 架設 Serverless 短網址服務
Cloudflare Workers 也是 Cloudflare 的佛心服務之一,可以把 node 程式部署到 Cloudflare 上的眾多節點,效能也不俗,每天還有 100,000 次的免費呼叫,也沒有冷啟動的問題,對流量不高的網頁來說完全夠用。另外,還有 Workers KV 可以用來儲存資料,這就可以寫出簡單的動態網頁,甚至是一些更複雜的應用。今天就來寫一個 Serverless 的短網址服務,並把資料存在 KV 中,就我目前自己測試下來,Workers 的效率真的沒話說。
從 Hugo 遷到 Gatsby 的紀錄
最近把網站從 Hugo 遷移到 Gatsby,遇到了一些問題,我就來簡單記錄一下解決問題的過程,而且因為我對 Node 也不是很熟,所以主要是在當作我練習 Node 和 React。
VSCode SSH 連入 Docker Container
為什麼要在 Container 中 Coding?因爲開發中最大的難題總是在環境建置,好不容易建置好環境,要寫下個專案時,因為電腦已經髒兮兮,安裝環境時就會容易衝到版本,而造成惡性循環,環境建置一次比一次困難,最後發現重灌電腦最快。在 Container 中 Coding 就可以簡單用完即丟,每次都可以在乾淨的電腦安裝環境,裝任何東西也不怕把本機弄髒,在 Windows 上更可以簡單的在 Linux 中開發。
Kotlin Flow
Kotlin 在多工處理上提供非常好用的 Coroutine。當不同 Job 之間需要傳遞資料時,總會遇到許多問題,以前最簡單的方式就是 Callback,但 Callback 模式已經在各個程式語言中產生許多問題,這邊就不多討論。Kotlin Coroutine 如果只是要回傳一個值,可以直接用 Suspend 的 Return 值,但如果是要回傳很多資料呢?簡單的方式是直接回傳 List,可是如果資料非常大,也會產生出問題。所以 Kotlin 提供 Flow 來幫助解決大量資料傳遞的問題。
MeiliSearch with Hugo
說到搜尋的解決方案,最有名的大概就是 Algolia,可以方便的創建索引,也有很多寫好的前端網頁元件可以使用,唯一的缺點就是收費。雖然 Algolia 要收費,但其實對於我這個小網頁都索引量是完全不用錢的,但是就還是覺得自己架一個索引系統比較有感覺,然後我就在 GitHub 上發現了開源的 MeiliSearch,功能基本上跟 Algolia 很像,也支援中文,甚至有些前端元件可以直接使用 Algolia 的,缺點就是要自己架設 Server。