第 119 期 - 在雲彩上跳舞嘰嘰喳喳
本週專欄
Nativefier — 將你的網頁變成桌面應用程式
今天分享一個好用的 JS 套件,叫做 Nativefier。有些常用的網頁,想直接用開始列的捷徑啟動或是呼叫快捷啟動。但是官方又還沒有出桌面應用怎麼辦?這時候 Nativefier 就派上用場了。輕鬆將你的網頁變成桌面應用。
前端開發
你知道的 JavaScript 知識都有可能是錯的
眾所皆知 JavaScript 是個擁有非常多地雷等著開發者去踩,一些你對於 JavaScript 觀念上的認知在你還沒去研讀 ECMAScript 的 spec 之前,有可能跟你想像的結果是不一樣,作者在這篇文章整理了一些你可能在認知上是錯誤的 JavaScript 小知識。
webpack or esbuild: Why not both?
Builder 的套件一直以來都是前端工程師必備的技能,目前檯面上最有名的莫過於是 Webpack 了,Webpack 擁有強大的 plugins 可以使用,然而最近也有一個很強大的 builder 叫 esbuild,esbuild 擁有強大的編譯效率來減少 build 的時間,身為工程師的我們一定要想辦法達到兩個都要的效果,這篇文章就利用了 esbuild-loader 這個 webpack 的 loader 來提升 webpack 的 build 效率。
10 Must-Know Patterns for Writing Clean Code with React and TypeScript
Clean code 一直以來都是許多開發者想要追求的最終目標,然而實務上真的是不好達成XD
這篇文章作者舉了 10 個例子並且用 React 搭配 TypeScript 的方式來撰寫 clean code,有興趣的讀者可以收藏起來日後閱讀,畢竟 clean code 真的太難了XD
4 most important features coming in ES2022 that you should know about
JavaScript 的新標準 ES2022 會在今年的六月釋出,而這篇文章會介紹 4 個已經在 TC39 中達到第 4 階段的酷東西。其中包含了 Array 的 at()
、使用 new Error
時可帶的 cause
、Top-level await
和 Class 中的 Private 成員。
React Virtual DOM – Explained in Simple words
文章中解釋了 React 中的 Virtual DOM 的運作概念,以及使用 Virtual DOM 的優勢,內容沒有涉及到太艱深的底層原理,連用詞都簡單到我不用翻譯就完全看懂了呢!😂
前端的设计模式系列-责任链模式
作者以改寫一道演算法為例子,描述責任鏈模式的使用場景,以及如何用 JavaScript 來實現該設計模式想提供給開發者的意義。
DevOps
Scaling Kubernetes to Over 4k Nodes and 200k Pods
PayPal 目前主要的 Workload 運行在 Mesos,而在準備把部分的 Workload 搬遷到 Kubernetes 前,他們需要先測試看看 K8s 的擴展性有沒有辦法滿足他們的需求,他們一開始運行 2,000 Pod 在 1,000 Node 中,接著增加到 16,000 Pod 在 32,000 Node 中,然後跳到 150,000 Pod 在 4,100 Node 中,最後透過增加每台 Node 的 CPU,讓 Pod 的個數上升到 200,000,在這個過程中他們遇到一些挑戰,而這篇文章中描述的他們如何面對且克服這些挑戰的過程 (看起來主要都是在 Control Plane 上的調校),有興趣的人請詳閱內文
Kubernetes Vault Integration via Sidecar Agent Injector vs. CSI Provider
HashiCorp Vault 算是目前開源軟體圈內,數一數二的密碼管理工具,而官方這邊跟 Kubernetes 的整合方式有兩種,本文將比較這兩種方式有何不同,根據結論來看的話,第一種方式功能比較齊全,詳細比較的可以參考內文
- The Vault Sidecar Agent Injector
透過 vault-k8s 這個 Project 所實作的 Side Car 模式,讓 K8s mutating webhook controller 將機敏資料注入到 Pod 中
- The Vault Container Storage Interface (CSI) provider
透過 Vault CSI provider 讓 Pod 可以直接去使用暫時性的 CSI Secrets Store 空間
Decoupled Microservices Architecture with Materialize
目前有數種方式可以用來處理 Microservice Architecture 中的資料,本文想要介紹幾種分散式資料庫的做法,而作者主要講解的東西是構築於 Houssem Dellai 的影片 - Data in a Microservice Architecture 之上,文中假設有一個電子商務網站,並且由兩個 Microservice 所構成 (Catalog Service & Basket Service),兩個服務前面由 API Gateway 負責接收請求,並且有各自的資料庫,而且為了讓 Basket 可以跟 Catalog 溝通,所以中間還有實作 Restful API,這個架構最大的問題就在於 Basket 對於 Catalog 的高耦合,所以有不少缺點,那要如何改善這樣的架構呢?答案就在文中!
StarBugs Weekly
StarBugs Weekly 由一群不寫文章就會想要亂花錢,但是又沒有那麼多錢,只好繼續寫文章的開發者所創立。
內容包含 Web 前端、中端、後端、DevOps、產品開發、精實創業,一切跟產品有關的知識,都是我們的守備範圍!
Writers:
- @HannahLin - 從台灣到矽谷,熱愛前端的工程師女孩。
- @KyleMo - 雜食性軟體工程師,喜歡的技術我都想學。
- @Airwaves - Hi~我是 Airwaves,熱愛研究如何造輪子的前端工程師。
- @Jenny - 我不寫 CSS。
- @Andy - 目標成為用嘴巴工作的工程師,專長為網頁開發以及 K8s。
Maintainers:
- @GQSM - Hi!我是神 Q 超人,一個先衝再說的男人。
- @LarryLu - 我是 Larry,傳說中的 0.1 倍工程師!
- @LukaTW - 一名全身都是死角的工程師。
- @smalltown - 熱愛鑽研各種可以提升雲端服務品質及增進團隊開發效率的開源技術。
Feedback
本週呈現主題方式做了一些改變,希望讓讀者能夠更快速精準的找到自己要的資訊。也加入社群活動這個區塊,每週更新社群活動的資訊。如果有任何建議,歡迎私訊 星巴哥技術週刊 FB 粉絲專頁 與我們聯繫。