第 164 期 - 2023 年將會是全新的開始!

大家好,2022 即將要結束了,從 2019 年 11 月的第一期的創刊號到現在,星巴哥也陪伴大家有 3 年多的時光囉!明年星巴哥將走向新的經營方式 — 變成兩個禮拜發佈一次的「雙週刊」。會做這個重大決定是為了讓每一期週刊的水準能夠更高、也為了讓 Starbugs 能永續經營下去,希望大家能繼續支持星巴哥,也歡迎大家加入我們的專欄作家(Writer)團隊!

本週專欄

Goroutine 的併發治理:值是怎麼傳遞?

在 Go 語言中,如果想讓多個 Goroutine 分工合作完成任務,那就得有個機制讓他們互相傳遞必要的資訊。

但傳遞資訊的方式又有很多種,所以這週的專欄「Goroutine 的併發治理:值是怎麼傳遞?」,要由 Ken 來跟大家分享每一種方式的優缺點,讓你在實務上開發時,可以選擇一種最適合、也最好維護的方式~

前端開發

CSS Style Queries

Chrome 團隊最近發布了對 CSS 新查詢語法的實驗室支持!這可以讓我們去查詢 Container 大小和樣式!在文章裡面作者不只是介紹了語法,還給了滿滿的使用情境和 CodePen 的 Demo 可以開起來玩玩看!

WalkinCat — ChatGPT LineBot 製作懶人包

如果最近有想要做個前端小作品的話,其實串接個 ChatGPT 來玩看看也是滿不錯的,尤其是接下來就要跨年了,如果你聖誕節已經沒有人陪的話,至少還有五天的時間拚一下,這樣跨年的那個晚上至少還有 AI 可以陪聊天,而且這篇文章還是用 Line 去做的機器人,更有聊天的真實感。

Important JavaScript concepts that every developer should know.

文章內介紹了 11 個關於 JavaScript 的底層原理、開發觀念還有一些符合 JavaScript 語言特性的小用法,都算是滿基本的知識和名詞,如果有不熟的就多看看幾次,不知不覺中就會和它們變成好朋友了!

Node.js

在 Node.js 的生態系中,有很多我們慣用的第三方 package 或是常寫的一些 pattern,他們當初可能是為了解決某些問題才出現,但現在已經有點不合時宜。因此這篇文章列出了幾個在採用之前應該重新考慮的模式和工具,讓你在 npm install 之前想想是不是真的需要,或者有更好的替代方案。

Guidelines for choosing a Node.js framework

近年來 Node.js 用來寫 API Server 的框架越來越多了,除了最知名的 Express/Koa 之外,還有 Fastify、Hapi 等等強調速度、易用性的框架。而這篇文章並沒有直接跟你說要選什麼框架,而是跟你說在選擇的時候該考慮哪些問題,譬如說你需不需要 Websocket、有沒有打算用 TypeScript 等等,這些都會決定哪一個框架最適合你

Best practices for creating a modern npm package

現在要發佈一個可靠的 npm package,可不是把幾個 function 包一包傳上去就好了,你可能還需要加上單元測試、同時支援 ESM 跟 CJS、做安全性檢查等等,這篇文章搜集了這些 best practice(順便推銷他們自己家的工具XD),讓你做為一個專案的維護者,可以發佈出更高品質的 package。

DevOps

Top 5 API testing tools 2022

透過實作 API 可以在不重新設計應用程式的情況之下為 Web 或是 Mobile 應用添加功能,而開發完成的 API當然需要對其進行測試。本文首先提出選擇 API 測試工具的要點:

  • Interoperability: 可以運行在不同的平台與作業系統,,並且可以與 CI Pipeline 整合
  • API basic requirements: 要可以測試 API 的一般功能,效能與安全性
  • Ease of use: 工具要容易上手,幫助使用者節省時間將其花費在測試上
  • Cost: 負擔得起的價格,或是有免費的版本
  • Multi-tasking: 可以透過非同步的方式執行多個測試來加速

接著提到五個他推薦的 API 測試工具:

  • API Tester
  • Postman
  • Thunder Client
  • Insomnia
  • SoapUI

Infrastructure as Code Vs Configuration Management Vs Infrastructure Provisioning

文章先從什麼是 Infrastructure as Code 開始介紹起,提到他有哪一些優點,工具,Idempotency 的觀念,以及 IaC 在整個系統中的開發與部署流程,接這開始提到 Infrastructure Provisioning 和 Configuration Management 分別是在做什麼,並且比較他們的不同之處,讓讀者對於如何自動化管理整個系統有更深且全面性的了解。

Things I wish I knew when I started learning cloud

作者在幾年前是一個前端工程師,對於後端世界的理解有限,但他決定要增進自己的技能,所以在矇矇懂懂的狀況之下開始了他的雲端之旅,而這篇文章想要分享的是他在這段旅程中所學到的一些東西,讓讀者可以在開始學習雲端之前,先了解一些基本的概念

  • 熟悉哪一種程式語言並不重要
  • 知道系統是如何運作的,例如 Client, Server 和網路彼此之間的關係
  • 不需要學會所有的 Cloud Provider,只需要從一個開始學起即可
  • 只有理論是不夠的,必須要實際操作
  • 獲取證照是有幫助的,但不是必要的
  • 是一個持續學習的過程,要花不少時間
  • 再次重申,沒有任何事情可以取代 Hands-On 所獲得的經驗
  • Cloud 無所不在
  • 有很豐富的學習資源,例如 udemy, youtue 與其他付費課程
  • 在 Hands-On 之前,記得預留一小筆預算

GitHub API Flow 介紹以及實施

2022 年底最後一週 DevOps 推薦文章向大家力推技術圈扛壩子 Hazel 撰寫的三篇精彩文章。此篇使用 Github API 寫一套程式走一次 Github Flow 的流程,因為開發的關係也探討了 git 本身底層的實作原理,程式碼也不藏私的公開給大家,並且有技術做法選擇的探討,值得深讀。

Terraform Provider 開發紀錄

Terraform 很多人都用過,但是自己創建一個 Terraform Provider 呢?本篇分享如何創建完整的 Terraform Provider 以及後續的 CICD pipeline。

AWS to GCP site-to-site VPN 建置紀錄

本篇以兩個不同的 Cloud provider 的 Site-to-Site VPN 連線來模擬 Hybrid Cloud 兩個 Cloud 互相連線的設定情境,裡面以 AWS 和 GCP 作為範例,裡面也介紹了除了本文之外可以參考的教學文資訊。

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,脖子痠痛的前端生命鬥士。
  • @Ken - 興趣是符號學的軟體開發者,喜歡探索事物的本質,偶爾會寫點東西。

Maintainers:

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

Feedback

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