第 180 期 - 未來看見 bug 記得想起我們,謝謝大家!

本週專欄

用 JavaScript 玩轉設計模式 - 你一定用過但可能不知道的 Facade Pattern(外觀模式)

在程式設計的時候,我們經常會將各個行為獨立拆開(例如文章例子中的取得資料、檢查權限邏輯、檢查),這麼做會得到的好處是能夠在只需要該功能時單獨使用,或是更容易地與其他行為做組合,例如:其他地方如果需要檢查某些東西,可以單獨使用某個類別。壞處就是在使用時,你必須了解到這群方法和類別該如何正確互動,且每次使用時都需要承擔使用三種類別或方法的複雜度。

那有辦法讓這件事情看起來簡單一點嗎?可以!就用 Facade Pattern!Facade Pattern 通常會在「當你想要替一些複雜的操作,提供一個簡單的使用方式」時使用。

Larry:

大家好,我是 Larry,這是最後一次在 Starbugs 推薦文章了。星巴哥成立了三年多,這段時間能透過週刊的方式時常分享技術新知、還有寫一些文章給大家看,對我來說是很棒的經驗,也是很寶貴的回憶。

雖然 Starbugs 要結束了,但我必須說如果沒有讀者們的支持,那就沒有今天的週刊,所以想在這裡謝謝你們的一路相伴。在 Starbugs 結束之後,未來我還是會不定期寫文章、分享有趣的內容,希望以後還能用不同的方式,繼續與大家交流~

神 Q 超人:

Hi!大家好,我是神 Q 超人!本來打了很多好捨不得之類的言論,但畢竟我是個大人了,所以又全部把它們全都刪掉。

最後道別的話我不太會說,但是真的非常感謝這幾年來大家的支持。

Luka:

感謝各位讀者三年多一路的陪伴,直到現在都還有很多人訂閱著星巴哥技術週刊,真的很感動。同時也謝謝願意將文章發到星巴哥的每一位技術寫作者,沒有你們就沒有星巴哥。沒想到這麼快來到了最後一期,心中無限不捨。感傷之餘,感謝所有默默支持我們的人,希望你們未來順利。StarBugs Weekly 星巴哥技術週刊下台一鞠躬。

前端開發

React Server Components – How and Why You Should Use Them in Your Code

這篇文章先是介紹了當前 React 的 component 面臨到哪些瓶頸,像是因為非同步請求產生的 render 問題,或是可維護性方面的狀況。接著會開始介紹 react client component 和 react server component 各是什麼,還會講解 react server component 的限制,以及該如何利用 react server component 與 react client component 建立更好的結構!最後還有提供範例,真的很讚!

Mastering JavaScript Shorthands

在 JavaScript 裡面,會有許多方便的寫法可以讓開發者避免寫下許多條件判斷,讓程式碼更精簡(當然是在合理範圍內的精簡 😂),例如:物件的解構、透過短路來決定是否執行方法,和問號判斷 null 及 undefined 都非常好用!那還有什麼其他的簡寫方式呢?快看看文章中還列了哪些吧!

Chrome Debugger is easier to use than you might think

雖然目前已經很少在用 debugger 配合 Chrome 的開發者工具來除錯了,但是記得剛從 asp.net 轉到前端工程師時,真的很懷念那可以讓我一行一行執行,然後看每個變數現在值是什麼,以及現在跑到哪的中斷點。也許現在都較習慣用 console.log,不過有時候在找 bug 時就是需要一些靈感,所以將這些工具都先放到包包裡,總會有某個靈機一動的時機讓你想起來還有它!

後端開發

快速上手 Grafana k6 壓力測試工具

台灣的軟體工程師應該沒有人不知道保哥。保哥這篇文章介紹了一款超簡單、超方便、五分鐘就能學會的壓力測試工具 k6,而且壓力測試的邏輯還是用 JavaScript 寫的。如果你從來沒有試過壓力測試工具,那可以參考看看這篇文章,應該很快就能學會了~

Top 6 message queues for distributed architectures

Message Queue 在後端領域中是非常重要的工具,但 MQ 那麼多種,究竟該怎麼挑呢?這篇文章從開源的 RabbitMQ、Kafka 講到雲端的 Amazon SQS 跟 GCP Pub/Sub,每一種都有其獨特的優勢和要面臨挑戰。如果你還不太確定這些工具之間有什麼差別,那這篇文章很適合你讀~

How to Design a Scalable Rate Limiting Algorithm with Kong API

身為後端工程師,當然要知道怎麼做 Rate Limiting。這篇文章說明了幾種比較常見方法的優缺點,以及怎麼在分散式系統中做 Rate Limiting(還有幫自家產品打一下廣告XD)。如果你平時很常在開發 API,這篇文章絕對值得你一讀。

Maintainers:

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