server
最近買了Mac mini M4,主要用來開發與架主機,所以選了24GB的RAM,在上面跑了
-
mailpit
用來開發email寄信時,將他設定成smtp,在寄信的時候就可以攔截信件,不會真的寄出,又可以有很多檢查功能,在開發與測試機器上設定都蠻適合的。 -
sonarqube
可以在CICD中加入,檢查你的code品質的好東西,除了code review,你可以用來主動幫自己或是團隊檢查寫法或是風險。 -
trigger.dev
只能說是2024-2025心中的五顆星項目,以前喜歡用Laravel包山包海的東西,如果遇到schedule的東西,就額外再起一個,反正PHP特性沒用就不吃記憶體,但到了node的世界,什麼都要吃資源,只要你serve起來一個服務,反而會想讓後端單純的對應前端的互動,想把一切需要背景執行的東西都拆出去,當一個複雜的專案如果用 nestjs,你會發現開頭會DI一堆東西,一切都不再那麼的clear....,trigger把排程與所有的東西都當成functional,queue與concurrency也變得是同一個東西,只要在 queue的設定 concurrencyLimit寫上想要可以同時處理的數量,就可以控制queue可同時進行的數量。
只要用docker起trigger.dev主要的server,他有點像是serverless主機,當你的client端code寫好就用指令deploy上去,他引用的package是跟本來專案node_module同一個,不需要再額外處理,便可以把code和package一起deploy上去。
同時把log和視覺化的進度與每一個task的運行時間與順序記錄下來,但自己host在開發端很迷,吃的資源還好,但是如果是在aws ec2上則是吃的恐怖,所以真的要走production,建議還是買SAAS服務,付個基本費,接著按需付費比較省。
由於Mac mini m4真的變態省電與快速,我跑了一堆服務還可以同時開發,記憶體大約是在8GB上下,對於24GB來說還是游刃有餘,但這種在一些大公司可能就開主機燒錢了.....真的沒啥必要
serverless
大家最常使用的blog或許是Wordpress之類的項目,基於PHP的特性,沒有request就不消耗資源,所以都可以承租到很便宜的服務,因為背後大家都在share一台主機或是多台主機共用記憶體,瀏覽上也很難達到高併發,加上圖片有CDN,主機的承載量就輕鬆很多。
但如果稍微對美感有些挑惕,它的後台一看到,真的會嚇到關視窗...所以當時只好自己找適合的後台,後來選擇了 keystonejs ,前台就自己拿 nextjs自己手作,最後跑SSR後放到 Cloudflare Pages,所謂的SSR就是把每一頁從需要動態撈資料抓圖片的行為,在主機端跑一次,把每一頁都處理好變成靜態頁面,不需要再從APi中取得資料,就可以把整包資料,放到託管的網路空間,這樣只要服務商運作正常與流量沒有超過免費額度,就可以享受免費蹭與不用顧主機的好處。
但除了靜態的讀取,難免還是會有需要寫入資料的需求,像是留言或是訂閱電子報,這些偶發性的需求,如果開滿一台主機來等待請就真的是太浪費,通常服務商對於serverless的服務都會有免費的額度,以下是cloudfalre woker的收費情況
此時使用serverless,真的比開主機更划算,而且省去了維護的費用。
但serverless也不是沒有缺點,普遍都會有冷啟動的問題,用request來觸發serveless,背後通常都是docker,把算力和資料卦仔在一塊運算後再釋放掉,如果對於響應時間有要求的,還是要注意冷啟動的第一次request需要較長的時間,至於啟動後能維持多久才關自己要看服務說明,有些服務啟動後就會開始收錢,但不收CPU運算的錢,到底誰那麼煩,Google、AWS 不要逃,就是你們,cloud run和 Fargate這種東西,他跟functional 的serverless的差異是他可以塞進去一個完整的框架包成docker,相容度比較高,其他serverless 都會有自己一套的簡易框架,只能照著他們寫。
本來想簡單介紹 Elysia,基於Bun的 JS/TS 框架,發現廢話太多來不及寫....,只能有空再寫。
文字工作者,寫作時間常常在人類與電腦之間拉鋸,相信閱讀,相信文字與思想所構築的美麗境界