#10 第十期 - 新的一年,從香草 JS 的單元測試開始

本週專欄

Unit Test | 香草 JS 的單元測試 feat. @testing-library/dom

相信大家應該都聽過單元測試,但如果把單元測試放到前端來,就會因為各種前端框架的關係,讓測試的寫法產生差異,例如寫 Vue 的話可能會使用 @vue/test-utils,React 的朋友們大概是 react-testing-library、enzyme,但如果不使用前端框架呢?在沒使用前端框架的情況下,就沒辦法直接載入 component 搞定一切,這時候該如何將對應的 HTML 載入為 JavaScript 進行測試?

神 Q 超人

70 JavaScript Interview Questions

每年中最讓人蠢蠢欲動的跳槽期又要來了,但是準備面試不管過了多久都是一件很麻煩的事情,特別是對於 JavaScript 這種獨特性非常高的語言來說,能考的面試題更是千奇百怪,如果你還沒有方向該如何開始準備,那絕對不能錯過本篇文章挑選的 JavaScript 精選 70 題。

暸解單元測試

如果各位讀者覺得學習測試的文章都太過分散,很難有一篇可以從「為什麼我們要寫測試?」、「如何思考怎麼寫測試案例?」、「好的測試案例長什麼樣子?」到各種測試的方法解說,導致測試學習門檻太高無法消化。但是現在!非常幸運的這裡剛好就有一篇精華大匯集,能夠成為各位迷途時的最佳指南!

Redux VS React Context: Which one should you choose?

這是一個從年初被提到年尾的議題,在去年隨著 Hooks 申裝上 React,讓 React Context 變得更方便使用的同時,到底該如何在 Redux 和 React Context 間做選擇?再客觀的做出抉擇前!我們得先來了解 React Context 和 Hooks 使用的正確姿勢!

Larry Lu

Moving beyond console.log() — 8 Console Methods You Should Use When Debugging JavaScript and Node

還在傻傻的用 console.log 找 bug 嗎?除了 log 之外其實 console 模組還有提供很多不同的 method,像是 console.assertconsole.table 等等,善用這些 method 才能讓你事半功倍

How programming languages got their names

今天看到一篇很有趣的文章,在講 Python、Ruby、Perl 等等程式語言的名字是怎麼來的,沒什麼技術含量,當作冷知識來看看還不錯XD

設計模式其實是程式語言的缺陷?

設計模式是程式語言的缺陷嗎?每個人的想法可能不太一樣,但不管你認不認同都可以來讀讀這篇文章,裡面舉了一些例子在講不同模式在不同語言中的實作差異,很值得一讀

LukaTW

JavaScript Visualized: the JavaScript Engine

使用動畫的方式來解釋 JS 內部引擎的實作,Byte Stream 是什麼?Token 是什麼?Interpreter 如何走訪 AST 樹,並且產生 byte code。用看動畫的方式來學習感覺好清楚呀!

JavaScript Map() Method Explained by Going On a Hike

用「遠足」來解釋 JS 中的 Map 方法,太有創意了!😆

Vue Testing Crash Course

用十個範例入門 Vue.js 測試,從單元測試,到整合測試,到端對端測試 (E2E Test) 通通都有。

smalltown

Chaos Mesh - Cloud Native Chaos Engineering Platform

Chaos Mesh 是一個 Cloud Native 的開源 Chaos Engineering 平台,主要是用來測試 Kubernetes 環境,開發到目前主要有兩個元件:

  • Chaos Operator:為 Chaos Mesh 的主要核心元件,他會在可管理範圍內幫忙注入 Chaos 在 Application 和 K8S 內,主要透過 Controller-manager, Chaos-daemon 和 Sidecar 這三個元件的互相配合來達成在系統中製造 Chaos 的目標

  • Chaos Dashboard:用來呈現在 Chaos 實驗中,線上服務所受到的影響

Injecting Vault Secrets into Kubernetes Pods via a Sidecar & Dynamic Database Credentials with Vault and Kubernetes

HashiCorp 在 2019 年底的時候發出了兩篇如何使用 Vault 來管理 Kubernetes 的文章,這次比較不一樣的地方在於,HashiCorp 開源了一個叫做 vault-k8s 的專案,透過官方文件 可以很清楚的看到它其實是透過 Kubernetes Mutation Webhook Controller 來協助作業,當 Pod 裡面的 annotation 帶有 vault.hashicorp.com/agent-inject: true 時,他就會根據使用者定義的其他 annotation 來更改這個 Pod (當然就是要如何將 Credentials 給注入進來);這樣的做法其實在 K8S 的世界是目前很流行的正規方式,而且也不需要 Application 去改動到什麼邏輯,所以還在煩惱自己在 K8S 中的 Application 該怎麼整合 Vault 的話,趕緊來試試看 vault-k8s 就對了

AWS Open Source blog in review: 2019

最近 AWS 與開源軟體圈好像越鬧越不愉快,不過 AWS 的態度跟立場都還滿強硬的,一直都透過公司的 PR 在表明他們做法的正確性,也在跨完年後,把自己對於 Open Source 的貢獻再次條列一番,尤其是把 2019 下半年爭議最大的 Open Distro for ElasticSearch 特別高光,真是看得心驚膽跳…

StarBugs Weekly

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

Curators:

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

Feedback

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