第 134 期 - 框架或工具就像便利商店裡的微波食品

本週專欄

執行 JavaScript 的 V8 引擎做了什麼?

Hi!大家好,我是神 Q 超人!我想點進來的大家應該都聽過,也在瀏覽器或 Node.js 上執行過 JavaScript,但你們有想過 JavaScript 是如何執行的嗎?這背後的功臣就是 JavaScript 引擎,而標題提到的 V8 引擎 也是其中之一喲!

工作職涯

Many software companies are a joke

作者在科技業寫程式二十多年,曾經在各類型的公司中工作過,他的心得就是很多的軟體工程師,尤其是在真正大公司工作的人,他們中很多的人其實只做很少的事情,所以也產生一個問題,就是你在這種工作中能學到的東西並不多,大家也都這樣覺得嗎?

How I got a FAANG offer without grinding Leetcode

作者表示他並未透過刷 Leetcode 考題就同時從 FAANG 收到實習和畢業 Offer,當然不是因為他已經厲害到不需要任何練習就可以通過面試,其實他很擅長寫程式,只是不擅長刷 Leetcode,為了避免自己為了刷題兒刷題最終導致降低對這個軟體領域的熱情,所以他才沒有去一直刷 Leetcode,而文章主要述說他是如何再不刷 Leetcode 的情況之下,成功獲取 FAANG Offer 的經驗

Ten fastest-growing apps in 2022 (including some you don’t know)

這篇文章的作者介紹了在 2022 年成長最快的 Apps,分別是 Notion, TripActions, Postman, Figma, Miro, Keeper, Airtable, Fivetran, monday.com, Gong,稍微看了一下介紹後,發現滿多都跟專案管理與協同合作相關,自己覺得應該跟這兩年來不少人都遠端工作有關係

軟體工程

20 年軟體工程生涯所學到的 20 件事

要成為一個更好的工程師,除了程式要寫好之外,也需要對軟體工程有相當程度的了解。這篇文章翻譯了「20 Things I’ve Learned in my 20 Years as a Software Engineer」中作者提到自己學到的東西,文章不長而且內容相當精闢,身為工程師都應該要讀一讀。

Domain-Driven Design: The First 15 Years

不知道大家有沒有聽過「Domain-Driven Design: The First 15 Years」這本書,DDD 台灣社群兩年前花了時間把他翻譯成繁體中文,而且還是免費的(也可以花錢贊助他們),想了解 DDD 的話一定要來讀一讀

閒談軟體架構:來煮碗拉麵吧

如果覺得直接啃 DDD 的書太硬了,可以先來看看怎麼把 Domain 融合進去拉麵裡面,有了 Domain 的概念之後,再來看 DDD 的書應該會比較能體會到作者在說什麼哦

前端開發

The Surprising Truth About Pixels and Accessibility

你知道 1em 等於幾 px 嗎?如果你的答案是 16px,那你只答對一半,因為 1em 等於 16px 的情況只在於使用者或工程師沒有修改預設字體大小的時候。文章中講解關於 px 與 accessibility 之間的關係,文章很長,但推薦看看。

客觀評價 TailwindCSS

上禮拜在 Facebook 快閃了一場 TailwindCSS 之戰,而在這場戰爭後,有許多 TailwindCSS 的開發者也都跳出來分享自己使用的看法,以及 TailwindCSS 究竟是解決了哪些問題。

useLayoutEffect Is a Powerful Hook

React 的 useLayoutEffect 相較於 useEffect 來說比較少有人注意到,大多情境使用 useEffect 就足以完成需求,因此完全沒有用過 useLayoutEffect,但你知道他們兩者的主要區別在哪裡嗎?一起看看文章介紹吧! 🙌

DevOps

The most important changes in Kubernetes 1.24 and why they matter

作者幫大家重點整理了新版 Kubernetes 1.24 重要的 7 點改動。最知名的改動不外乎就是 Dockershim 正式的被移除了,雖然裡面寫 Docker 正式不能被使用,但事實上還是有辦法使用,Docker 有推出 cri-dockerd 版本,詳情可以參考我們 Starbugs 131 期寫的文章推薦

還有其他重要的功能如:新的 OOM metric、指定 Load Balancer 類型可以改用 LoadBalancerClass 而不是難設定的 annotation、不能指定 Load Balancer 的 IP address(即便在某些商業需求下很好用)、service account token 為了安全將開始有些限制、RuntimeClass.Overhead 正式進入 stable version 讓 pod 可以設定 cpu + memory、以及 Kubernetes 團隊決定所有 beta 的 API 都不再是預設值(得另外 enable 才行)。

My First Honeypot

作者自己架設了兩種 honeypot 程式來吸引網路上的攻擊並且加以分析,第一個工具 Cowrie 可以看出攻擊者會想要知道系統的基本硬體資訊如 cpu、memory 或硬碟大小等等,也會嘗試使用 Linux 常見的帳號和密碼登入,攻擊者會安裝 busybox 看能不能控制整台機器,當然想盡辦法安裝挖礦軟體也是不可少的,作者也分析攻擊者的 IP 國家位置。

第二種 honeybot 工具 ADBhoney 用來模擬 Android 裝置,像是手機或電視,可以看出攻擊者也會想要安裝挖礦程式、惡意程式,攻擊者也會偷寫檔案在系統裡來判斷這台機器攻擊過了沒,並且保持挖礦或惡意程式是否運作正常。

Why Run Postgres in Kubernetes?

作者解釋普遍業界並不鼓勵直接把 Postgres 安裝在 Kubernetes,但是 Data on Kubernetes 2021 研究顯示 90% 的技術主管認為 Kubernetes 已經準備好跑 stateful 的程式,而且也可以在 Kubernetes 的各種機制上獲得好處,例如更低的災難復原時間,甚至 CICD 也可以有很好的 integration test 整合。

StarBugs Weekly

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

Writers:

  • @HannahLin - 從台灣到矽谷,熱愛前端的工程師女孩。
  • @KyleMo - 雜食性軟體工程師,喜歡的技術我都想學。
  • @Airwaves - Hi~我是 Airwaves,熱愛研究如何造輪子的前端工程師。
  • @Jenny - 我不寫 CSS。
  • @Andy - 目標成為用嘴巴工作的工程師,專長為網頁開發以及 K8s。

Maintainers:

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

Feedback

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