コンテンツへスキップ

QualiArtsengineer blog

Go Conference 2022 Springに登壇しました

Go Conference 2022 Springに登壇しました

2 min read

2022年4月23日に開催されたプログラミング言語Goをテーマにしたカンファレンス「Go Conference 2022 Spring」において、弊社のエンジニア鈴木、筋野、島田の3名が登壇いたしました。登壇内容はSpeaker Deckにて公開しております。

Go Conferenceとは

Go Conferenceは半年に1回行われるプログラミング言語Goに関するカンファレンスです。

Go Conference 2022 Spring

高速で統一的な自動生成ツールをprotocプラグインとして実装した話(鈴木)

Go言語には総称型が実装されていないためコードを自動生成して賄うことが多いです。ここで自動生成のソースをGo言語自体とした場合、よくある手法としてreflectパッケージによる生成が行われますが、ソースが多いと実効速度がネックとなってしまいます。 また、StructTagを活用したオプション設定は便利ですが、文字列による設定なのでタイプミスも発生します。そこでProtocolBuffersをソースとする自動生成ツールをprotocプラグインとして実装することで、オプションを型安全にしつつ実行速度を大幅に向上させることに成功しました。 今回はこのprotocプラグインを紹介します。

大規模ゲーム開発におけるContext活用パターン(筋野)

GoのContextではリクエストスコープの値を伝播する事ができます。 主な利用例として認証トークンを伝搬させる手法がありますが、ゲーム開発においては他にも様々なContextの利用方法があります。 このトークでは大規模ゲーム開発で利用しているContextの活用パターンについてお話しします。 Contextを活用することで、DBアクセス頻度を少なくしたり、レスポンスサイズを小さくする工夫ができたため、その実装手法を共有します。

Goの標準機能で簡易システムを低コストで作成するテクニック(島田)

Goによるゲーム開発のプロジェクトにて、Go標準の機能を複数活用し、実装コストの低いデバッグツール開発基盤を作成しました。 本セッションのデバッグツールとは、動作確認やデバッグのため、ユーザーのレベル操作や所持アイテムの増減等、データの状態を操作・参照するAPI群、及びwebツールを指します。 デバッグツールの拡充は、ゲームに限らず様々な分野で成果物の品質に直結しますが、ドメイン固有のロジック実装に集中するためにはより低コストで開発できることが望ましいです。 本セッションでは、低コストで開発を行えるデバッグツール基盤をどのように実現したのかを紹介します。