Joe's Notes

Joe是我

Redis Performance Optimization

Redis利用記憶體快取可以大幅度的提昇程式的性能。但是如果不了解Redis的特性就胡亂使用有可能是埋了地雷等待時間引爆。這邊主要介紹幾個Redis提昇效能的方法,避免在未來流量漲起來的時候變成炸彈。

Redis Fundamental

Redis 與Memcached兩套是常見的資料的快取服務。藉由將資料存放在記憶體中,可以解決傳統上RDB難以滿足瞬間大量存取的問題。然而因為Redis還提供了豐富的資料型態操作,因此也可以將他作為持久化的資料儲存方案。但是,人生總有個但是,也因為資料是存放在記憶體中,因此如果資料量擴展到一定的程度將對成本有劇烈的影響。所以如何妥善的使用Redis是一個很大的課題。

Video Streaming Architecture

最近剛好要處理影片上傳並提供串流的需求,這邊分享一下設計的思考方想及參考資料。

Golang Development Guideline

Golang是我們公司開發API的語言之一,好的開發規範不僅可以讓大家在開發上更順手,也能讓程式保持一定水準甚至確保程式性能。

PHP Process Tuning

PHP是常見的後端程式語言,在業務初期使用預設的配置通常不會有太大的問題。但是一旦業務開始成長後,沒有經過調校的配置不僅讓你的後端效能不彰更可能造成API access的錯誤。一起來了解怎麼調校你的PHP吧!

Useful Curl Alias

常常用curl & jq來Debug?好用的組合技讓你事倍功半

Migrate API to Go

大家應該或多或少都有經驗要將某個語言實做的API搬到另一種語言重寫。原因總是有千千百百種,但是有時候當專案很大,沒辦法一次搬完的時候又該怎麼辦呢?分享一下我們的例子。原先的API是使用PHP來撰寫,但因為幾個原因所以我們決定把他搬到Golang。這裡分享我們搬到Golang的前因後果及方案分析。

Complete Example of Docker Build With Go Module

前兩篇介紹了使用multi-stage來降低docker image size 及 加速Docker編譯go 程式,但透過alpine會缺少一些API必要的ssl或tzdata等等的套件,這篇來分享完整的範例吧~

Speed Up Docker Build With Go Module

使用小技巧來避免go 重新拉取module加快編譯速度

Multi Stage Docker Build With Go Module

用docker編譯Golang的image又大又肥?透過multi-stage來縮小你的Image大小