Jason Lee
  • Home
  • Github
Sign in Subscribe
golang

Golang Guideline

Jason Lee

Jul 4, 2021

1. Accept interfaces, return structs
https://dev.to/lcaparelli/should-my-methods-return-structs-or-interfaces-in-go-3b7

2. Try to avoid using pointer
https://blog.maxkit.com.tw/2015/08/null-null-reference-is-billion-dollar.html

2

Sign up for more like this.

Enter your email
Subscribe

Go Module with private github repository

今天用 go mod download 想下載新專案的依賴的時候一直遇到一個錯誤 go: github.com/your-repo/[email protected]: reading github.com/your-repo/your-kit/go.mod at revision v0.1.0: unknown revision v0.1.0 這是因為我們有使用到一些私有repo 上面的 library,然後我們沒有給權限,所以在使用 go mod download 無法成功抓取,就出現這樣的訊息了。這邊需要做下面這個流程就可以成功了 1. 因為 go mod 其實底層是呼叫 git 的指令來做事情,所以我們必須給 git
Jun 11, 2021 2 min read

docker network host mode is not available for docker windows and mac

I try to create a local development enviornment using docker-compose. I was planning to allow a docker service to expose a port to host machine and therefore the machine can access the service. Unfortunately, it seems to me that it doesn't work on windows and mac os. reference: https://stackoverflow.
Aug 29, 2020
新創何時要考慮轉成微服物架構?

新創何時要考慮轉成微服物架構?

新創公司一開始在做產品的時候,最一開始要考量的問題應該是這個 idea 是不是被市場所接受的,而非技術的問題 (擔心產品一上線就百萬人同時上線,每天百萬訂單等等議題),加上一開始的不確定因數太高了,市場給的反饋都可能造成產品需要做大幅度的調整,同時新創公司一開始的技術團隊可能都不到 5 位工程師,所以新創公司一開始的時候,單體架構 (monolith)是一個好的開始,然後一路快速迭代,到什麼時候適合評估轉換成使用微服物的時機? 同時微服務帶來那些好處呢? 這是一個很好的思考題目,歡迎一起研究。 代碼維護性 因為單體的代碼是一大包,可能在代碼裡面包含的各種模塊或服務,例如:身分認證服務、訂單服務、支付服務、設備服務等,當修改其中一個服務的代碼時然後運行CI測試,因為必須每個服務的測試都跑過一次,造成在執行自動化測試的時候會相對比較久,可能超過 20 分鐘以上等等,這時候如果已經造成維護上面的問題,可以考慮服務上面的分離 系統錯誤隔離性差 一個大的單體,裡面會包含很多服務,如果遇到某一個服務,錯誤處理沒有處理好、記憶體溢出等等造成系統掛掉,這時候是全系統都不能使用,因為服務之間沒有隔離
Aug 21, 2020 3 min read
Jason Lee © 2023
Powered by Ghost