第 151 期 - 希望地震能量已經釋放完畢 🤞

本週專欄

道理我都懂,但 Stack 到底為什麼會 Overflow

這週的專欄比較新手向一點。身為工程師,Stack Overflow 這網站大家都是熟到不能再熟。如果沒有他幫忙解決各種莫名其妙的錯誤,可能連設定環境都要搞半天,更不用說要開發了。

但今天要談的不是那個 Stack Overflow,而是要講程式在使用記憶體時,因為 call stack 堆太高了不小心把記憶體用完,所產生的 overflow。希望大家在看完這週的專欄後,都能夠對 process 的 memory layout 有更多一點的認識~

前端開發

React I Love You, But You’re Bringing Me Down

這篇文章的內容是作者給 React 的一封信,看看作者是如何從與 React 的初次見面開始,慢慢的對 React 感到失望,其中的問題包含了表單處理、性能問題還有 useEffect 產生的難懂的程式碼等等。這封信很長,可以慢慢看,如果你也和我一樣是從學 React 開始的前端工程師,看到一半真的會有想哭的感覺。 🥲

前端應該掌握的瀏覽器測試技巧

作者曾經認為,曾經的它擁有了一個 console.log 就認為可以解決所有問題,後來當他接觸了 Vue 才發覺還有其他更多才能夠讓更不迷茫,在文章裡面介紹了幾種類型的 debug 方法,其中描述比較多的是關於 breakpoint,是一篇很好學習如何使用 breakpoint 的好文章。

An apparent React bug

雖然文章標題是對 React,但其實內容描述的是從 React 裡的 這個 issue 所發現的 bug,該 bug 產生在用狀態控制 HTML 的 details 標籤是否展開。雖然它在 React 發生,但是其他框架也無一倖免,就連 VanillaJS 也會出現同樣的問題。

軟體工程

技術翻譯 - 編寫程式註解的最佳實踐

寫程式寫得越久,越發現要把註解寫好真的不是一件容易的事。這篇文章分享了幾個在寫註解時的 best practice,希望可以讓大家在適當的時候都寫出更漂亮的註解~

三款好用的繪圖工具來解決系統架構或流程圖

有時在做簡報或是跟同事、主管溝通時,光用敘述的可能不容易讓人了解狀況。如果這時能夠加上一些架構圖、流程圖,就可以很快速精準的表達想法。而這篇文章作者就介紹了自己常用的三個繪圖工具,操作起來都很簡單,就算是工程師也能輕鬆上手~

How to Be a 10x Software Engineer

關於 10 倍工程師,每個人都有不同想法。這篇文章的作者認為 10 倍工程師是真實存在的,而且也分享了三個他認為的重點,希望可以幫大家在成為 10 倍工程師的路上走得更順~

Hacker News

Your CTO Should Actually Be Technical

你的 CTO 應該要是一個技術者(開發者).公司的技術領導者應該要有很高的技術水準, 因為 CTO 是了解應徵者的技術水準與優秀之處的唯一途徑.

Hardvard Resumes and cover letters guide

不錯的履歷指南,裡面有許多履歷的範例與 cover letter。包含了許多履歷的小秘訣:履歷最容易犯的錯,該做的事情,不該做的事情。

Outdated vs. Complete

作者開發了一款很穩定的 APP, 三年前就已經屬於穩定狀態,但是最近收到官方的更新通知,官方告訴他如果再不更新就要將他的 APP 標示為過時的。

Cloud

AWS vs GCP reliability is wildly different

雖然公有雲用起來讓人覺得它像是不存在一般,例如你可以隨時開關一台機器,而且只需要根據使用量付費,彷彿就像是背後有無窮無盡的資源一樣,但其實事實並非如此,他背後也是實體機房,也會受到晶片短缺的影響才對 (尤其是 GPU),作者在 GCP 遇到機器開很慢的狀況之後,就想要來試試看同時對 AWS 與 GCP 做開大量 GPU 機器的壓力測試

結論就是 AWS 的開機時間比 GCP 快 66% 並且少 84 倍遇到開機 Timeout 的機會,實驗方式為在兩週內兩個平台都各自開了 3,000 T4 GPUs,假如開啟時間超過 200s 就算 Timeout,實驗結果 AWS 大勝,平均一個 GPU 在 15秒內 (平均 11.4 秒),GCP 在 45 秒內 (平均 42.6 秒),AWS 在兩週內遇到一次明顯的開機 Timeout,而 GCP 則是 84次

Why you should keep using CPU limits on Kubernetes

大家應該都知道 K8s 的 Workload 可以設定資源的限制,Memory 比較沒有問題,但是對於 CPU 的 Limit 到底要不要設定?前一陣子有一篇文章請大家停止設定 CPU Limit 引起熱烈迴響,文章一開頭就提到在大多數情況之下,設定 CPU Limit 利大於弊 (For the love of god, stop using CPU limits on Kubernetes (updated));過了一個月之後,也就是這篇文章的作者則是提出反面的看法,他認為 CPU Limit 仍然是有其必要性的,並且提出了一些理由,大家覺得究竟要不要設定呢?

Best Tools to Visualize your Terraform

很多人目前都是使用 Terraform 來做雲端資源做管理,不過畢竟人類是視覺性的動物,所以如果能夠將 Terraform 的資源以視覺化的方式呈現出來,那麼就能夠更容易的理解資源的關係,這篇文章介紹各種可以將 Terraform 程式碼視覺畫的工具,讓大家可以將 Terraform 的資源以視覺化的方式呈現出來

  • Brainboard
  • Terraform 原生指令
  • Blast radius
  • Terraform Visual
  • Inframap
  • Rover
  • Diagrams codes
  • Structurizr
  • Diagrams Mingrammer
  • Cloud discovery

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,脖子痠痛的前端生命鬥士。

Maintainers:

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

Feedback

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