본문 바로가기
Book

[독후감] Django를 활용한 쉽고 빠른 웹 개발 파이썬 웹 프로그래밍(기본편, 실전편) - 김석훈 저

by 삽질하는큐 2017. 1. 31.

스타트업에서는 빠르게 웹 개발을 하기 위해서 여러가지 웹 프레임워크를 도입한다. node.js와 django 프레임워크를 고민하다가 django의 ORM 기능이 매력적이었기 때문에 장고를 선택하기로 했다. python이라는 언어를 익혀야 하고, 러닝커브도 다소 있다고 하지만, django의 경우에는 'doc만 따라가다 보면 못해도 절반은 간다'는 말을 본적이 있기 때문에 한 번 배워보기로 했다.


나는 새로운 기술을 배울 때 일단 책을 먼저 보고 공식 도큐먼트를 보는 것을 선호하는 편이기 때문에, python 언어 책 몇 권을 본 뒤, 장고 책을 보기로 했다. 시중에 나와있는 파이썬 책은 다소 양극화 되어있는 부분이 있다. 너무 쉽거나, 너무 어렵다. 중급자를 위한 책이 많지 않다. 파이썬 책이 다소 얇고 기본적인 알고리즘을 다루거나 Turtle 모듈로 게임만들기 같은 흥미 위주의 주제를 다루다 보니, 실제로 django를 배우기 위해서 필요한 개념이 부족한 상태로 장고로 넘어가기 쉽다.


일단 부딪혀보고 코드를 읽다보면 어느 정도 이해가 되기 때문에 파이썬 개념이 완벽하지는 않은 상태에서 장고로 들어가게 되었다. django 프레임워크를 두 권으로 나눠서 다루는 'Django를 활용한 쉽고 빠른 웹 개발 - 파이썬 웹 프로그래밍'을 보고 후기를 쓴다.


[기본편] 별점 3.5점


시중에 장고 책이 많지 않지만, 그나마 가장 잘 정리되어있는 책이라고 하기에 보았는데 솔직히 잘 맞지는 않았다. 일단 기본편은 예제가 기본 문서에 있는 예제와 너무 비슷했다. 심지어 클래스 이름까지 같았다. 공식 문서의 예제보다 다루는 내용이 너무 적었다. 프레임워크를 하나 다루는데 너무 얇은 책이라고 생각한다. 개발 책이 다들 너무 굵어서 문제이기도 하지만 다 그럴 만한 이유가 있기 때문이 아닐까. 


이 책의 설명 방식이 가장 맞지 않는 부분이었는데, 일단 대단원 단위로 프로젝트를 모두 코딩한 후, 각 줄에 주석을 달아 설명하며 실행해 보는 방식이다. 대개 다른 책에서는 몇 단계씩 나눠서 실행해봐가면서 코드의 의미를 굳이 설명하지 않아도 독자가 스스로 느낄 수 있도록 하는데 반해, 정신 없이 코딩하고 난 후에 다시 되돌아가서 어느 줄이 어떤 의미인지를 되짚어봐야 하는 불편한 방식으로 되어있다. 물론 이는 개인의 취향이겠지만, 집중력이 다소 부족한 나로서는 쉽지 않았다.


불평만 많았던 것 같지만, 기본적인 내용은 그래도 잘 다루고 있는 편이다. 장고의 주요 기능인 ORM, MTV 패턴, Form 기능 등을 잘 설명하고 있다. namespace에 대해서도 잘 정리되어 있는 부분이 있어서 잘 메모해 두고 가끔 보고 있다.


[실전편] 별점 2.8점


솔직히 기본편에서는 정말 기본을 다뤘을 것이라 예상하고 실전편을 보게 되었는데, 기대가 큰 만큼 실망도 크다. 일단 책에 불필요한 부분이 너무 많았다


기본편에서도 그랬지만, vi로 코딩을 하고 있는데, 챕터가 바뀔 때마다 프로젝트 폴더가 바뀌는데, 생각없이 따라치다보면 전혀 작동이 안 될 수 밖에 없는 구조다. 예제 코드의 경로로서 보기에는 괜찮지만, 초심자에게는 이해가 안 되는 부분일 것이다.


실전편에서는 어떠한 프로젝트를 예제로서 다룰까 했더니 생각보다 실전에 가깝지는 않았다. 기존에 기본편에서 나왔던 예제에서 다소 응용된 편이긴 하지만, 방대한 양에 비해서 내용은 많지 않다고 본다. 이 책 안에서도 다시 기본편과 확장편으로 나뉘는데, 이 책의 기본편은 위의 책 전체 예제와 비슷하다.

예제 확장편에서는 태그 기능도 달고, 댓글 게시판도 달고, 인증도 달긴 한다. 하지만, 태그 기능이나 댓글 게시판 같은 3rd party library에 대해서 찾는 법이나 설명이 별로 없이, 어떻게 하면 구현이 되는지를 설명하는 것이 다다. 댓글 게시판이 있어서 기대했는데, Disqus를 붙인 것이라서 더 내용이 없었다. 차라리 처음부터 끝까지 댓글게시판의 알고리즘을 구현하는 것이었다면 배울게 많았을 것 같다.


'장고 핵심 기능'이라는 부분에서는 콘텐츠의 나열이 대단히 사전식이다. 공식 문서를 잘 번역해서 정리한 것이라고 생각하면 의의가 있겠으나, 실질적으로 한 가지 작은 프로젝트를 더 만들어 보는 것이 더 효과적이라 하겠다.



정리하자면.. 

아직은 우리나라에 장고를 쉽고 효과적으로 배울 수 있는 서적이 많지 않아서 아쉬울 따름이다. 내 추천은 실전편으로 시작해도 무방하고, 기본편만 봐도 개념 이해는 충분하다. 두 개 다 볼 필요는 없다고 하겠다. 하나를 보고 여기저기 블로그를 보거나 교육 사이트나 유투브 강좌를 통해서 여러 가지 프로젝트를 만들어보고 노하우를 쌓는 것이 장고를 이해하는 지름길이라고 생각한다.





'Book' 카테고리의 다른 글

[독후감] 배민다움 - 홍성태 저, 북스톤  (0) 2017.01.16