메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

독자리뷰

장고 백엔드 개발을 위한 온보딩 가이드

dhan***

|

2023-06-25

백엔드 개발을 위한 핸즈온 장고

그림과 코드로 이해하는 장고 코어 모듈과 DRF 활용법

  • 저자 : 김성렬
  • 출간 : 2023-05-30

이 책은 장고에 대한 설명과 함께 활용법과 응용법까지 자세히 설명한 온보딩 가이드가 가장 적절하다.

대상 독자는 주니어 개발자나 프로그래밍 경험이 있는 장고 입문자로 백엔드에 경험이 있으면 쉽게 이해할 수 있다.

 

본인은 간단한 Flask(플라스크) 경험만 있었고, 장고와 FastAPI에 대해서는 경험이 전혀 없었지만, 장고의 개념을 알 수 있었으며, 장고와 함께 사용하는 기술 스택과 도구도 알 수 있어서 확실히 지식이 업그레이드된 느낌이다.

특히, 장고의 진화와 함께 백엔드 프로그래밍의 발전 방향도 자세히 설명한다.

MTV(Model, Template, View), DRF(Django REST Framework)를 설명하면서 SPA(Single Page Application), REST API에 대한 추가 설명(원칙, 관습)도 덧붙인다.

ORM을 설명할 때는 하이버네이트를 언급하는데, 자바 진형의 스프링부트, JPA와도 통하는 면이 있어 내용이 더욱 쉽게 다가왔다.

 

책은 400페이지 분량으로 5개의 장으로 구분하고 있는데, 한 장의 페이지 수가 많지만, 적절하게 나눈 것 같다.

장별로 설명하면 아래와 같다.

CHAPTER 1에서는 백엔드 프로그래밍의 동향와 장고(풀스택 프레임워크) 소개, 장고의 특징과 한계점을 설명하고, 함께 설치하면 효과적인 라이브러리 설치법과 함께 개발 환경 설정까지 진행한다.

CHAPTER 2는 장고의 모델과 필드 소개, 마이그레이션 활용법을 설명한다.

CHAPTER 3은 먼저 ORM과 쿼리셋을 설명하고, 쿼리셋 활용법과 지연 로딩 및 즉시 로딩, 트랜잭션 관리 방법, 멀티 데이터베이스 관리 방법을 주제로 설명한다.

CHAPTER 4는 장고의 직렬화 방법과 DRF에서의 직렬화 방법과 권장 사항, 직렬화 활용법, Pydantic(파이단틱)과의 차이점을 비교 설명하고

CHAPTER 5는 파이썬 기반으로 웹 서버를 직접 구현하고, 장고와의 차이점을 설명한다. 또한, 장고 DRF에서의 클래스 기반 뷰와 장고 닌자의 함수 기반 뷰를 비교 설명한다. 클래스 기반 뷰와 함수 기반 뷰의 장단점을 설명하고, 예외 처리 방법에 관해서 설명한다. 마지막으로 DRF API 문서 자동화(스웨거)까지 설명한다.

끝의 부록에는 WSGI(위스기), ASGI(아스기) 설명과 배포 시 사용하는 Uvicorn, Gunicorn 라이브러리에 대한 장단점, 설치 방법과 주의점으로 마무리한다.

 

각 장은 장고의 해당 주제를 설명하기 전에 설명하는 주제에 관한 일반적인 프로그래밍 지식을 먼저 다룬다. 운영체제, 네트워크, 데이터베이스, 인터넷, REST API, DOCS, 라이브러리, 유틸리티 등등 장르를 가리지 않고 필요하다고 판단되면 일반적인 지식을 먼저 설명하고 이어서 장고의 해당 부문을 설명한다. 그래서 서두의 '온보딩 가이드'가 적절하다고 한 것이다. 장의 설명 방식은 각 장의 주제를 가장 잘 설명하는 방향으로 되어 있다. 공통되는 규칙이 따로 있는 것이 아니고 해당 주제를 잘 설명하는 방식으로 자유롭다.

 

이 책은 기본적으로 장고에 대해서 다루지만, 프로그래밍에 대한 저자의 경험과 노하우를 많이 담고 있어, 더욱 흥미롭다. 프레임워크의 동작 원리와 장고의 세세한 설정뿐만 아니라 일반적인 책과 공식 문서에는 없는 프로그래밍에서 발생할 수 있는 저자의 여러 가지 고민과 관습적인 처리 방법 등을 고스란히 담고 있다. 진심으로 개발을 좋아하는 것은 확신하는데, 수다쟁이가 아닐까? ㅎㅎ

 

1장, 2장 후반부에는 부록처럼 신입 또는 주니어 개발자에게 필요한 이력서와 기술 면접에 대한 저자의 솔직한 생각을 전하는 부분이 있는데, 지면의 제약이 있었겠지만 3장~5장에도 추가해 줬으면 어떨까? 하는 아쉬움이 있다.

 

책 중간마다 NOTE와 전구설명에서는 생소할 수 있는 IT 용어에 대한 자세한 설명과 본문에 대한 추가 보충 설명이나 관용적인 사례를 설명하기 때문에 꼭 읽도록 한다.

 

그리고 중간마다 책 한 페이지씩을 차지하는 그림은 이해하기 쉽도록 구성되어 있어 자세히 챙겨 보자. 특히, 말풍선으로 설명하는 부분은 재미뿐만 아니라 지문으로 설명하는 것보다 더욱 쉽게 이해가 되었다.

 

책 커버는 영화 '장고'를 형상화하였는데, 영화감독과 장고 개발자 모두 좋아하는 기타리스트 '장고 라인하르트'에서 명칭을 가져왔다고 한다. ('D'가 묵음인 건 모두 알고 있죠? ^^)

 

핸즈온 도서답게 코드 블록이 매우 많다. 따라 하거나 읽기에 부담이 없고, 잘 읽힌다. 다만 1장의 개발 환경 설정에서는 설명의 순서를 조정하면 좋을 것 같다. 에러에 관한 내용이 뒤에 나오는 바람에 괜한 구글링을 하였다. 나만 그런가? ㅎㅎ

 

저자가 많이 사용하는 문구 중에서 개인적으로 공감하는 '인간 친화적인'이란 표현이 있다. 마지막은 그중 한 부분을 인용하며 마무리하고자 한다.



 

개발자는 유지 보수가 가능한 코드를 작성해야 한다. 인간 친화적인 표현을 코드에 녹이는 것은 유지 보수가 가능한 코드를 만드는 첫 시작과도 같다.

CHAPTER 3 ORM과 쿼리셋, p247

 

"한빛미디어<나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

 

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?