DMM.go#12開催レポート

サムネイル

はじめに

こんにちは!

DMM.go 運営の國分竜二(@_ryuji_cre8ive)です。 普段は、オンラインサロン開発部のアーキテクトチームとして既存機能の改修や新しいアーキテクチャへのリプレースなどを行っています。

2026 年 2 月 20 日(金)、DMM 主催の Go 言語勉強会「DMM.go #12」を開催しました。 今回は DMM 六本木オフィス + オンライン配信のハイブリッド形式での開催となりました。

イベント詳細は、以下のリンクから確認できます。

https://dmm.connpass.com/event/375845/dmm.connpass.com

www.youtube.com

登壇内容

bytedance/sonicで実現する30ms広告配信の裏側

屋比久怜央(マーケティングテクノロジー部)の LT としての登壇です。
ByteDance が開発した高速 JSON シリアライザー bytedance/sonic の仕組みと、DMM.com の広告配信基盤での活用事例を紹介していただきました。

主な内容

bytedance/sonic とは
encoding/json の高速版として機能する JSON シリアライザーです。json.Marshal / json.Unmarshalsonic.Marshal / sonic.Unmarshal に置き換えるだけで利用でき、公式ベンチマークでは圧倒的な速度を誇ります。

なぜ速いのか
encoding/jsonreflect パッケージで実行時に型を動的に解析するため、メモリアロケーションや GC の頻発がボトルネックになります。 sonic は JIT コンパイルを活用し、実行時に構造体の型情報を把握したうえでコンパイルすることで reflect のオーバーヘッドを削減しています。

広告配信基盤での活用
社内向け広告配信基盤では、広告情報を Cloud SQL から Memorystore 経由で Cloud Run のオンメモリキャッシュに事前ロードします。 リクエスト時は DB への問い合わせなしにキャッシュから直接返却する構成を採用しています。 このオンメモリキャッシュの JSON デシリアライズに sonic を使用することで、30ms 以下の高速な広告配信を実現しています。

屋比久さん登壇中

speakerdeck.com

【学生セッション】DMMのインターンでGo言語はじめてみた

山本瑛悟(DMMTV 開発部)の学生セッションとしての登壇です。 機械学習の研究をしており Web バックエンド未経験の状態から、週 2 日勤務、約 8 日間で初 PR を作成するまでの経験をもとに、Go 言語の特徴や学習を通じて感じたことをお話しいただきました。

主な内容

Goの言語仕様の特徴
例外(try-catch)や三項演算子、デフォルト引数、オーバーロードなど、他言語にある機能が Go には存在しません。これらの機能を導入する提案は issue で多数上がっていますが、「例外を制御構造に結びつけると複雑になる」「三項演算子は読めないほど複雑な式を生む」といった理由からいずれも採用されていません。Go の設計思想として「機能の便利さ・表現力よりも可読性」が一貫して優先されていることが伝わる内容でした。

便利な周辺ツール

  • gofmt: 標準フォーマッター。誰が書いても体裁が統一されるため、初学者でもスタイルに悩む必要がありません
  • go vet: コンパイラでは検出されないバグになり得るコードを検出する静的解析ツール
  • go fix: Go 1.26 でアップデートされ、古いコードをモダナイズしてくれるツール。AI が古い書き方を提案してくる場合にも役立ちます

困ったこと: nil の挙動
マップとスライスでは nil 状態での読み書きの挙動が異なります。また typed nil の問題として、インターフェース型の変数に型情報だけが注入されている場合、値が nil でも nil チェックをすり抜けてしまうという落とし穴も紹介されました。

山本さん登壇中

speakerdeck.com

懇親会

全発表の終了後には、転職ドラフトさんにビールスポンサーとしてご協力いただき、軽食とドリンクを用意して懇親会を開催しました。
懇親会では Go 1.26 クイズ大会も行われ、参加者同士・DMM 社員と参加者の交流が大いに盛り上がりました。

クイズ大会

懇親会の様子

まとめ

運営集合写真

本記事では、2026 年 2 月 20 日(金)に開催された DMM.go #12 について紹介しました。
Go を活用した広告配信基盤の実践事例から、初学者目線での言語仕様の考察まで、幅広い内容をお届けできた回となりました。

次回予告

次回の DMM.go #13 の詳細については、決定次第 connpass でお知らせいたします。

終わりに

DMM.com では、Go 言語を使って開発しているエンジニアを募集しています。
ご興味のある方は、以下の URL からご応募ください。

dmm-corp.com