ミクシィにおける Go 活用事例 〜 #gocon 2022 Spring 前夜祭(非公式)〜 参加メモ
各発表と気になったところ〜(発表資料見つけたら追記)
Go移行におけるJSON-RPC対応
せっかくRPCつかうならスキーマ駆動開発したいですよね〜。RESTとRPCが両方あるから、RESTにも対応できるOpenAPIを選んで、JSON-RPCに対応させつつスキーマ駆動開発をしていくという感じで。なるほど〜となりました。
あとドキュメントのデプロイがGitHub Actionsで自動化されてるのはいいな〜いいぞ〜と思いました。
gRPCはUdemyの教材で学んだことがあるけど、JSON-RPCとOpenAPIあたりは疎いので、一通り手を動かして学んでみるか〜という気持ちになりました!
TIPSTARを支えるGoとGoogle Cloud
Goの採用背景のひとつにメンバーのモチベーションをあげていて、たしかにモチベーションあるとやっていきが生まれやすいよなーと思いました。
「言語仕様がシンプル」なことに対してぼくは最初「こんなこともできないのか...」って思いがちだったんですが、同じようなコードが書かれているので読みやすくて書きやすいかもなって感覚に徐々になってきてます。(ただまだ標準パッケージが引き出しが少ないので、素早く手が動く、というレベルにはほど遠いけど...)
あと紹介されていたGo 1.16のGo:embed、Go 1.17のtesting T.Setenvが便利そうなので、この辺の情報知れたのよかったよかった。
TIPSTARに関するGoの採用背景とかはこちらの記事でも話されてるみたい。
モンストとGoとBazelと
(モンストのバックエンドってRubyだったんだ)
面白かったのが、2014年当時のGo採用理由のひとつに「hashicorpとか、使っていたOSSがGoに置き換わっていたから、今後Goを読み書きできたほうがいいかもね」っていうのがあったことですね。
hashicorp/terraformとかもGo製ですね。近々Goの訓練として、この辺の有名なGo製のOSSをコードリーディングしようと思ってるのですが、「読めるOSSが増える」というのは新技術をキャッチアップするメリットのひとつかもな〜。
以上です!