第 74 期 - 有個 Bug 卡了和 Ever Given 一樣久,但還好損失的金額沒有一樣多

本週專欄

來征服資料結構與演算法吧 | 一直解 Linked List 一直爽 feat. JavaScript

Hi!大家好,我是神 Q 超人!在同一個系列中之前有分享有 關於 Linked List 這數據結構的基本用法,也有用兩個在 Leetcode 上的題目讓大家練習操作,而打鐵要趁熱(其實也過了一個月了 😂)!這一篇會把我覺得一些有趣的題目都收錄,搭配上之前提過的基本概念來解析,讓大家可以更理解 Linked List,也順便給自己複習一下。

前端開發

函数式编程的那些事

使用簡單的例子帶入函式編程的主題,一開始先是比較了函式編程和物件導向的差異,接著帶入在 JavaScript 的函式執行原理,最後又總結了幾個函式編程內的常見方法,文章內知識量相當豐富!

Icon systems for the web - an in-depth guide

Icon 在網頁上可以說是不可或缺的元素,但你知道 Icon 呈現在網頁上有哪幾種實現方式嗎?比較常見的可能有 SVG 或是 Icon font,那這些不同的方式又有哪些優缺點呢?看看作者怎麼說吧!

CSS Position Property Explained!

用簡單的動畫解釋 CSS Position 的每種設置的效果,讓你之後不用再選來選去,還可能搞不清楚它們之間的差別!

淺談 Tailwind CSS

Tailwind CSS算是近期蠻熱門 CSS 框架,用了這個框架的好處是可以讓你的元件不用一直去寫 CSS 檔來覆蓋原先的樣式,而且也可以客製化每個元件的表現型態,但缺點就是你的元件會有非常長的 className 就是了XD

你真的懂 Event Loop 嗎

這篇文章完整的解釋了整個 JavaScript 的非同步運作流程,讓你可以更了解 JavaScript 的非同步世界,很適合給剛接觸 JavaScript 的讀者閱讀。

The Ultimate Guide To Writing Self-Documenting Code

命名一直是寫程式非常有趣的探討話題,要如何命名才能讓後人可以直接搞懂這個 function 或是這個 variable 的功能真的是一門很大的學問,透過這篇文章可以更幫助讀者進行變數以及函式的命名。

Node.JS

Why I Prefer Makefiles Over package.json Scripts

雖然 npm 允許開發者在 package.json 裡面寫一些腳本,但如果腳本包含多個指令就要一直用 && 接下去,若指令之間有相依性那更是難以管理,所以這篇文章的作者認為某些時候可以用 Makefile 來取代 npm script,不管是在開發還是維護上都會比較簡單。

How To Secure Node.js Applications with a Content Security Policy

Content Security Policy(CSP) 幾乎是現在網站必備的安全性 Header 了,除了可以預防 XSS 之外,還可以避免網站不小心載入一些奇怪的資源(之前很多網站被惡搞都是被載入外部 CSS),對 CSP 還不熟悉的話真的要快來看看了~

The 4 Types of Memory Leaks in Node.js and How to Avoid Them

這篇文章說明了四種在 Node.JS 中最容易發生 memory leak 的情況,而且也介紹了 Clinic.js 跟 autocannon 兩個工具用來做 loadtest 及分析,如果懷疑自己的寫的程式有 memory leak 但不知道怎麼進行測試,看完這篇應該就有點概念了~

DevOps

The Evolution of Distributed Systems on Kubernetes

在 K8s 上演化的分散式系統,這個標題滿抽象的XD 文章內容則是先點出分散式應用程式應該要具備的必要元素:Lifecycle Management, Advanced Networking, Resource Binding, Stateful Abstraction,接著指出傳統 Monolithic 架構為什麼無法滿足這些需求,並且說明 Cloud-Native 下的 MicroService 架構如何滿足這些需求,所以 K8s 現在才會這麼地火紅,整篇看完有點像是考試在寫申論題一樣XD 但對於很多功能為什麼會存在可以有更深入與全面的了解

How to build an elastic search cluster for production?

此篇如何在 Production 環境架設 ElasticSearch 的文章來自於 Padok 的 SRE,一開始先從 ES 的各種不同節點介紹起,解釋為什麼需要 N / 2 + 1 個 Master 節點,接著詳述要如何規劃機器的記憶體,硬碟與 CPU 資源,最後再提到 Sharding 對於效能的影響,有需要在 Production 環境自己架設 ES 的人建議可以參考這篇文章的一些經驗談

Incident Metrics in SRE - Google - Site Reliability Engineering

大概看完這篇論文在心中冒出的第一個感想是…要多常出事才能寫完這篇論文呢?! 文章點出以往用來衡量處理 Incident 有沒有改善的指標:mean time to recovery (MTTR) 或是 mean time to mitigation (MTTM) 其實是不準確的,所以論文裡使用了 Google 和其他兩間匿名公司的數據,利用 Monte Carlo 來證明使用 MTTR 或是 MTTR 來分析 Production Incident 是不太適合的,並在最後提出一些作者認為比較好的量測方式

StarBugs Weekly

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

Writers:

  • @HannahLin - 從台灣到矽谷,熱愛前端的工程師女孩。
  • @Kyle老莫 - 無法忍受自己一天不進步的熱血社會菜雞。
  • @Airwaves - Hi~我是 Airwaves,熱愛研究如何造輪子的前端工程師。
  • @Jenny - 我不寫 CSS。

Curators:

  • @Andy - 目標成為用嘴巴工作的工程師,專長為網頁開發以及 K8s。

Maintainers:

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

Feedback

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