Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DI コンテナ自動生成ツールを実装してみた / intro-autodi

Avatar for uhzz uhzz
May 24, 2026

DI コンテナ自動生成ツールを実装してみた / intro-autodi

Avatar for uhzz

uhzz

May 24, 2026

More Decks by uhzz

Other Decks in Technology

Transcript

  1. アジェンダ 1. gRPC とは — API 定義の標準化 2. DI とは

    — 依存性注入の基本 3. autodi とは — コンセプトと既存ツールとの比較 4. まとめ
  2. gRPC とは Protocol Buffers(proto)を IDL として使う高性能 RPC フレームワーク • 型安全:

    クライアント・サーバー両側のコードを proto から自動生成 • 高速: HTTP/2 + バイナリシリアライズ • 多言語対応: Go / Java / Python / TypeScript …
  3. 既存 DI ツールとの比較 既存ツールはすべて Go コード上 で依存を宣言する必要がある。 ツール 概要 依存の宣言

    依存解決 google/wire Google製フレームワーク 2025/08にアーカイブ Go コード コード生成時 uber-go/fx Uber製フレームワーク Go コード 実行時 samber/do Generics ベースの 軽量ランタイム DI Go コード 実行時 autodi proto import から 依存グラフを自動推論 proto の import コード生成時
  4. まとめ • proto を書くだけで DI コンテナが自動生成される • import 構造から依存グラフを自動推論 •

    リフレクションなし・外部依存ゼロのランタイム • OpenAPI も proto から自動出力 • デフォルトで Connect(connectrpc/connect-go) を採用 (gRPC+HTTP) • ミドルウェアはAPI/層ごとに独立して設定可能