Go Conference 2025 参加レポート – ZOZO TECH BLOG

Go Conference 2025 参加レポート

はじめに

こんにちは、YSHP部SREブロックの濵砂です。普段は主にシステムリプレイスを担当しています。YSHP部では2025年から、ZOZOTOWN Yahoo!店に関わるシステムを段階的にGoで刷新しています。

2025年9月27日、28日にGo Conference 2025が開催されました。本記事では、会場の様子や印象に残ったトークについてご紹介します。

Go Conference 2025 とは

Go Conferenceは、Goエンジニアはもちろん、Goに興味を持つすべての人に学びと交流の場を提供する国内最大のGoのカンファレンスです。去年から久しぶりにオフラインイベントとして行われ、今年は定員450人のチケットが1週間も経たないうちに完売するほどの人気ぶりでした。

会場の様子

会場は東京都渋谷区にあるAbema Towersでした。

会場のAbema Towers

Abema Towersの2フロア(10階と11階)が会場として開かれており、10階がセッション会場で、11階がスポンサーブースとなっていました。基本的には1、2セッションが同時に行われ、1日目のワークショップが開催されている時間帯には最大4部屋で同時にセッションやワークショップが行われていました。

たくさんのGopherくんが賑やかにお出迎え

11階のスポンサーブースの入り口横で、大きなメインボードいっぱいのGopherくんがお迎えしてくれました。

スポンサーブースの様子

スポンサーブースでは、参加者向けのアンケートや展示がたくさん行われていました。

株式会社Datachainさんのブース

株式会社Datachainさんのブースでは「あなたが次に欲しい新機能は?」をテーマに意見が募られていました。参加者からは「スタックトレースが欲しい」「Option型が欲しい」といった実践的な声が寄せられていました。一方で「シンプルなままでいてほしい」というGoらしい意見も多く、コミュニティの多様な価値観が垣間見えました。

株式会社ナレッジワークさんのブース

株式会社ナレッジワークさんのブースでは、掲示されたGoのコードを対象に参加者が自由にコードレビューをする企画が実施されていました。多くのGopherが足を止めてレビューに参加していました。再訪した際には、ボードが付箋で埋めつくされていました。模範レビューをまとめた冊子も配布されており、持ち帰ってからも学びを深められるブースでした。

さまざまな”界隈”から参加者が来ていました

10階のセッション会場前には「どこ界隈から来ましたか?」というテーマのホワイトボードが置かれており、Gopher同士の交流のきっかけが生まれる場所になっていました。

セッション

どのトークも非常に興味深い内容でしたが、その中でも特に印象に残ったセッションを紹介します。

Generics

speakerdeck.com

このセッションの目的は、Goの型とinterfaceとGenericsの内部構造を理解して正しく使い分けることです。特に、多くのGoエンジニアが陥りがちな「Typed Nil」のような問題を避け、コンパイル時に型安全性を担保できるGenericsを適切に活用できるようになることを目指した内容となっています。

speakerdeck.com

もう1つのセッションでは、Goにジェネリクスが導入されるまでの背景が紹介されていました。あわせて、設計の核心となった理論モデルであるFG(Featherweight Go)とそれにジェネリクスを追加したモデルのFGG(Featherweight Generic Go)についても説明がありました。具体的な内容は次のとおりです。

  • ジェネリクス設計の変遷:初期の「新しい概念のcontractsを型制約に使う」案から、現在の「既存の概念のinterfaceを型制約に使う」設計に至るまでの経緯。
  • 型安全性の確保:ジェネリクス導入以前のGoの最小モデル(FG)では実行時パニックのリスクがありました。FGGではコンパイル時の型制約で、そのリスクを排除できる点。
  • コンパイル戦略の理解:Goが採用したモノモーフィゼーションによって、ジェネリックなコードがどのように具体化され、どのような特性を持つのかという点。

ジェネリクスが導入されるに至る過程で、Goのシンプルさを損なわずに進化するための理論的裏付けが存在することを実感しました。内容は難解で、資料を何度も読み返しながら理解を深める必要がありましたが、言語設計の思想とそれを支える理論の繋がりに触れられる貴重なセッションでした。

synctest

speakerdeck.com

このセッションの主な目的は、Goの非同期処理を含むコードをテストする際に生じるテストの不安定さや実行時間の長期化を解消することです。

