はじめまして。
サーカシストでエンジニアみたいなことやっています ほにゃにゃ(@honyanya) と申します。
サーカシストのプロダクトで Go を採用したときのお話しをします。
なんで Go ?
こちらの記事にもあります通り、元は勉強の集団です。
みんなほぼ触ったことないし、なんか良い感じに盛り上がってるし、面白そうだし触ってみよう!っていうノリで使い始めました。
Gopherくんもかわいいですよね
勉強方法
A Tour of Go
を使用しました。
A Tour of Go を使って写経をしていた形になります。
検討事項
開発するに当たって下記項目をどうしようかという話しが挙がりました。
- フレームワーク
- ORM
- 依存関係管理ツール
フレームワーク
フレームワークをどうするかという話が挙がりましたが、
特にスクリプト用途で定期的に実行させるだけだったので、
今回はフレームワークは使わず、ゴリゴリ書いていきました。
ORM
DB を使用するのは避けられなかったので、必然的に ORM もどうするか話しに挙がりました。
調べて候補に出たのは下記です。
- GORM
- gorp
ぱっとみどちらも使われてはいそうでしたが、GORMの方が情報量多いということで、
今回の採用となりました。
依存関係管理ツール
一番悩んだところです。
- Godep
- Vendoringt
- Glide
- dep
複数該当するものがありましたが、
dep が将来的に公式なものになりえるということだったので、
今回は dep を使うことにしました。
まとめ
フレームワーク | - |
---|---|
ORM | GORM |
依存関係管理ツール | dep |
現状、上記のような形で進めることになりました。
ふたを開けてみるとけっこう標準な形になったのでしょうか?
今回採用しなかったものも、何か別の機会に使ってみたいなと思いました!