Django

Django

BACKEND

強力なORM、自動admin、組み込みセキュリティを提供する「batteries included」哲学のフルスタックPythonフレームワークです。Django ORM、マイグレーションシステム、完全な認証、Django REST FrameworkによるREST APIと、スケーラブルなWebアプリケーション構築のための豊富なエコシステムを備えたMVT(Model-View-Template)アーキテクチャです。

学べること

type hints、非同期ビュー、最適化されたパフォーマンスを備えたモダンPython

QuerySets、複雑なリレーション、自動マイグレーションを備えたDjango ORM

データ管理のための自動生成・カスタマイズ可能なadminインターフェース

serializersとviewsetsによるREST APIのためのDjango REST Framework

Userモデル、パーミッション、グループによる堅牢な認証・認可

継承、フィルター、カスタムタグを備えた強力なテンプレートエンジン

自動バリデーションとエラーメッセージを備えたFormsとModelForms

セキュリティ、CSRF、CORS、リクエスト処理のためのミドルウェアパイプライン

包括的なテスト(unittest、pytest-django、fixtures、factories)

デフォルトでのセキュリティ(CSRF、XSS、SQLインジェクション、クリックジャッキング保護)

マスターすべき重要トピック

この技術を理解し面接で成功するための最も重要な概念

1

Python: デコレーター、コンテキストマネージャー、ジェネレーター、async/await、type hints

2

Djangoアーキテクチャ: MVTパターン、settings.py、apps、ミドルウェアパイプライン

3

Models: fields、リレーション(ForeignKey、ManyToMany、OneToOne)、Meta options

4

Django ORM: QuerySets、filter/exclude、select_related/prefetch_related、aggregations

5

Migrations: makemigrations、migrate、カスタムマイグレーション、data migrations

6

Views: function-based views(FBV)、class-based views(CBV)、generic views

7

Django REST Framework: Serializers、ViewSets、Routers、認証

8

DRF上級: ネストされたserializers、カスタムフィールド、ページネーション、フィルタリング

9

URLルーティング: path()、re_path()、include()、URLパラメーター、namespaces

10

テンプレート: テンプレート継承、フィルター、タグ、context processors

11

Forms: Form、ModelForm、バリデーション、カスタムvalidators、formsets

12

認証: Userモデル、login/logout、パーミッション、カスタムUserモデル

13

認可: パーミッション(is_authenticated、permissions)、groups、デコレーター(@login_required)

14

Middleware: request/responseサイクル、カスタムミドルウェア、順序付け

15

Admin: ModelAdmin、inlines、list_display、search_fields、カスタマイゼーション

16

Signals: pre_save、post_save、pre_delete、カスタムsignals、receivers

17

テスト: TestCase、fixtures、factories(factory_boy)、mocking、coverage

18

セキュリティ: CSRFトークン、XSS防止、SQLインジェクション、安全な設定

19

パフォーマンス: select_related、prefetch_related、データベースインデックス、キャッシュ(Redis、Memcached)

20

Celery: 非同期タスク、beat scheduler、workers、タスクルーティング

21

デプロイ: WSGI/ASGI(Gunicorn、Uvicorn)、静的ファイル、Docker、環境設定