tee***
2020-10-25

장고 프레임워크를 사용해서 상용화 수준의 앱을 만들고, 앱의 기능을 확장하고, 클라우드 서버에서 배포하는 것까지 다룬다.
파이썬의 웹 프레임워크는 장고(Django)와 플라스크(Flask)를 양대 산맥으로 꼽을 수 있다. 개인적으로 주로 플라스크를 사용해왔기에 장고의 체계적이지만 복잡한 구조는 오히려 번거로울 때가 많았는데, 이 도서를 통해 장고만의 장점을 많이 발견하게 되었다.
이 책은 동일한 저자가 집필한 <기본편>과 성격이 비슷하다. 온라인 어딘가에서 본듯한 내용이나 장고 튜토리얼과 유사한 부분이 상당수 수록되어 있지만, 더 정리된 내용과 깔끔한 설명을 제공한다.
장고 입문 튜토리얼이 아니므로 실전적인 기능까지 개발해볼 수 있다. 일단 예제를 따라한 후에 차근차근 이론을 익혀가는 방식이다. 특히 학습에 필요한 부분을 효과적으로 강조하고, 필요 없는 부분을 들어냈다.
이해가 어렵거나 중요한 부분은 상세하게 기술한다. 설명이 애매한 온라인에서 이 내용이 맞았는지 틀렸는지 헤매는 시간이 아까운 사람들에게 특히 추천할만하다.
파이썬과 장고에 대한 배경지식이 어느 정도 필요하다. 웹 개발 경험이 있는 프로그래머라면 전편인 기본편을 꼭 볼 필요는 없지만, 웹 개발에 친숙하지 않다면 이전 도서를 같이 봐야지만 책의 실습을 무난히 따라갈 수 있을 거으로 생각된다.
전반적으로 흡입력이 높은 책이다. 장마다 실습이 먼저 제시되고, 이를 따라하기 위한 코드 한 줄, 한 줄에 대한 설명이 충실하게 달려있다. 페이지가 쭉쭉 넘어간다. 다양한 실습 과정을 통해 Bookmark, Blog, Photo 앱 등의 기능을 개발하는 과정에서 장고의 구조에 자연스럽게 친숙해지는 것이 가장 큰 이점으로 보인다.
이 책은 장고 초보자의 중급자 도약을 목표로 한다. 실전에 유용한 쿡북(Cookbook) 등의 코드 스니펫 모음집은 아니기 때문에, 현업 파이썬 웹 프로그래머나 장고 경험이 있는 사람이 보게 되면 얻어갈 것이 많지 않을 것으로 보인다.
개발환경은 리눅스의 커맨드라인 작업 위주로 구성되어, 별도의 개발 툴을 세팅하지 않아도 실습하기가 용이하다. 저자의 말에 따르면 윈도우/리늑스/맥의 개발환경을 통일시키기 위해서 이렇게 적용했다고 한다.
가상환경(VIRTUAL BOX)과 클라우드(AWS, HEROKU)를 이용하는 방법도 자연스럽게 녹아있다. 이 책 한 권의 실습 따라 하기로 끝나는 게 아니라, 이후 파이썬 웹 개발 전반의 공부 방향성을 잡기 좋은 책이다.
<목차>
01장: 장고 개발의 기본 사항 및 가상 환경 사용하기
02장: 실전 프로그램 개발 - Bookmark 앱
03장: 실전 프로그램 개발 - Blog 앱
04장: 프로젝트 첫 페이지 만들기
05장: 기존 앱 개선하기 - Bookmark 앱, Blog 앱
06장: Blog 앱 확장 - Tag 달기
07장: Blog 앱 확장 - 댓글 달기
08장: Blog 앱 확장 - 검색 기능
09장: 실전 프로그램 개발 - Photo 앱
10장: 실전 프로그램 개발 - 인증 기능
11장: 실전 프로그램 개발 - 콘텐츠 편집 기능(Bookmark, Blog 앱)
12장: 실전 프로그램 개발 - 콘텐츠 편집 기능(Photo 앱)
13장: 장고 핵심 기능 - Model
14장: 장고 핵심 기능 - View
15장: 장고 핵심 기능 - Template
16장: 장고 핵심 기능 - Form
부록A: PyCharm 무료 버전 사용하기
부록B: 클라우드 서비스 활용(AWS, Heroku)
부록C: Django 3.0 버전에서 예제 실습