#1 創刊號 - 我就是要寫技術週刊

本週專欄

WebAssembly 實戰 – 讓 Go 與 JS 在瀏覽器上共舞 | StarBugs 星巴哥技術週刊

如果你有在關注前端的話應該會聽過 WebAssembly 這東西,WebAssembly 是一種跑在瀏覽器上的低階語言,他在瀏覽器上能以接近原生應用的效能執行,所以以前受限於效能而比較難做到的那些應用(遊戲、繪圖軟體等),以後很有可能在網頁上就可以做到,光想到就覺得好興奮啊啊啊 - 本週專欄作者 @Larry850806

神 Q 超人

Making your UI tests resilient to change

身為前端工程師,寫下單元測試一定很帥,但是如果這種帥度被客戶要求改個什麼 UI,明明行為沒變測試案例卻爆掉我就覺得不行,還在用 ClassName 或 children 找 DOM 嗎?該是時候拯救那脆弱的測試案例了!

務實的react component unit test

你知道 React 該怎麼做測試嗎?來來來!有些事情就是得從實務開始,寫下最務實的 Component Unit Test!

Atomic Design

雖然 Luka 說要推薦文章,但我無法控制我的手貼上這本「Atomic Design(原子設計)」,因為我只給大家最好的。本書的作者利用「原子」來提設計,意思是將每個元素切割成原子,並透過不同的原子互相組合成分子、物件、模板一直到建構出整個頁面,是一種以分層的方式創建介面的設計方法。不學不會怎樣,學了很不一樣。

Larry Lu

Understanding Worker Threads in Node.js

Node.js 從 v10.5 開始支援 Worker Thread,也就是說 Node.js 終於可以寫多核心程式,以後再也不能嘴 Node.js 只能跑 Single Thread 了

Kubernetes Comic

常常聽到 Kubernetes(K8s) 但卻不知道那是什麼嗎,那不妨看看這篇漫畫,裡面有講到 k8s 的設計理念和目標,看完之後應該會比較知道 K8s 在夯什麼

VSCode 批踢踢

有在用 VSCode 而且又喜歡在上班時間偷逛 PTT 的各位有福啦,VSCode PTT 能讓你直接在 VSCode 裡逛 PTT,老闆你以為我在寫扣嗎?我其實在上批踢踢啊!!

LukaJoJo

What happened when I turned on notifications for every app, site, and tool for a month

Daniel 把手機上的所有通知關掉,進行了一個月的實驗,赫然發現手機通知不僅僅在打擾我們,同時也在摧毀我們的生產力。

Killed by Google

多少的服務被 Google 給滅了?我們懷念它。

The next career step for Senior Software Engineers

你已經工作了好幾年,也被升職了好幾次,但此時卻不禁有點徬徨,下一步該何去何從?

How to Build Good Software

爛軟體是怎麼被做出來的?又該如何做一個好的軟體呢?三個原則:從簡單開始,持續尋找問題並解決,儘可能雇用最好的工程師。看到亮點了嘛?趕快跟你老闆講,嘿!

AWS costs every programmer should know

AWS 的計費方式很複雜對吧?David 用一個簡單易懂的方式,讓我們可以快速的估計 AWS 到底花了我們多少錢。是不是很棒呢?

smalltown

【Web】HTTP3 的前世今生與未來

★ 從 Cloudflare 宣布要支援 QUIC 與 HTTP/3 已經過去一年了,新的協定旨在建立更快,更可靠與更安全的網路世界,而在這一年之間,Cloudflare 與網路界的巨頭包含 Google Chrome 和 Mozilla Firefox 一起撰寫 HTTP/3 與 QUIC 的標準文件,而在一年後,Cloudflare 終於宣佈其 Edge Network 已經可以支援 QUIC 與 HTTP/3 了!接著來看看為什麼需要它!

★ HTTP/1.0 是在 1996 年出現的,它定義了今天我們所熟知的 HTTP 基礎,在 Client 與 Server 當中,每一個 HTTP 的 Request/Response 都會建立一個 TCP 連線,所以在每個請求結束之前,都必須完成 TCP 與 TLS 的 Handshakes,最慘的在於 TCP 開始傳輸資料之前會有一段暖身的時間,稱之為 Slow Start,他會避免傳輸網路所無法負載的封包,但也造成無法立即使用所有的網路頻寬

★ 幾年後 HTTP/1.1 嘗試提出 keep-alive 來解決這個問題,讓 Client 端可以重複利用 TCP 連線,不過有一好沒兩好,當多個 Request 共用相同的連線時,他們必須要排隊一個一個來;隨著 Web 技術的發展,瀏覽器發現在同一時間其需要更多的連線,而 HTTP/1.1 只允許 Client 端同一時間進行一次的 Request/Response 交換,並無法達成同一時間有多個連線

★ 因此又有了 HTTP/2,其引進了 HTTP Streams 的概念,讓 HTTP 可以在同一個 TCP 連線內實作多個不同的 HTTP 資料交換,讓瀏覽器可以更有效率地重複利用 TCP 連線,有一好沒兩好再次發生…由於網路壅塞的關係,所有共用同一個連線的請求都一起可能造成封包的遺失…

★ 所以救世主 HTTP/3 就登場了!其捨棄使用 TCP 來當作 Session 的傳輸層,而是使用一種稱為 QUIC 的新通訊協定來解決上面提到的所有問題,更詳細的內容就請參閱詳細原文了!

▍原文連結:https://blog.cloudflare.com/http3-the-past-present-and-future/

StarBugs Weekly

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

Curators:

  • @GQSM - 82 年次,單純相信努力不會騙人
  • @Larry850806 - 我是 Larry,傳說中的 0.1 倍工程師!
  • @LukaJoJo - 一名全身都是死角的工程師。
  • @smalltown - 熱愛鑽研各種可以提升雲端服務品質及增進團隊開發效率的開源技術

Feedback

想看什麼內容,告訴我們! 點我回饋意見