はじめに
こんにちは、mercari.goスタッフのshota sugiuraです
12月2日にメルカリ主催のGo勉強会 mercari.go #20 をYouTubeでのオンライン配信にて開催しました。この記事では、当日の各発表を簡単に紹介します。動画も公開されていますので、こちらもぜひご覧ください。
connect-goでマイクロサービスを動かす
1つめのセッションは @knsh14 による「connect-goでマイクロサービスを動かす」です。
gRPC互換のシンプルなフレームワークである connect-go を使って、マイクロサービスのデモアプリを動かす試みを紹介しました。実際にコードを書き換えていく中で得た感想や、エコシステムを含めたgRPCとの違いなどを共有していただきました。
また、発表の中の題材となっているmercari/mercari-microservices-exampleは、それ自体がとても面白いOSSになっていますので、ぜひ覗いてみてください!
CUEを使ったJSONテンプレート管理
2つめのセッションは @pakio による「CUEを使ったJSONテンプレート管理」です。
発表資料:CUEを使ったJSONテンプレート管理
Elasticsearch のクエリビルダとしてCUEを活用した事例について発表しました。柔軟なクエリの構築や可読性の高さといったクエリビルダに求められる条件を踏まえて、なぜCUEが適しているのかが丁寧に説明されています。メルカリではKubernetesのマニフェスト管理を中心に利用が広まっているCUEですが、今回の発表のような面白い活用方法がこれからも出てきそうで注目です。
Goを用いたSQLクエリのシステムテスト
3つめのセッションは @a_r_g_v による「Goを用いたSQLクエリのシステムテスト」です。
発表資料:Goを用いたSQLクエリのシステムテスト
複雑なSQLクエリの管理に問題を抱えていたチームが、どのようにしてそれを解決したのかを説明しました。いつものGoのテストの書き味を保つようにクエリのテストを設計する工夫など、開発者の運用しやすさに寄り添った取り組みがとても興味深かったです。BigQuery Emulatorを利用したテストの速度向上など、今後の課題に関しても触れています。
Goで作る全文検索エンジンライブラリ
4つめのセッションは @k-yomo による「Goで作る全文検索エンジンライブラリ」です。
発表資料:Goで作る全文検索エンジンライブラリ
ご自身で開発しているGo製の全文検索エンジンostrichの紹介をしました。全文検索エンジンの中身の挙動がわかりやすく解説されており、馴染みのない人でも理解しやすい内容となっています。Genericsを活用した拡張性や、google.golang.org/api/support/bundlerを使った処理のバッチ化など、こだわりポイントが紹介されています。
今後もコツコツ機能追加していく予定ということで、楽しみです。
おわりに
今回は、それぞれ個性に富んだ4つの発表をお送りしました。
ライブで視聴いただいた方も録画を観ていただけた方も本当にありがとうございました!
次回の開催もお楽しみに!