Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Django を使い続ける理由
Search
biwakonbu
July 12, 2024
Technology
230
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Django を使い続ける理由
FastAPI が流行っているなかでなぜ Django を使い続けるのか、というテーマです。
Python の事情や WEB の事情など、実体験からの個人的な感想を交えて話をします。
biwakonbu
July 12, 2024
More Decks by biwakonbu
See All by biwakonbu
Cursorで速く、壊さず、迷わず開発する
biwakonbu
0
27
モデルの使い分け - 実装の規定を GPT-5.6 に移して、Claude を言葉と監修に回すまで
biwakonbu
0
52
reviewtask 開発で得たバイブコーディングの気づき
biwakonbu
0
43
バイブコーディング実践入門
biwakonbu
0
80
爆速なPythonフレームワーク
biwakonbu
0
230
HTMX触ってみた
biwakonbu
0
260
スタートアップの技術顧問を3年間続けて発生した事と気付き
biwakonbu
0
580
プログラミングを体系的に学べる言語 Python を推したい
biwakonbu
0
190
プログラミング言語F#を学びはじめました
biwakonbu
0
450
Other Decks in Technology
See All in Technology
アプリをもっと"iOSアプリっぽく"する小さな工夫 / Small Touches That Make Your App Feel More Like an iOS App
matsuji
1
630
2026-09-09 【sigma_ucj#1】Sigma を IaC 管理したい! / IaC for Sigma
civitaspo
0
120
消えない 動かない 効かない
yama3133
1
120
Slack上でインフラをトラブルシュートする! Agentic Platform Engineeringの第一歩
teru0x1
4
1.3k
すぐできる衛星通信対応 あとは山奥に行くだけ
tatetate55
0
110
2026-09-10 【Snowflake World Tour Tokyo 2026】dbt Core と Snowflake で実現する多層的なデータガバナンス / Multi-Layered Data Governance Powered by dbt Core and Snowflake
civitaspo
0
350
Snowflakeのコスト最適化を支えるアーキテクチャ設計
ktatsuya
1
1.5k
Tab5をRubyで動くパソコンにする
kishima
2
350
生成AIのテナント制御とシャドーMCP対策 | AIを"止めずに"、情報を守る
yukun
0
160
Omarchy Quattro の日本語設定周り
simosako
2
150
「重なり」は迎える側がつくる ― 人もAIエージェントも歓迎するプロダクトエンジニアリング ―
go0517go
PRO
0
280
『止めない』を設計する — 制約の中で、事業の根幹を支える判断
hiroyaterui
0
270
Featured
See All Featured
Test your architecture with Archunit
thirion
2
2.4k
How STYLIGHT went responsive
nonsquared
100
6.3k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
58k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
190
Claude Code のすすめ
schroneko
67
230k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
The Pragmatic Product Professional
lauravandoore
37
7.4k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
700
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
490
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
470
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.8k
Transcript
Django を使い続ける理由 株式会社coroutine 東川 諒央
自己紹介 1 Django (Python) の選定理由と功罪 3 Django で困った事 4 Django?
FastAPI じゃなく? 2 5 まとめ
自己紹介 1 株式会社 coroutine 東川 諒央 @biwakonbu 大学教員 ゲームバックエンド フリーランス
経歴 Go Python 実績言語 Ruby 技術顧問 エンジニア教育 業務 設計 プログラミング インフラ etc… Rust Haskell TypeScript 趣味言語 Lisp F#
> Django? FastAPI じゃなく?
Django? FastAPI じゃなく? 2 ❏ はい、Django です ※ 個人の感想です ❏
Django を使いたい理由 ❏ フルスタックでかつプラグインが豊富 ❏ マイグレーションが便利 ❏ admin site を標準でサポートしている ❏ 静的ファイルのデプロイもやってくれる (django command でできる) ❏ ディレクトリ構成が好き (機能毎に構成する) ❏ ドキュメントやノウハウが豊富
Django? FastAPI じゃなく? 2 ❏ じゃあ FastAPI を使わない理由は? ❏ 仕事で
SaaS 開発を立ち上げからやる事は殆どない ❏ 相談にのっても Rails 使ったりで、現場に合わせて対応するため ❏ 業務系でスクラッチでやるなら FastAPI より Django の方が利が多い ❏ そもそも Python 自体が実行速度は良くないため、 FastAPI のメリットが薄い ❏ どうしても Python じゃないとダメなチームが選択するとかかな、と
Django? FastAPI じゃなく? - フレームワーク別ベンチマーク 2 大体450req/sec
Django? FastAPI じゃなく? - 言語別速度比較 2 引用: 宇宙の晴れ上がり: プログラミング言語の実行速度比較(2023/4)
Django? FastAPI じゃなく? 2 Python やフレームワークが高速化されるのは嬉しい が、ライブラリをごちゃごちゃ入れ変えて高速化するのを Python で目指したくない 自分が
Python に求めるのは楽に開発、運用ができる事だけ
> Django 事例
Django 事例 3 ❏ ブラウザゲーム (2015~2016) ❏ DAU 2 万前後
❏ スマホネイティブゲーム (2016~2017) ❏ 開発途中で開発チームごと移籍 ❏ 社労士向けサービス PoC 開発 (2017~2018) ❏ PoC で終了 ❏ 基幹システムリプレース (2019~現在) ❏ DX チームの組成とシステムリプレース、現在運用中
Django 事例 3 ❏ 高負荷アプリについて ❏ app server のコストが高めなものの、ほぼ困るポイントは無し ❏
DB アクセスが課題になるのでフレームワークレベルの話にならない ❏ ゲームの時は RDB + Redis で 90% くらいの負荷を対策していた ❏ アクセス自体についても uvicorn で複数ワーカー立てればある程度捌ける ❏ PoC について ❏ 技術選定コストがほぼない (FastAPI も厳密にはだいたい毎回固定になるが ...) ❏ マイグレーションファイルを手書きしなくていいのが本当に楽 ❏ Template 毎に仕様を変えれるので最初泥臭く作っても影響範囲は狭くできる ❏ 素の Django で API 作ってから DRF を導入して両方動作なども可能
> Django で困った事
Django で困った事 4 ❏ 標準の Paginator が遅い ❏ 実装が何故か悪いので件数が多い一覧にページネーションを入れるなら カスタムページネータを実装して差し替える
❏ 標準のままだと一覧実装でフィルタの実装が面倒 ❏ django-filter を使うと簡単になるので入れれば解決
Django で困った事 4 ❏ 標準の機能で API を作るのはちょっと面倒が多い... ❏ Django REST
Framework (DRF) がおすすめです (Django Ninjaも良さそう) ❏ Django の問題じゃないけどパッケージ管理とかランタイム管理が面倒だった ❏ 今は rye があるのでこれ 1 本で大丈夫 ❏ Django の問題じゃないけど formatter, linter の導入が面倒 ❏ 今は ruff があるのでこれ 1 本で大丈夫 ❏ 標準機能でデバッグする時はちょっと不便 ❏ django-debug-toolbar, django-extensions を入れれば大体解決します ❏ API は django-debug-toolbar と DRF の SwaggerUI がおすすめ ❏ アプリの実動作で toolbar が使いたいなら chrome の拡張がいいかも
Django で困った事 4
まとめ 5 ❏ 速さを求めていないので困らなかった ❏ 速さを求めるなら正直 Go のとかの方がいいんじゃないかと ... ❏
そもそも Python 遅いし... ❏ 個人的には速さやパフォーマンスの為に FastAPI を使いたくなかったです ❏ 着手開始からのプロダクト生産性は Django は高い ❏ フルスタックの強みです ❏ Rails や Laravel と比較してもディレクトリ構成の筋の良さや マイグレーションの便利さで頭抜けている感じです ❏ 部分的に細かなカスタムが出来るようになっているので後から苦しまない ❏ 初期の設計に依存しにくい作りになっているので柔軟に対応できました
宣伝:大阪プログラミングコミュニティやってます エンジニアのための学習・交流を行うコミュニティスペースを作っています 勉強したい人や人と繋がりたい人に向けてサービス提供していきます