第 167 期 - 元宵節過後,變成一顆間諜氣球了!

本週專欄

Goroutine 的併發治理:掌握生命週期

「Goroutine 的併發治理」系列又有新文章了!在這禮拜的專欄中,Ken 會帶大家看一些底層的程式碼來了解 Goroutine 的生命週期,並且提供一些管理 Goroutine 的方法。把握住這些方法,不只可以把程式碼寫得漂亮,也不會在奇怪的地方發生 Goroutine Leak 導致 Out Of Memory。

前端開發

High Definition CSS Color Guide

先說文長注意。CSS color 4 帶來了許多用來管理和處理顏色的工具,作者它寫了一篇指南涵蓋了這些新的功能。在指南中會學習到以下幾點:

  • 什麼是色域?
  • 人類的視覺範圍。
  • 什麼是色彩空間?
  • 如何使用更多顏色、新空間和嘗試結果。
  • 回顧典型的色彩空間。
  • 認識新的 Web 色彩空間。
  • 加權平均顏色。
  • Gamut clamping(不知道怎麼翻 🥲)
  • 選擇色彩空間。
  • 轉換到 HD CSS 顏色。
  • 檢查色域和色彩空間支持。
  • 使用 Chrome DevTools 嘗試顏色。

Why React isn’t dying

文章中作者談論為何現在推特上正出現一些關於 React 正在枯萎,或是其他 Framework 比 React 更好的討論,其實比起文章我更喜歡第一則留言說,如果你不能放棄 100% 的向下相容,那你就會慢慢失去動力,這就是大家認為 React 已死的原因(遠望 Vue3)。

You’ve Got Options for Removing Event Listeners

相信大家看到標題都直覺的想到了可以用 removeEventListener 來移除監聽的事件,但除此之外,文章裡還介紹了其他 3 種方法:

  • 使用 addEventListener 的第三個參數可以設置 once options。
  • 複製和替換整個節點。
  • 使用 AbortController 可修改複數的監聽事件。

文末也有以上 4 種方式的選擇時機,大家可以參考看看!

Golang

Designing Go Libraries: The Talk: The Article

如果你想要實作一個 Go library,不管是開源給外部使用者,還是作為內部 library 給公司專案用,這篇文章都很值得一讀。在這篇文章中有非常多的 case study,雖然文章很長,但讀完之後一定可以讓你設計出更好的 library。

What’s New in Go 1.20

Go 在今年的 2/1 發佈了新版本 1.20,在 Generic、Memory Management、Error Handling 等等方面都有一些改進,如果你跟我一樣是 Go 的粉絲,那麼一定不要錯過這次的更新!

Writing Clean and Efficient Table-Driven Unit Tests in Go

大家都知道要寫測試,但要怎麼把測試寫漂亮呢?這篇文章介紹了 Table-Driven 這種撰寫測試的方式,並且教你怎麼寫出乾淨高效能的測試,如果你從來沒聽過 Table-Driven test 的話,這篇文章短短的而已可以簡單看一下~

Writer:

  • @Ken - 興趣是符號學的軟體開發者,喜歡探索事物的本質,偶爾會寫點東西。

Maintainers:

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

Feedback

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