第 54 期 - 我絕不會讓在場的任何一個工程師加班!

本週專欄

Vue | 用 @testing-library/vue 把 Vue 的單元測試一網打盡 feat. React

這禮拜專欄要分享的是一套可能是在 Vue 裡非主流(?的單元測試框架 testing-library!雖然它不是官方所維護的套件,但 Vue 官網還是將它默默地擺上去,而且除了 Vue 之外,它還為其他 React、Angular 等 8 個左右的框架統一測試的介面,還不趕快來一起跳坑嗎?

星巴哥作者群開箱!

Starbugs 星巴哥技術週刊邁入一週年的里程碑,感謝大家的支持。未來的一年星巴哥想要讓大家看到更多元的內容,提供大家更多優質的原創文章,因此最近我們邀請了幾位優質的寫作者加入 星巴哥的行列,以後在週刊上也會看到作者群撰寫的優質原創文章。

本週來介紹第二位寫作者 莫力全 Kyle Mo !!

「剛畢業的社會菜雞,web 技術狂熱者,對自己的要求很簡單,希望每個月回去看自己的 code 都會覺得是糞 code,代表自己又更進步了。目標是成為一個技術分享者,或是能對技術圈有所貢獻,用技術來改變我們的生活。」

本週來介紹一下 Kyle Mo 的「讓任務排隊吧」系列,從 message queue 的基本概念到 RabbutMQ 的介紹,最後一篇再用 RabbutMQ 打造一個應用架構!那麼 u 質的內容不讀一下嗎?

[基礎觀念系列] 讓任務排隊吧:Message Queue — (1)

透過一個簡單的小範例示範 message queue 在現實中可能的應用,不過要再三強調的是這個範例在現實中不太可能會這樣寫,現實中還需要注意很多錯誤處理、效能,甚至要注意 queue 會不會爆掉等問題,這個範例純粹是希望跟我ㄧ樣的初學者可以了解 message queue 可能的應用方向。

前端開發

How to Add Localization to Vue.js App with vue-i18n and Localazy

為網站設置多國語系一直是一項很煩瑣的工作,尤其是語言越多越麻煩,而本篇文章用 Vue 介紹了 Localazy,讓它自動為你輸出各個語言的語系檔!

JavaScript - 讓你的瀏覽器公威囉!

當初在做類似的需求的時候也才發現原來讓瀏覽器說話那麼簡單 😂,本篇文章仔細的介紹了一些常見的原生 API,非常簡潔易懂。

Your website sucks! And I’ll tell you why (ROUND 2) ⚡️⚡️

這篇貼文非常有趣,作者讓各位在留言底下貼上自己的網站網址,然後會一一點出這些網站有哪些問題以及優點,並且會解釋得非常詳細!有人想要挑戰看看嗎?😂

軟體開發

矽谷資深軟體工程師後疫情時代面試心得 Facebook/Robinhood/Coinbase/DoorDash

2020 年是個動蕩不安的一年,因為疫情的關係,很多公司都在年中進行了規模不小的裁員,包含大家耳熟能詳的 Airbnb、Uber、Lyft、Yelp、LinkedIn、Mozilla、Intuit、Salesforce 以及 WeWork 等等族繁不及備載。這對於在這段期間要找工作的絕對不是件好事,因為很多人被裁員,意味著同樣的職缺會有更多競爭者。- 引用自原文

TELNET封包實戰. 什麼是TELNET?

Telnet 封包實戰,用一篇文章,搞懂 Telnet 是什麼。

MySQL 使用 update_all & subquery 可能會鎖住全表

Mysql 5.6 鎖表的除錯過程,我覺得滿精采的,5.6 真的滿雷的,至少請升到 5.7。

系統設計

系統設計 101—大型系統的演進(上)

為什麼要學習系統設計、系統設計又是在設計些什麼?這篇文章從擴展性以及可用性的觀點切入,講解一個大型系統中的每個部分分別在做什麼,很適合新手讀的一篇文章~

Campaign Management System Design

事情是這樣的,有一家公司專門在舉辦各種不同的票選活動,他們打算打造一個票選管理系統,透過 Email 通知使用者(可能有兩千萬人)接下來有什麼票選活動,如果是你,你會想怎麼設計呢?

You Are Not Google

在做系統設計或是技術選型時,如果沒有足夠的經驗,很容易就會掉進「XXX 公司也是這樣做的」的誤區。譬如說「Google 都是用 Hadoop 在分析資料耶,我們公司說不定有天資料也會大到那個程度,所以我們應該也用 Hadoop」或是「聽說 Discord 換到 Rust 之後省了很多伺服器耶,那我們一開始就要用 Rust 開發」這類的想法

但實際上你公司的資料量可能一輩子都無法達到 Google 的百分之一,伺服器數量也遠遠低於 Discord,省個 30% 可能每年只省三千塊,所以千萬不能盲目跟風,仔細評估需求之後再進行選擇才是最適合自己的

DevOps

Managing my personal server in 2020

在 2020 當今要如何管理一台架設於自己居家的個人伺服器呢?作者將所有需要做的事情給鉅細彌遺地整理在這個 GitHub Repository 中,從 Secrets 加密方式,自動化管理 DNS,Kubernetes k3s 的設定方式,如何申請 Let’s Encrypt TLS Certificate,部署郵件服務的步驟,如何安裝 Nextcloud 來充當個人的 Cloud,備份管理方式,使用 Wireguard 來建立 Private Network,WsTunnel 來通過防火牆,並且註冊 Raspberry Pi 到 K3s Cluster 中!而且遵守幾個原則 1) 簡單管理,部署和更新 2) 全部的步驟都需要 Git Repository 中 3) 盡可能自動化且使用免費的服務 4) 以相同的方式打包和部署系統應用程式跟自己的相關專案

