和 Legacy Code 當好朋友

Legacy Code 應該是所有軟體工程師們心中共同的痛,幾乎可以和 wtf 畫上等號惹。 除了程式維護上的困難之外,對於工程師們的開心指數也是有著可觀的傷害力。 但是 legacy code 的問題這麼常見,也代表著它是一種很容易發生的現象。 所以在想著怎麼避免產生legacy code 的同時,學習如何與它和平共處,甚至發展出友誼(?)也是很重要的一環。

Reverse Proxy in front of Heroku Apps

前陣子試著用 reverse-proxy 把兩個架在 Heroku 上面的網站用 path 分開。 本來以為應該是很單純的東西,但實際上做起來發現還有一些眉角。所以把一些遇到的問題和相關的資源記錄下來。

Hello Microservice Event Stream

前陣子在做公司的新產品,慢慢的要把一部份的功能抽象出來做成獨立的 service, 一方面是讓獨立的功能可以有自己的 release lifecycle,一方面則是因為 project 小小的總是可以做比較快,沒有 legacy 的包伏阿ㄎㄎ。

ActiveRecord count v.s. size v.s length

ActiveRecord 的 association 有三個長得很像的 methods: #count, #size, #length 。 使用起來的功能差不多,但在 database 的 query 上則是有明確的不同。 如果一不小心有可能會誤中地雷發出意想不到的 query 阿!