フューチャー技術ブログ

golang.tokyo #32を主催しました

The Gopher character is based on the Go mascot designed by Renée French.
この図柄はtenntennさん作成です

golang.tokyo #32を主催しました。Futureが社外向けに行なっているFuture Tech Nightという、だいたい月次で行なっている勉強会があり、今月はGoですかね、という話をしていたのですが、どうせなら外部の人にも登壇してもらう場にして盛り上げて、集客もたくさんしよう、という感じでgolang.tokyoとしての開催にすることにしました。僕はオープニングと司会進行をやりました。

IT業界ではよく英語を学べとか一次情報(たいてい英語)に触れろとか言われますが、日本語での発表とかもコミュニティが育っていけば価値があると思っています。Rubyとか海外の人が来てくれたりしますしね。そういう風に日本のGoコミュニティが育っていけばいいな、と思うのですが、そのためには「日本発」を増やしていく必要があると思っています。

golang.tokyoの趣旨である、Goの業務利用を推進するというのはうまくいっていて、設立当初よりもGoを活用している企業がだいぶ増えてきていると感じます。一方で、日本発を増やしていくには、「自分で作ったぞ!」とかをもっとアピールできる場を作りたいと思っていました。日本で大きなGoのイベントというとGo Conferenceですが、これは募集期間が長めということもあり、作ったものを気軽に発表する場としては敷居が高くなってしまっているし、CfPの競争率も高いです。どうしても「1.Xバージョンで追加された新機能!」みたいなキャッチーなものとかが選ばれがちで、「うちの社内で困っていたこういう問題を解決したい!」みたいな、超現場ニーズみたいなものは選ばれにくいように思います。

そういうこともあって、Go自慢大会を今回開催させていただきました。

力強い発表の数々

今回は1週間程度募集期間を設けて公募しました。多すぎたら抽選にしようと思いましたが、11人なので全員当選となりました。

実際に使っているというものも多く、リアルな職場のニーズを捉えて作られていたり、なんか魂がこもっているな、という発表が多くて楽しかったです。

発表 URL 実装の動機
濱田洋太 github.com/yohamta/dagu データ処理(ETL)バッチ群の依存関係の可視化、運用効率化
satoken github.com/sat0ken/go-tcpip プロトコルを学ぶためで業務用ではありません
convto / 奥村 優哉 (株式会社Kyash) github.com/convto/bit バイナリをbit表現に変換するためのエンコーディングライブラリで、バイナリを解釈するようなプログラムのlogやデバッグのために作りました。 具体的な動機は https://convto.hatenablog.com/entry/2022/05/08/160157 に詳しいです
issei (Univ.Ryukyu) github.com/Issei0804-ie/who-is-in-a-lab 研究室の先輩からお願いがありソフトウェアを作成しました
澤田晋之介 (株式会社サイバーエージェント) github.com/Warashi/wrapmsg fmt.Errorf でエラーをwrapするときのメッセージを統一するべく定めたコード規約をlinterとして実装しました
aereal github.com/aereal/pkgboundaries clean architectureなどプロジェクトごとに依存関係の方向を規定したいことがあります。このツールはJSONで定めたルールを与えてgo vetツールとして実行すると不正な依存(import)を発見してくれます。
多賀聡一朗 (フューチャー株式会社) github.com/future-architect/go-twowaysql 2-Way SQL 形式の DB アクセスライブラリのニーズがあり作成しました
小山健一郎 (GMOペパボ株式会社) github.com/k1LoW/runn OpenAPI Documentを使ったGoのAPIサーバを開発している時、複数のAPIをまたいでかつ、データベースのデータを参照しながらのテストをOpenAPI Documentライクに簡単に書けるようにしたいというニーズ
辻大志郎 (フューチャー株式会社) github.com/future-architect/awsmfa 以下のニーズによるものです・AWS CLIにおけるMFA認証を効率的に実施したい・簡単にローカルPCにインストールして使えるようにしたい
原 慧士 (GMOペパボ株式会社) github.com/harakeishi/whris 証明書の発行などで該当のドメインのAレコードがどこの管理サーバーに向いているかを1コマンドで調べれるように作成しました
富樫 知基 github.com/toga4/go-retryabletransport httputil.ReverseProxyを使った実装でHTTPリクエストのリトライをRoundTripperでやりたかった

発表はGoのコードで順番を決めました。あ、Playgroundは常に同じ結果になるのでローカルで実行していますよ。

当社からも、多賀さんと辻さんの2人が発表してくれました。

今後

この場はきっと、定期的に開催して行った方が良いのだろうな、と思っています。目標があればそれに向けて頑張ろうという人も出てくるでしょう。また、OSSを開発に利用する人は多いと思いますが、業務のコードのOSS化の促進の啓発にも繋がると思います。今回、多少手伝ってもらったところはありますが、多くの部分を1人で運営できたので、省力運営は実現できましたので、定期的な運営もできそうです。

3ヶ月ごとぐらいの開催とかだと良いでしょうかね?