第 140 期 - 日子不好過,但祝福大家都能跟著乘載希望的火箭發射出去!

本週專欄

Consistency between Cache and Database, Part 1

大家好,這週的專欄是 Starbugs Writers 吳俊廷 所分享的 「Consistency between Cache and Database, Part 1」

Cache 的重要性不言而喻,當使用者送出請求,假如資料可以在 Cache 裡面找到的話,那麼便不用再跑去 Database 裡面做查詢,除了省時省力之外,也可以降低 Database 這個寶貴資源的負載

不過要如何確保 Cache 和 Database 間的資料保持一致呢?這中間可就有不少學問可以探究,讓我們跟著此系列文來學習這兩個儲存元件之間為了要保持資料一致性可能會遇到的問題與解決方法!

前端開發

前端工程師都在忙些什麼?

作者憑藉著自己的記憶和求證紀錄,在文章中描述了過去十年來前端圈到底發生了哪些事情,文章中將分成以下幾種時期,闡述每個時期間的發展:

  • 歡樂老時光 — 2007–2009
  • 混合開發,前端生態 — 2009–2010
  • 開發體系,模組化 — 2011–2013
  • 資料流 ,體驗最佳化 — 2014–2016
  • 可免則免,快狠準 —2017–now

這些時期在前端圈發展出來的工具非常非常多,很喜歡作者最後說的:「每個工具都有想解決的問題,發展和演進也都有它的原因,去了解它們,不需要想得太複雜,也不用盲目地追求技術」。

Bun is a fast all-in-one JavaScript runtime

繼幾年前的 deno 之後,又出現了一款能夠打包、轉譯、安裝和執行 JavaScript 的 Bun!Bun 使用的 JavaScript 引擎是 JavaScriptCore,且大部分的轉譯內容包含 JSX/TypeScript、SQLite client、WebSocket client 等都是從頭寫出來的。還有其他更多特色,到官網中看看有哪些吸引到你的!

Introduction to Defensive CSS

在今年初的 114 期週刊中,有推薦一篇 Defensive CSS,而這篇也是以相同概念作延伸,並增加一些 UI 設計師在設計時對版面的思考,以及在工程師端該如何處理內容過多,導致圖片根據版面被撐開造成比例錯誤的狀況。

DevOps

List of DevOps Blogs and Resources for Learning

這篇目前是我看過最厲害的 DevOps 資源整理,從課程、Github repository(光是這個水就很深)、書籍、blog、social media、podcast、知名人士、白皮書、必看的工程文章 blog、討論區。可以看得出來這篇整理都是精挑細選的,想要精進自己這邊是很好的入口,更不用說筆者我之後的 DevOps 推薦文章也會從裡面找。

Understanding data transfer costs for AWS container services

這篇解釋在 AWS 上使用 container 服務所花的資料傳輸費用。例如 container deployment 的不同而很難注意到花費,container image registry 是否為 public or private、是否同個 region 都會影響資料傳輸費用。有些 AWS container 服務的特殊性,地端的 nodes 需要跟 AWS 雲上的 control plane 做溝通也會有傳輸費用,更不用說 AZ 之間的傳輸費用。甚至要注意的是 Kubernetes 的設定是不是流量直接到適當的 node 上而不用再請 kube-proxy 轉送。

Advanced Features of Kubernetes’ Horizontal Pod Autoscaler

本文用 KinD 做測試環境示範進階的 HPA(Horizontal Pod Autoscaler),基本 HPA 常見的基準就是 CPU or memory 使用量,於是作者就示範客製 Prometheus metric 來觸發 HPA,而且可以從 PodsService 這兩層看情況收集。除了從 application 本身獲取 metric 之外,也可以從它的 backing service 下手,例如 DB 或 queue service。另外也介紹較為特殊的功能如:HPAScaleToZero、HPAContainerMetrics、LogarithmicScaleDown。

Kubernetes

How Virtual Kubernetes Clusters Can Speed Up Your Local Development

vcluster 是 Loft 的一個專案,他可以將一個虛擬的 K8s Cluster 建立在實體 K8s Cluster 的一個 Namepsace 中 (感覺好像在繞口令),換句話說就是 Host K8s Cluster -> Namespace -> Virtual K8s Cluster!而這篇文章則是要跟大家介紹如何利用 vcluster 來加速本地端開發流程

How to scale down Kubernetes cluster workloads during off-hours

K8s 有沒有可能根據時間把叢集變小?為什麼會想要這樣做呢?因為作者所為維護的服務其實在下班時間沒有什麼流量,尤其在週末更是慘澹,所以假如可以根據時間把 K8s Cluster 縮小的話,就可以解省很多的經費,所以他想要跟大家介紹一個叫做 Kubernetes Downscaler 的開源專案,讓 K8s 可以根據使用者需求節能省碳

Cubernetes

有在研究自架 K8s 的人應該有聽過 Amazon EKS Anywhere,而作者就利用這個專案花了幾個月的時間自幹的一座 K8s Cluster,並將其取名為 Cubernetes,文中詳細地描述了如何完成這台機器的詳細過程,看起來滿酷的,會有人也想要跟作者一樣也自己來一台嗎XD

StarBugs Weekly

StarBugs Weekly 由一群不寫文章就會想要亂花錢,但是又沒有那麼多錢,只好繼續寫文章的開發者所創立。
內容包含 Web 前端、中端、後端、DevOps、產品開發、精實創業,一切跟產品有關的知識,都是我們的守備範圍!
不想漏追科技新聞的人,趕緊把 StarBugs Telegram Bot 訂閱起來 https://t.me/starbugs_weekly_bot (對機器人說 /subscribe 即可)

另外,為了讓 Starbugs 的專欄有更多豐富、優質的內容,我們決定要開始誠徵 Writer 了。如果你本來就有在寫文章,對於文章的品質有要求、而且也樂於分享討論技術,那很歡迎你以 Writer 的身份加入我們。請動動手指頭私訊我們粉專 星巴哥技術週刊,並附上自我介紹跟最近寫的文章,就有機會加入我們唷 🙌

Writers:

  • @HannahLin - 從台灣到矽谷,熱愛前端的工程師女孩。
  • @KyleMo - 雜食性軟體工程師,喜歡的技術我都想學。
  • @Airwaves - Hi~我是 Airwaves,熱愛研究如何造輪子的前端工程師。
  • @Andy - 目標成為用嘴巴工作的工程師,專長為網頁開發以及 K8s。
  • @lazypro - 從 embedded 到 kernel,從 device 上雲端,程式無涯、無法靠岸,軟體的求道者。
  • @ianchen0119 - 5G 領域研究生,同時也是喜歡學習不同領域技術的工程師。
  • @00-talk - 我是 00,脖子痠痛的前端生命鬥士。

Maintainers:

  • @GQSM - Hi!我是神 Q 超人,一個先衝再說的男人。
  • @LarryLu - 我是 Larry,傳說中的 0.1 倍工程師!
  • @LukaJoJo - 一名全身都是死角的工程師。
  • @smalltown - 熱愛鑽研各種可以提升雲端服務品質及增進團隊開發效率的開源技術。
  • @RicoChen - 熱愛許多技術且努力看透技術的本質,如果有什麼好玩的技術,還請各位歡迎直接找我聊聊。

Feedback

本週呈現主題方式做了一些改變,希望讓讀者能夠更快速精準的找到自己要的資訊。也加入社群活動這個區塊,每週更新社群活動的資訊。如果有任何建議,歡迎私訊 星巴哥技術週刊 FB 粉絲專頁 與我們聯繫。