그림과 코드로 이해하는 장고 코어 모듈과 DRF 활용법
장고는 파이썬 웹 프레임워크이자 풀스택 프레임워크이다. 하지만 대부분의 웹 서비스는 프런트엔드와 백엔드를 분리해서 개발한다. 더욱이 리액트나 뷰 같은 훌륭한 프런트엔드 SPA 도구가 등장했고 DRF라는 강력한 장고 라이브러리가 있기 때문에 장고를 백엔드 개발 도구로 사용하는 것이 더 효과적이다. 이 책은 파이썬 백엔드 개발을 위한 장고의 핵심 개념을 다루고 있다. 실제 주니어 개발자가 궁금해하던 내용을 포함하여 백엔드 개발을 하기 위해 알아야 하는 CS 지식과 장고 코어 모듈을 입문자가 쉽게 이해할 수 있도록 설명한다. 또한 장고의 동작 원리와 구조를 정확하게 이해하는 데 도움을 주는 다양한 그림과 실무에서 활용할 수 있는 실습 코드를 수록했다.
1장. 장고에 대하여
1.1 웹 프로그래밍과 백엔드 프로그래밍
1.2 장고 MTV 아키텍처: 템플릿의 한계
1.3 장고란 무엇인가
1.4 이 책에서 사용하는 라이브러리
1.5 프로젝트 환경 설정
1.6 이 책의 토이 프로젝트
Tip1 신입 또는 주니어 개발자에게 필요한 이력서
2장. 모델링과 마이그레이션
2.1 ER 모델링
2.2 장고의 모델
2.3 장고의 필드
2.4 마이그레이션
Tip2 신입, 주니어 개발자를 위한 기술 면접 팁
3장. ORM과 쿼리셋
3.1 ORM
3.2 쿼리셋
3.3 쿼리셋 활용하기
3.4 지연 로딩과 즉시 로딩
3.5 트랜잭션 관리
3.6 매니저
3.7 관계 매니저
3.8 DB 라우터: 멀티 데이터베이스 관리
4장 직렬화
4.1 직렬화
4.2 DRF Serializer
4.3 DRF Serializer 사용 시 권장 사항
4.4 DRF Serializer를 활용하는 방법
4.5 DRF Serializer와 Pydantic 비교
5장 뷰
5.1 웹 프레임워크 직접 구현해보기
5.2 URL dispatcher
5.3 함수 기반 뷰(FBV)와 클래스 기반 뷰(CBV)
5.4 DRF 뷰
5.6 DRF 예외 처리
5.7 drf-spectacular: DRF API 문서 자동화
부록 배포: Uvicorn, Gunicorn
1. 용어 정리
2. 배포 시 사용하는 기술들
주니어 개발자를 위한 장고 백엔드 개발 온보딩 가이드
이 책은 주니어 개발자 또는 입문자를 대상으로 하며 장고를 사용한 백엔드 프로그래밍을 학습할 수 있도록 꾸며져 있다.
★ 이 책에서 다루는 주요 내용
- 장고 모델과 마이그레이션 모듈 사용 매뉴얼
- 장고 ORM(쿼리셋)의 내부 동작 원리
- DRF Serializer 모듈 내부 동작과 활용 예시
- DRF ViewSet을 활용한 RESTful API 설계
- DRF OpenAPI 3.0 기반 문서(스웨거) 구현 및 작성법
★ 이 책의 구성
1장 장고에 대하여
- 장고의 개념/장고와 함께 사용하는 기술 스택
장고가 무엇인지 그리고 장고를 왜 배워야 하는지 설명한다. 또한 장고와 같이 쓰는 도구를 살펴본다.
2장 모델링과 마이그레이션
- ER 모델링/장고 모델 옵션
- 장고 필드/커스텀 필드
- DB 마이그레이션 명령어
- 커스텀 마이그레이션 파일 작성
장고가 어떻게 데이터 테이블과 파이썬 클래스를 매핑하는지 그리고 어떻게 추가되는 모델링 이력을 관리하고 다루는지 설명한다.
3장 ORM과 쿼리셋
- ORM의 개념과 필요성
- 쿼리셋의 특징과 활용법
- 지연 로딩과 즉시 로딩
- 쿼리셋 구조/트랜잭션 관리
- 매니저의 역할과 관계 매니저
- DB 라우터
ORM의 개념을 익히고 장고 모델을 SQL 문으로 만들어주는 장고 ORM인 쿼리셋에 대해 살펴본다.
4장 직렬화
- 직렬화 개념
- DRF Serializer 사용법
- DRF Serializer와 Pydantic 비교
직렬화가 무엇인지 살펴보고 DRF에서 제공하는 직렬화 모듈을 어떻게 다루는지 알아본다.
5장 뷰
- 웹 프레임워크 직접 구현해보기
- URL dispatcher 모듈 사용법
- 함수 기반 뷰와 클래스 기반 뷰 비교
- DRF 뷰 활용법과 DRF 예외 처리
- drf-spectacular : DRF API 문서 자동화
뷰와 URL dispatcher 모듈을 살펴본다.