Top Four Ways to Visualize Traffic Between Microservices in Kubernetes

微服務亂糟糟的網路該如何方便查找問題呢?這篇文章推薦了幾種可以把位於 K8S 內微服務間網路給視覺化的幾種工具,讓人類可以用更快更有效率的方式來了解微服務間的網路封包是如何傳送的

  • Istio and Kiali
  • Cilium and Hubble
  • Weave Scope
  • Alcide

Making Terraform Provider Development More Accessible

大家應該都還記得 HashiCorp 從 0.11 升級到 0.12 給整個生態圈帶來的影響,很多的 Provider 都需要更新,Terraform 的寫法也或多或少都需要更改,所以當初升級的時候其實整個社群滿動盪的,而這次是 Prodiver 本身的 Framework 準備要大改版了… 大家都知道 Terraform Provider 的生態系越來越大,從 2014 第一個 Provider 發佈至今,已經有超過 1900 個 Provider 被撰寫過,Terraform Provider 讓許多事情成為可能,例如從定義重要的服務架構到訂購 Pizza 都可以透過它來達成,而這些都是透過六年前所定義的 Framework 所開發出來的,而生態系越龐大要改動其實也就越難,因此開發團隊做了很多的努力,從過去的經驗中學習,盡力讓這次更新的影響可以降到最低,首先是為 Terraform Plugin Protocol 佈新的 Go Libraries,並且發布 terraform-plugin-mux 讓 Provider 開發者可以不用一次升級所有的資源,只要搭配使用最新版的 Terraform Plugin SDK 就可以達成這個目標

7.1.1版以前的Android 裝置2021年9月起將不支援Let’s Encrypt憑證

Let’s Encrypt 警告手機跑Android 7.1.1版的用戶,明年9月1日起有約三成 Android裝置會出現憑證錯誤問題,詳細原因可以參考文章內容,不過假如自已的對外公開服務有使用 Let’s Encrypt TLS 憑證的話,就要記得提早因應

StarBugs Weekly

StarBugs Weekly 由一群不寫文章就會想要亂花錢,但是又沒有那麼多錢,只好繼續寫文章的開發者所創立。
內容包含 Web 前端、中端、後端、DevOps、產品開發、精實創業,一切跟產品有關的知識,都是我們的守備範圍!

Maintainers:

  • @GQSM - Hi!我是神 Q 超人,一個先衝再說的男人。
  • @Larry850806 - 我是 Larry,傳說中的 0.1 倍工程師!
  • @LukaJoJo - 一名全身都是死角的工程師。
  • @smalltown - 熱愛鑽研各種可以提升雲端服務品質及增進團隊開發效率的開源技術

Writers:

  • @HannahLin - 從台灣到矽谷,熱愛前端的工程師女孩
  • @Kyle老莫 - 無法忍受自己一天不進步的熱血社會菜雞

Feedback

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