第 177 期 - 你掉的是這個金 Bug 還是銀 Bug?

本週專欄

兩大 bundler 交鋒:Vite 與 Turbopack 的技術角力賽

本週的專欄是由 Writer Leo 發佈的「兩大 Bundler 交鋒:Vite 與 Turbopack 的技術角力賽」。在這篇文章中,Leo 要跟大家介紹由 Vue.js 作者尤雨溪創建的 Vite、以及 Next.js 團隊用 Rust 寫成的 Turbopack 這兩個前端 Bundler,是如何在效能和開發體驗上各顯神通,展開激烈的角力!

如果你對前端開發有興趣,這篇文章絕對值得一讀,讓你一窺兩大 Bundler 的秘密武器,也讓你了解他們在社群中引起的風波。

前端開發

Reducing Complexity in Front End Development

這篇文章主要是在分享作者在 All Day Hey 裡面最喜歡的一個議程 Abstractions, complexities and off-ramps,議程內容主要是在說,現代開發都會傾向於尋找現有的解決方案,然後從 npm 把第三方套件下載下來使用,但如此一來前端的專案其實是失去掌控的,因為在那些第三方套件中有太多複雜性,你不確定他何時和什麼原因會使專案出錯。此議程會帶你分析這些複雜性,以及提供你能夠逐步解決的方式。推薦大家可以點進文章看看!如果有時間也可以看完整個議程! 🙌

useHooks

相信有在使用 React 的開發者,對於自己寫 hooks 來說應該是家常便飯了,而這個意外看到的 repository 就是將各種常用的操作,像是 debounce、toggle、mouse 等等,然後把它們的邏輯包成方便使用的 Hooks!且網站中的每個 hooks 都有對應的 Demo 和程式碼,如果不想要下載整個套件也可以直接複製到專案用!

👋 Say Goodbye to Spread Operator: Use Default Composer

在 JavaScript 裡面使用解構產生新的物件賦值是很常見的操作,還能夠用一個有預設值的物件搭配有值的物件做到組合的效果,產生出一個「有更新值就用新值,沒有的話就用預設值」的物件出來,但如果是單層的物件還好操作,如果是巢狀的物件就會有點麻煩了,這篇文章就是在介紹 default-composer 這個第三方套件,讓我們可以更容易地做到相同的事情。

System Design

Redis 與作者 antirez 的故事

軟體考古系列又來啦!這次的主角是大家都和熟悉的 Redis。這篇文章就像一部電影,帶你走過 antirez 的早年生活,看他如何從一個資料庫的門外漢,變成創造出 Redis 的英雄。如果你對資料庫有興趣,或者你也是一個狂熱的 Redis 迷,那千萬不能錯過這篇文章!

System Design — Scaling from Zero to Millions Of Users

從單一 user 到數百萬 user,這篇文章將帶你一步步了解如何水平擴展你的系統。不管是 Cache、CDN 還是 Message Queue,在這篇文章都有很清楚的解釋跟例子。如果你對系統設計完全沒有概念,那從這篇文章開始讀剛剛好!

Migrating Netflix to GraphQL Safely

這篇文章出自 Netflix 的技術部落格,裡面說到 Netflix 是怎麼在 zero downtime 的情況下,將他的架構從 Falcor migrate 到 GraphQL,並分享了 migrate 過程中遇到的問題。如果你對 migration 或是 Netflix 用到的技術又興趣,那一定要讀讀這篇文章!

Writer:

  • @Airwaves - Hi~我是 Leo,熱愛研究如何造輪子的前端工程師

Maintainers:

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

Feedback

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