#2 第二期 - 還好沒有第二期就富奸

本週專欄

Side Project 從無到有-Medium 轉 Markdown feat. NodeJS | StarBugs 星巴哥技術週刊

Hi!大家好,我是神 Q 超人,不曉得大家都怎麼面對自己想做的 Side Project,有時候想了很久還沒開始,有時候好不容易開始了卻失敗,但就我而言無論是否開始、失敗或成功,都會在整段旅程中享受與思考的拉扯拔河,並從這個過程中感到滿足,我想工程師的生活就是那麼樸實無華且枯燥 - 本週專欄作者 @GQSM

Larry Lu

Slow down your code with goroutines

Goroutine 是 Go 最廣為人知的 feature,善用 Goroutine 可以提高程式的效能,但若不小心誤用了,也可能使你的程式比原本還慢

The Twelve-Factor App

12-Factor App 是一種建立軟體服務的方法,裡面講到了該怎麼設計你的服務才能易於擴充、部署但又不會使你的 Codebase 太肥,我自己看完這一系列也覺得收穫很多,所以在這邊分享給大家

編譯器 LLVM 淺淺玩

也許你聽過 LLVM、知道他跟編譯器有點關係,但你知道他到底在紅什麼嗎?而編譯器又是如何把程式碼 Compile 成 Machine Code?如果不知道的話快來看看這篇~惡補一下編譯器的基礎知識

LukaTW

Bulletproof node.js project architecture

Express 是個很棒的 node.js 框架,但是它沒有給你任何的線索,讓你知道如何組織你的 node.js 專案,這確實是個需要解決的問題。本文將帶給你一套可以依循的方法,讓你知道如何組織你的資料夾結構,如何使用三層架構,又如何使用服務層、發佈/訂閱層、依賴注入、單元測試…等等的方法來組織你的專案。

The perfect architecture flow for your next Node.js project

你的下一個 Node.js 專案可以考慮的完美的架構流程。本篇文章指出了「不好的」專案架構導致了哪些問題,並進一步的歸納出我們可以採用的開發流程,讓 Node.js 專案變得程式碼更可讀、更乾淨,能夠重複使用程式碼,避免重複,這樣我們可以更簡單地在專案中加上新的功能。聽起來是不是很棒呢 :)

Everything you need to know about Node.js

本文列出了幾個不錯的思考點:1. 這個世界在 Node.js 出現之前是什麼樣子? 2. C10k 問題的探討 3. Nodejs 與 Event Loop 4. CPU 計算密集型的問題 5.Worker Threads 是什麼,能吃嘛? (本文有很高的自 high 成分請酌量服用 XD)

smalltown

【Kubernetes】Skaffold 是什麼?他可以吃嗎?

★ Skaffold 最近 GA 了,他究竟是一個什麼樣的專案呢?在 2017 年時 Google 觀察到當開發者在開發原生 K8S 應用程式時,花了相當多的時間在建置和管理 Container Images,而且必須手動更新 K8S 的 Manifests,就算每次只改了一點點程式碼也要重新 Deploy,所以決定要開發一個工具來將這些任務給自動化,幫助開發者集中他們的注意力在撰寫和維護程式碼上,而不是深陷 “編輯->除錯->部署” 這重複性的泥淖當中,Skaffold 也因此應運而生

★ Skaffold 最主要的指令為 skaffold dev,他會去監視本地端的程式碼,一旦有改變被偵測到,應用程式就會自動即時的重新 Build 和 Deploy 到你的 K8S Cluster 中;而且 Skaffold 已經不再只是 Build 和 Deploy 的工具而已,他已經成為可以增加開發者速度和生產力的工具

★ 除了本地端開發之外,Skaffold 也很適合跟 CI/CD 框架整合在一起,例如單一個指令 skaffold run 運行在 Pipeline 中的話,就可以輕易的將應用程式 Build 跟 Deploy 完成,而其實他是由 skaffold buildskaffold deploy 兩個指令所組成,有需要的人也可以分開使用;skaffold render 可以用來先建立應用程式的 Image 並且輸出 K8S 的 Template Manifest, 而不是真的部屬到 K8S Cluster 中,可以用來跟 GitOps 流程整合在一起

★ 他的 Profile 功能可以讓開發者使用同樣的 Skaffold 組態 Deploy 應用程式到不同的 K8S Cluster 中,而不需要修改任何的東西;另外還有一個強大的指令叫做 skaffold debug,除了可以持續不斷地 Build 和 Deploy 應用程式之外,還會幫忙 Forward 任何需要的 Debugging Port 到你的本地端機器,反正就是要盡可能地讓開發者省時省事專心地開發程式就對了,說了那麼多,有沒有想要心動手癢想要嘗試了呢?

▍相關連結 1:https://cloud.google.com/blog/products/application-development/kubernetes-development-simplified-skaffold-is-now-ga

▍相關連結 2:https://devclass.com/2019/11/08/google-releases-skaffold-to-simplify-kubernetes-app-lifecycle-management/

▍相關連結 3:https://www.cbronline.com/news/skaffold-kubernetes-istio

StarBugs Weekly

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

Curators:

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

Feedback

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