その解決策として、Go 1.25で正式リリースされた新しい標準ライブラリパッケージであるtesting/synctestを深掘りして紹介しています。具体的には、synctestが提供する以下の主要な機能と概念を理解し、いかにして安定した高速な並行処理テストを実現するかを学ぶことを目指しています。

  1. 隔離性(Bubble):テストを隔離された「Bubble」内で実行する仕組み。Bubbleとはtesting/synctestパッケージ固有の概念で、テストコードを実行するための隔離された環境のこと。内部では仮想的な時間が進む。
  2. 仮想時間:バブル内のゴルーチンがブロックされた時に時間が進む仕組み(これにより、長いtime.Sleepを含むテストも瞬時に完了する)。
  3. Durably Blocked:テストの決定性を保証するために、ゴルーチンが「Durably Blocked」と見なされる条件。ゴルーチンが待機状態にある際、そのブロックがバブルの外部イベントによっては解除されないことが保証された状態を指す。
  4. API の使用法synctest.Test関数とsynctest.Wait関数を適切に使用する方法。

非同期処理を対象にしたテストにおける課題や難所が豊富に示されており、共感や新たな気付きを得ながら聴講しました。私たちの部署でも、これからシステムリプレイスプロジェクトに伴って非同期処理のテストを書く機会があります。高い信頼性と実行速度を両立させたテストを実現するため、実際の利用例に基づきながらsynctestの動作原理を深く理解する上で、こちらのセッションはとても参考になりました。

ワークショップ

Go Conference 2025の新しい取り組みの1つとして、今回はワークショップが実施されました。3つの時間帯それぞれで3種類のワークショップが実施されたため、合計9種のワークショップが開かれました。今回はその中から1つピックアップしてご紹介させていただきます。

今日から始めるpprof

speakerdeck.com

Goに標準で同梱されているプロファイリングツールpprofを初めて使う人や、これから使い始めたい人向けにワークショップが開催されました。pprofを実際に使ってパフォーマンス改善のサイクルを回せるようになることを目的とした内容でした。具体的には以下のようなことを学べました。

  1. pprof の基本を理解し、プログラムに組み込む:プロファイルとは何かを理解し、CLIツールやウェブサーバーにpprofの機能(計装)を導入する方法を習得する。
  2. プロファイルを取得・可視化する:実行中のプログラムからCPU使用量などのプロファイルデータを取得し、go tool pprofを使ってそのデータをウェブUIでグラフとして表示し、確認できるようにする。
  3. プロファイルの結果に基づいて改善する:可視化された結果(特にFlame GraphやTopのFlat/Cumの値)を正しく読み解き、ボトルネックとなっている箇所を特定する。そのうえで、具体的な改善案を導き出せるようになる。
  4. 改善効果を検証し、実務へ応用する:改善後のプロファイルを取得して元のバージョンと比較し、改善がどれほど効果的であったかを客観的に評価するスキルを身につける。また、テストでのプロファイル取得や本番環境での継続的プロファイルの概念まで理解を広げる。

まとめると、「pprofを使ってGoプログラムのパフォーマンスに関する課題を計測特定改善検証する」という一連のスキル習得を目指すことがこのワークショップの目的です。

新人SREである私にとって、CNCFのオブザーバビリティ白書に継続的プロファイリングの重要性が言及されているという点も合わせて新たな知見でした。ログやメトリクスだけでは把握しきれないコードレベルのふるまいを可視化することが、今後のSREにとって重要であると認識できました。

まとめ

参加者、関係者の合計人数が500人を超えたそう

2025年のメインテーマは「sync.go」

Go Conference 2025のテーマは「sync.go」でした。去年のテーマ「一期一会」に続き、「繋がり」を重視したテーマが続いています。これは、直接顔を合わせて交流できるオフラインイベントならではの価値を改めて伝える、コミュニティイベントならではの素晴らしいテーマだと感じました。

新しいコミュニティの発足や、多くの学生らしき方々の参加も見受けられ、今後ますますのGoコミュニティの盛り上がりを予感しました。来年のGo Conference 2026でより多くのGopherと交流できることを今からとても楽しみにしています。

2026年も開催されるそうです!

最後に、数ヶ月にわたり企画段階から当日運営に至るまで、貴重な時間と情熱を注いでくださったスタッフと登壇者の皆様に、心より感謝を申し上げます。本当にありがとうございました!

ZOZOでは、一緒にサービスを作り上げてくれる方を募集中です。ご興味のある方は、以下のリンクからぜひご応募ください。

corp.zozo.com


元の記事を確認する

関連記事