Skip to main content

Tedshd's Dev note

Category: Golang

使用 golang migrate 安裝紀錄

# Intro 在使用 golang 的情境下, 有一個很常用的 migration 工具 golang-migrate 但是在不同系統下安裝我覺得不太容易 所以記錄一下 # Install github 上有提供不同作業系統的安裝方式 cmd/migrate 目前測試 Mac / Ubuntu 有成功 Mac OS X 使用 homebrew 安裝 brew install golang-migrate 在 mac 上面安裝是蠻容易的 Ubuntu 20.04 在 ubuntu 遇到許多權限的問題 github 上面的 *.deb 安裝需要調整指令 curl -L https://packagecloud.io/golang-migrate/migrate/gpgkey | sudo apt-key add - sudo sh -c 'echo "deb https://packagecloud.io/golang-migrate/migrate/ubuntu/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/migrate.list' sudo apt-get update sudo apt-get install -y migrate # Usage 要連接的 DB 的格式 ...

HTML form submit same name in php, nodejs, golang

一直以來大部分時間都在用 PHP 開發 所以也用 PHP 來處理 HTML Form 所以都下意識地認為 <input type="checkbox" name="game[]" value="FGO"> 這樣的 name="game[]" 的處理方式是正規的處理 HTML Form 的多選的方式 也疑惑為何大多的 HTML Form 的教學甚至 MDN 都沒有提到這件事 就在某一天我在檢視到同事寫的 code 時 發現同事用 JavaScript 處理 硬爬出來自己組字串送出去 我才想起這令人感到恐懼的事情 因為公司同事是寫 golang 的專門, 就算前端不熟 應該也不至於連這樣概念都沒有就用硬爬的方式處理 所以再調整的同時也跟同事確認後 我也真正的直視這問題 到底要怎麼處理表單中多選的資料? PHP 寫久的人大多都知道要用上面列出的方法 name="game[]" 就是 game + [] 但是當我認真地尋找關於這個問題時 意外地發現了一篇 stackoverflow 的問答 Several Checkboxes sharing the same name 其實 W3C 根本沒有管你 name="" 重複要如何處理 以下是 PHP, nodejs, golang 的原生方式來測試的結果 # PHP 以下問答有提供了 PHP doc 說明 PHP 如何處理多選 ...

golang - note

# golang - note log ## 時間格式的雷 2006-01-02 15:04:05 https://golang.org/pkg/time/#Time.Format Golang 时间格式化的奇怪设定 —— 为什么你一直出错 ## Array Array ## 確認 type import "reflect" x := 7 reflect.TypeOf(x).Kind(); ## Convert interface to string var x interface{} = "abc" str := fmt.Sprintf("%v", x) ## Print statuct fmt.Printf("%+v\n", struct) ...

Golang - gvm Golang version manger

# gvm ## Intro gvm Golang version manger ## Usage Install bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer) Add to .bashrc or .zshrc # added gvm command to shell source "$HOME/.gvm/scripts/gvm" # directory path for GO export GOPATH=$HOME/gopath export GOROOT=$HOME/go export PATH=$PATH:$GOROOT/bin Install go gvm install go1.4 -B gvm use go1.4 export GOROOT_BOOTSTRAP=$GOROOT gvm install go1.9 Finall add command to .bashrc or .zshrc gvm use go1.9 Refer - Go - 在 OSX 安裝 GVM ...