第 143 期 - 米奇妙妙屋真恐怖!

本週專欄

整合 Lighthouse CI 時遇到的大小事 feat. MSW & Drone CI

大家好,這週的專欄是由 StarBugs Writer 莫力全 來跟大家分享一些整合 Lighthouse CI 時遇到的大小事。Lighthouse 是一個由 Chrome 推出用來檢測網站的工具,他會幫你評分網站的效能、SEO、Accessibility 等等,讓你知道怎麼去改善。

為了讓前端專案的品質維持在一定水準之上,老莫花了一些時間在公司專案中整合 Lighthouse CI,雖然過程中踩了很多坑,但也遇到很多有趣的挑戰。如果你也對於使用自動化測試來提高網站品質有興趣的話,就快跟著這篇文章一頭栽進 Lighthouse 的世界吧!

前端開發

Style Queries

Style Queries 和 Container Queries 一樣 都是 contains-level-3 規範的一部份,Style Queries 能夠直接查詢頁面裡父元素的樣式內容,並根據父元素的樣式修改子元素的樣式,但為什麼我們需要這麼應用呢?來看看文章怎麼說吧!

一個前端工程師的婚禮黑客松

你能夠想像在一場婚禮裡面,一個前端工程師能利用自己的技能做到哪些事情嗎?這篇文章的作者他紀錄了舉辦婚禮時,自己所準備的周邊軟體,雖然比較少程式碼,但也是非常有趣且生活化的實務運用!

The End of Localhost

文章裡主要在說明將來大家可能都不會在 local 上開發,也舉出許多公司的系統都已經把開發環境移到雲端上作業,同時也列舉出許多贊成和反對意見的想法,是一篇非常有趣的文章。

Elixir

用 Elixir 學習後端煉金術 系列文

最近一直被同事推坑 Elixir,前幾天去 Coscup 又被推一次,越聽越不錯決定花點時間來看看XD,然後就找到了這篇講 Elixir 跟 Phoenix 框架的系列文,有興趣的話也一起來學學新語言吧~

46 年老技術與 Web 的新火花 - Actor Model in Web

Elixir 因為建立在 Erlang 之上,所以也是使用 Actor Model 來進行平行處理。雖然 Actor Model 比較冷門一點,但他的設計概念其實非常好,除了可以將灌注點分離,而且在平行處理時完全不需要上 lock,可以很好的解決需要平行運算的問題。

CSP vs Actor model for concurrency

如果你也有寫 Go 的話,應該會聽過另一個 concurrency model 叫 CSP,其實我覺得 Actor model 跟 CSP 都是很好的想法,比 multi-thread 共用變數然後上 lock 還要好非常多XD。有興趣可以看這篇文章複習一下這兩個 model,也順便看看他們到底哪裡不一樣~

DevOps

How Kubernetes Reinvented Virtual Machines (in a good sense)

這篇文章以實際面的角度切入加上圖片解釋了為什麼要有 Kubernetes 的存在,從最一開始的 VM 遇到的難題開始到 container 解決了什麼問題,以及 container 不能解決的問題,最後延伸到 Kubernetes pod 的特別之處,作者比喻 pod 類似 VM 的概念,所有 container 共享同一個 namespace。當然不免俗的還是要簡單介紹 Kubernetes 常見的 object 例如:Deployment、ReplicaSet 和 Service。

Core DevOps Practices to Secure Your Infrastructure as Code

IaC 已經是顯學了,但是 IaC 還是有許多 security 挑戰需要克服,IaC 在 hybrid-cloud 和 multi-cloud 會增加管理 security 的難度;或者 infra 持續的增長但是管理的支出不變或更少;業務上的需求說變就變,infra 必須要跟著因應而增加複雜度。IaC 靜態分析可以讓 security 有所提升,與其讓 developer 自己檢查,還不如用靜態分析來做,況且每家 cloud provider 的機制都不太一樣,文章的最後也有提及怎麼做好 security IaC for multi-cloud。
文章也提及 IaC security 除了 IaC CICD pipeline 的整合外,還需要重視使用後的 feedback;把 alerts 做好分類和願意承受的風險,不然團隊很快就會陷入疲勞;另外除了 infra,app 也必須做好靜態和動態的分析。

Expand the Power of Traefik Proxy with Custom Plugins

Traefik proxy 是目前很受歡迎的 cloud-native application proxy 之一,其支援使用者安裝另外客製化的 plugin,不論從 dashboard 或從設定檔都可以輕鬆安裝,甚至也會直接給你 YAML 範例讓使用者方便複製貼上,而且這些 plugin 不用特別編譯且跨平台支援。目前看到很有意思的 plugin 有 ldapAuth、DenyIP、Rewrite Body 等等,最後官方也有完整的文章教學怎麼寫一個客製化的 plugin。

Kubernetes

ConfigMap Reloader — Automatically reload new data from ConfigMap/Secret to deployments

大家應該都會把一些應用服務要使用到的變數或是組態存放在 K8s Configmap 或是 Secret 中,而這些值一定會有需要修改的時候,不過當他們被修改時,其實滿多應用服務並不會自動去重新讀取新的值,所以這篇文章介紹了一個叫做 Reloader 的 K8s Controller,他會去監看這些 K8s Configmap 跟 Secret,當他們有改變時,他就會去幫忙 Rolling Upgrade 跟這些 Configmap 跟 Secret 有關的 Deployments, StatefulSets 或是 DaemonSets!

kubebrain

K8s 已經成為分散式應用服務調度的標準系統,不過他只能穩定的支援 5,000 個 Node,不管是在橫向或是縱向的擴張上,K8s 需要處理運行於其中應用服務狀態的資訊量會不斷的增加,最後造成擴展上的瓶頸,白話文就是說 Etcd 撐不住了,所以作者推出 KubeBrain 的開源專案,想要用來取代 Etcd,根據實驗結果看起來讀跟寫的效能比 ETCD 來的好,但是刪除比較弱,需要再繼續最佳化,不過在 K8s Cluster 在實際運行時,需要刪除動作的情況筆記少

Kubernetes monitoring: leveraging 4 open-source toolsets

使用 K8s 的人假如想要有一套綜合的監控工具該如何達成呢?CNCF 這邊建議可以使用 Prometheus 負責 Metrics and Alerting,Jaeger 負責 Tracing,OpenTelemetry 負責標準化的 Metrics, Logs, Traces,Thanos 負責多個叢集和長時間的 Metric 儲存

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 粉絲專頁 與我們聯繫。