第 17 期 - 跑了 git blame 才發現爛 code 是自己寫的

本週專欄

下面一位~以 Rust 為例,聊聊 Iterator Pattern

在適當的時機使用對的設計模式,可以讓你的程式碼更簡潔易懂。為了讓大家寫出更好的 code,不要只是會動就好,本週的專欄要來講講什麼是 Iterator Pattern。雖然是以 Rust 為例,但範例都很簡單,沒寫過 Rust 也可以讀

神 Q 超人

25+ Free Productivity Tools for Developers

在這個數據大轟炸的時代,每次在找問題的時候,都會不小心被某些新的技術或名詞所吸引,然後又花費了一大堆時間XD,因此了解自己在工作上的專注力非常重要,而文章中就介紹了 25 個免費的生產力工具可以 support,選對工具還能讓你具有更好的自我管理能力。

How to Improve Your Programming Skills?

該怎麼讓自己在程式之路中不斷精進,變成更好的工程師?文中提供了 15 個方式,可以使我們持續進步 😃。

Trying to find your first dev job? Here’s what employers are actually looking for.

在面試的時候,雇主看著你到底都在想什麼事情?我該是什麼樣子才有機會獲得這次的機會?本篇文章的作者是 Flatiron School 的創辦者,在過去的日子他已經協助了 10,000 以上的人面試就業了!也在文章中指出了招聘團隊想在你身上弄懂的 3 件事情,一起看看他怎麼說!

Larry Lu

從 V8 bytecode 探討 let 與 var 的效能問題

這篇是隔壁 TechBridge 週刊的本週專欄,在看到這篇之前我從沒想過可以看到 JS 轉出來的 bytecode,也不知道 let 跟 var 到底是怎麼實作的,雖然看完之後不見得會讓你 JS 寫得更好,但這種追根究底的精神還是很令人敬佩!

Docker anti-patterns

你是不是曾經把 docker 當成 VM 在用呢?又或是直接把 secret 跟設定檔 hardcode 在 docker image 裡面?這篇文列出了十個使用 docker 的 anti-pattern,並且告訴你應該要怎麼改會比較好

A guide to understanding database scaling patterns

網路上有很多文章都是在講如何擴展 (scaling) 你的資料庫,但大多沒有情境跟範例,所以看完之後還是不知道該怎麼從眾多方法中選出一個。但這篇文章正好相反,他裡面講了好幾個擴展的 pattern 之外還舉了時間的例子,並告訴你各個方法有什麼優缺點

LukaTW

JavaScript, Ruby and C are not call by reference

這次來比較 javascript、Ruby 和 C 三個語言是不是 call by reference。更加釐清 call by reference、call by value 與 call by sharing 的不同之處。

Idiomatic Ruby: writing beautiful code

來看看經典的、慣用的 Ruby 寫法,如何寫出漂亮的程式碼,如果你是 Rubyist 會喜歡這篇文章的:D如果你是 JS 開發者,也有許多 Library 寫法很相似,可交互參考。

Ruby on Rails API with Vue.js

Ruby on Rails 如何跟 Vue.js 做結合,這篇很全面、範例豐富。如果你有前後端分離的需要,這篇的邏輯滿清晰,適合入門。

smalltown

到底要把全部的應用服務放到少數幾個 Kubernetes Cluster 中,還是要分成很多個呢?!

假如有在負責建構 K8S 環境的人應該總是會遭遇到 Cluster 要如何安排的問題,例如:該有多少的 Cluster 才夠用?Cluster 要多大的才夠撐得住應用服務?每個 Cluster 裡面該含有哪一些應用服務?這篇分享文章覺得可能會有以下的分法,並提出 Pros and Cons 讓大家在思考的時候比較有個概念

💡 一個很大的 Cluster 給大家一起用
👍 資源最有效利用
👍 便宜
👍 只需要管理一個 Cluster
👎 單點失敗
👎 沒有隔離性 = 不安全
👎 自己的應用程式會被其他人影響到
👎 要管理很多使用者
👎 單一 Cluster 不可能無限擴張

💡 根據環境 X 應用服務拆分成很多小 Cluster
👍 假如 Cluster 壞掉了,影響的範圍有限
👍 隔離性佳 = 安全
👍 單一 Cluster 管理較少的使用者
👎 資源利用率低落
👎 成本高
👎 要管理多個 Cluster

💡 把單一個應用服務的所有環境塞進一個 Cluster
👍 Cluster 可以根據應用服務去特製化
👎 開發環境的應用服務可能會影響到 Production 環境

💡 每個開發環境只有一個 Cluster:
👍 Production 環境不會被其他環境影響到
👍 Cluster 可以根據環境去做特製化
👍 Production 可以嚴格限縮存取權限
👎 應用服務間的隔離性差造成互相影響
👎 比較沒有辦法幫特定應用服務做 Cluster 層級的特製化

StarBugs Weekly

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

Curators:

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

Feedback

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