PyCon JP 2025 Logo
広島国際会議場
JPEN
kashew_nuts

kashew_nuts

Django NinjaによるAPI開発の効率化とリプレースの実践

ダリア2日本語
06:00 - 06:3030min
DAY 1
09/26
FRI

私が現在携わっているWebサービスでは、10年以上にわたり外部向けAPIを複数回リプレースしながら提供してきました。従来はDjango上に構築された独自のAPI実装を用いていましたが、機能追加や仕様変更のたびに複雑化が進み、開発効率や保守性に課題を抱えていました。

そこで今回、Pythonの型ヒントを活かしながら軽量かつ高速に開発できる「Django Ninja」によるAPIアーキテクチャへと段階的にリプレースしました。

この発表では、Django Ninjaを選定した理由や、実際の移行プロセス、運用面での工夫、そして開発・運用の効率化に繋がった具体的な知見を紹介します。DjangoでAPIを開発・運用している方にとって、明日から役立つ実践的なノウハウをお持ち帰りいただける内容です。


トーク詳細 / Description

発表の構成(予定)

  1. はじめに

    • 自己紹介・会社紹介
    • 発表の背景とゴール
    • 想定する聞き手
  2. Django Ninjaとは何か

    • Django REST frameworkやFastAPIとの比較
    • Django Ninjaの特徴(型ヒント、OpenAPI連携、FastAPI互換の設計思想など)
  3. なぜDjango Ninjaを選んだのか

    • 比較検討した選択肢(独自実装・DRF・FastAPIなど)
    • パフォーマンス、学習コスト、開発効率、保守性の観点からの選定理由
  4. Django Ninjaを用いた実践例

    • 型ヒントで定義するリクエスト・レスポンススキーマ
    • 自動生成されるOpenAPIドキュメントの活用
    • 認証・認可(API Key, JWT など)の実装方法
    • スロットリングやページネーションの設計
    • テスト戦略(ユニット・統合テスト)
  5. 段階的なリプレース戦略

    • 既存の独自実装との共存
    • 互換性維持の工夫
    • 移行計画と影響範囲のコントロール
  6. まとめとQ&A

    • 得られた効果と課題
    • 今後の展望(型安全な開発・APIクライアント自動生成など)
kashew_nuts

kashew_nuts

プロフィール