[서평] 백엔드 개발을 위한 핸즈온 장고

황준하·2023년 6월 23일
0

핸즈온 장고 리뷰

장고란 파이썬 풀스택 프레임워크로 MTV(Model Template View) 패턴 아키텍처이다. 파이썬 개발자 설문조사에서도 2번째로 가장 인기있는 파이썬 프레임워크로 꼽힐 만큼 많은 프로젝트에서 사용하고 있다.

파이썬으로 웹 개발을 할 때에는 나도 주로 장고를 사용한다. 소규모로 작업을 하다보니 여러 기능을 개발해야 할 때 도움을 주는 라이브러리도 많고 개발 커뮤니티 자체가 크다 보니 해결책을 찾기가 수월하다.

그런 면에서 “백엔드 개발을 위한 핸즈 온 장고”는 초보 백엔드 개발자에게 도움이 되는 라이브러리 사용방법과 개발 팁을 꽉꽉 채워 담은 교과서인 것 같다.

이 책을 접하고 현재 만들고 있는 프로젝트에서 SQL과 뷰의 최적화 과정에서 큰 도움을 받았다. 장고를 처음 접하거나 한번 봤더라도 실무에 써먹고 싶을 만큼 다루기를 원한다면 이 책은 많은 도움을 줄 수 있을 것이다.

배울 수 있는 것

장고의 핵심 기능의 구현과 응용

이 책에서는 템플릿에 집중한 다른 책과 다르게 좀 더 실무에서 사용 빈도가 높은 모듈을 중점적으로 다룬다는 점에서 차이가 있다.

목차를 보면 저자는 백엔드 개발에 입문하는 개발자를 위해 중요한 항목들을 차례로 소개해주고 있다. 모델링과 마이그레이션, ORM과 쿼리셋, 직렬화, 뷰 구현과 응용 등 장고에서 가장 핵심적이면서도 소홀히 하기 쉬운 부분을 정확히 짚어 예제와 함께 가르쳐 준다.

실제로 코드를 작성하고 결과를 테스트할 때 저자의 깃허브에서 공유해주는 소스들을 이용하면 혼자서도 프론트엔드 단과 같이 작업하는 느낌을 받으면서 공부해볼 수 있다.

모델링과 마이그레이션

모델은 장고를 유명하게 만든 핵심 기능이다. 모델을 사용하지 않고 장고를 쓰는 것은 팔 하나 없이 노를 젓는 것과 같다.

이 책에서는 모델을 작성하는 방법과 다양한 필드들의 종류, 그리고 모델이 실제 데이터 베이스와 연결되는 마이그레이션 과정을 직접 구현해 봄으로써 모델의 구현과 응용 방법을 습득하는 데 도움을 준다.

특히 커스터마이징은 해본 적이 없었는데, 이번에 암복호화 필드를 구성해보며 장고 모델의 높은 활용성을 다시금 깨닫게 되었다.

ORM과 쿼리셋

ORM이란 객체 지향형과 관계 지향형 패러다임 간의 차이 때문에 복잡해질 수 있는 로직을 객체 지향적인 코드로 작성할 수 있도록 보조해주는 역할을 수행한다. 개발자는 코드의 편의성을 위해 ORM을 사용하지만 이것에 의존해서는 안된다.

이 책에서는 장고 모델에서 ORM이 어떻게 사용되는지, 쿼리셋을 어떻게 커스터마이징 해야 하는지 가르쳐 준다. 쿼리셋과 대응되는 SQL을 같이 보여주기 때문에 SQL에 대해 잘 모르더라도 예제를 따라가면서 하나씩 익힐 수 있다.

직렬화

직렬화란 데이터의 구조와 상태를 해치지 않고 다른 컴퓨팅 환경에 저장하고 재구성이 가능한 포맷으로 변환하는 과정을 의미한다.

이 책에서는 DRF Serializer를 이용하여 다양한 모델에서 데이터 직렬화를 구현하는 방법을 소개하고 있다.

뷰는 장고에서 MTV 아키텍처 기반으로 개발하기 위한 템플릿 구현체이다. 다만, 현재 시장에서는 MTV 아키텍처가 뜨지 못하고 있기 때문에 API 개발에 필요한 뷰 구현체를 위해 보통은 다른 장고 라이브러리를 사용한다.

이 책에서는 함수 기반뷰와 클래스 기반 뷰에 대한 라이브러리들과 함께 API 문서 작성을 손쉽게 해줄 수 있는 패키지의 사용법도 함께 소개해 주고 있다.

개발자에게 도움이 될 만한 상식들

초보 개발자라면 전공 단어에 대한 기본 지식이 부족할 수 있다. 저자는 이를 위해 중간중간 자세한 설명을 덧붙여 주었고, 또한 저자의 경험이 녹아든 설명은 개념을 이해하는 데 많은 도움이 되었다.

개발자로서 이력서를 작성하는 방법이나 면접 팁 등은 신입 개발자, 쥬니어 개발자에게 큰 도움이 되는 것 같다.

처음 개발을 시작하는 개발자, 혹은 장고로 프로젝트를 진행해보고 싶은 백엔드 개발자에게 이 책은 하나의 보물처럼 쓰일 수 있을 것 같다.

아쉬운 점

이 책은 쥬니어 개발자를 위한 책으로 소개된 만큼, 파이썬 자체를 처음 접하거나 개발을 처음 시작하는 입문자에게는 추천하기 어려운 책인 것 같다.

컴퓨터 전반적인 지식을 갖추고 이제 개발을 시작하려고 하는 사람에게는 최고의 책이 될 수 있지만, 아직 갖춰지지 못했다면 살짝 어려움이 따를 수 있는 책이 아닌가 싶다.

책정보

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

0개의 댓글