第 106 期 - 還好程式碼沒有即期問題

本週專欄

用 Verdaccio 快速建立專屬的 private npm proxy 並部署到 Heroku 上!

今天要介紹的 Verdaccio 是基於 NodeJS 運行的 npm proxy。我們可以先將團隊內那些共用的程式碼依照功能切成幾個專案,並且發布到私有的 npm 上,讓團隊內多個專案都可以像是下載 lodash、moment 等函式庫一樣直接下載使用,如此一來所有的共用程式碼都來自於同個地方,使用時也不用手動複製和管理,而且因爲是上傳到 private npm,所以不會被團隊成員以外的人看見業務邏輯。而這篇文章就要來說明如何用 Verdaccio 來達到相同的目的!

前端開發

Creating a React component with TDD

看那麼多文章說了什麼是單元測試、什麼是 TDD 或是該如何對 Component 用 TDD 開發,這篇文章的作者直接示範了整個 TDD 開發 Component 的流程,很適合剛接觸測試、不知道如何對 Component 做測試或是想用測試改變開發方式的讀者們一讀!

Understanding The Box Model in CSS

CSS 的屬性那麼多,真的不需要全部都記起來,只需要在用到的時候去搜尋相關的語法就行了,但是這並不代表你可以忽略那些在 CSS 中的重要觀念,這篇文章的作者講解了 CSS 的 Box Model(盒子模型),Box Model 是 CSS 非常重要的基本觀念,如果還不熟悉的話就快來看看這篇文章吧!

JavaScript Programming Styles: Best Practices

不知道大家有沒有在使用 ESLint 等工具在檢查你的程式碼風格,除了一些客製化的部分,比較常見的其他應該是 GoogleAirBnb ,這裡我就不戰哪種風格比較優秀,不如先來看看作者選擇每種寫法的差異和理由吧!或許也能想想自己除了習慣外為什麼選擇了某種風格!

Testing

一次搞懂單元測試、整合測試、端對端測試之間的差異

大家都知道測試可以確保程式的正確性,但根據不同的目的,測試又可大略分成單元測試、整合測試、端對端測試三種,因此在真的開始寫測試之前,務必要先搞清楚你需要的是哪種測試,才不會花了一堆時間結果沒測到最重要的部分哦~

What’s in a Story?

身為工程師,在跟 PM 溝通需求時最怕的就是 PM 以為他講清楚了,工程師也以為自己聽懂了,結果做出來後得到的回覆卻是「這不是我要的!」。所以在真的開始實作之前,雙方可以用 User Story 把各種 scenario 一一列出來,雙方都同意之後這些 scenario 也可以直接寫成測試,真的是非常省時間的一套方法

Mocks and explicit contracts

寫測試寫到一定程度之後,為了方便建立測試專用的環境,一定會需要用到 mock。而這篇文章雖然已經是多年前發表的,但我覺得他在講怎麼正確使用 mock 講得非常好,尤其是他內文有講到 mock 應該當作名詞而非動詞來用,看完之後覺得又更了解怎麼用 mock 跟 interface 了

DevOps

Just 7 Remarkable K8S Tools Boosting Up Your Effectiveness

Kubernetes 是目前負責管理 Container 和微服務的的主要平台,一般人在開始學習跟 K8s 互動時都是透過 kubectl,它的確也真的扮演著很重要的角色,不過不知道使用者是否發現透過他一直在重複著一樣的動作,因而浪費掉寶貴的時間,所以這篇文章要介紹 7 個可以幫助使用者增進效率的工具:

  1. Kube-shell: 透過顯示豐富的資訊和提示來減少使用 kubectl 時可能產生的錯誤並且加快操作速度
  2. Kubectx - Kubens: 管理 Multi-Cluster 的必備工具,協助使用者切換不同的 Cluster
  3. Kubetail: 功能有點像是 kubectl logs -f,但可以一次將多個 Pod 的 Log 同時顯示
  4. Kubetree: K8s 的某些資源間其實是有親子關係的,透過此工具可以將資源間的關係視覺化呈現出來
  5. K9S: K9S 應該就不用多說了,強大的 K8s Terminal UI,讓你可以輕易地與 K8s Cluster 互動
  6. Kube-Capacity: 顯示 K8s Cluster 中 Resource 的 Request, Limit 和使用程度
  7. Lens: Lens 應該也是大家都耳熟能響的 K8s UI 工具,可以運行在各種系統中 (Windows, Linux 和 Mac),讓使用者可以透過類似 IDE 的感覺來跟 K8s 互動

Compliance in a DevOps Culture

將 Compliance Control 和 Audit 整合進 CI/CD 的流程,對於想要在 DevOps 文化中滿足 Security Compliance 是滿直覺的作法,但根據不同的組織大小會遭遇到不同的挑戰,了解透過不同的實作方式所可能造成的影響是導致成功與否的重要關鍵,文中從理論開始談起 (講解得很細),隨後提到各種模式,例如:Manual Compliance, Pipeline Compoiance, Composition Compliance 和 Point-of-Change Compliance,對於這塊領域有興趣的人可以參考看看

Anatomy of a Terminal Emulator

Terminal 是一個無所不在的平台,多年來一直相當穩定地存在著,雖然目前有大量的資源可以用來理解 Terminal 的內部運作方式,但其中大多數要嘛相當的神秘,或是需要特定領域的深入知識,所以這篇文章希望提供一個平易近人且相對廣泛容易了解的內容,來讓大家知道要開發一個 Terminal Emulator 平台時需要具備的知識

StarBugs Weekly

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

Writers:

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

Maintainers:

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

Feedback

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