aim***
2018-09-05

이 책은 웹 개발자라면 필수적으로 갖춰야 할 거의 모든 지식을 담고 있다. 웹 기본 기술부터 파이썬 웹 개발 시 기초 지식이 되는 표준 라이브러리를 배우고, 풍부한 실습 예제를 통해 Django의 핵심 기능을 배울 수 있다.

나는 java, C/C++, PHP를 다루던 개발자다. 파이썬은 회사에서 취미 삼아 웹 크롤링으로 툴을 만드는 정도로만 사용하고 있다. 다른 서적을 통해 파이썬으로 알고리즘을 학습하고 실습하기는 했지만 단순한 스크립트만 접해보았다.
이 책에서는 Django 프레임워크로 쉽고 빠른 웹 개발을 소개해준다.
웹 프로그래밍의 기초부터 알려주고 있는데 개발 업무를 몇 년이나 하고 있는데 이것저것 하나만 파지는 못하며 작업을 해온 터라 이런 정보가 지식을 다지는데 많은 도움을 주었다. 이런 지식은 크게 중요하지도 않고 외울 필요도 없는 부분일 수 있지만 알아가는 데에서 소소하게 뿌듯함을 느끼기도 한다.

URL 구성 항목의 경우 각각의 부분에 대한 명칭이 모호해서 일하다 궁금할 때면 구글링해서 검색해보긴 했지만 쉽게 익숙해지지 않았다. 본문에서는 URL 스킴, 호스트명, 포트 번호, 경로, 쿼리 스트링, 프라그먼트로 설명해주고 있다. 물론 구글링도 좋은 내용이 많지만 책으로 접하는 지식보다는 아무래도 질이 떨어지는 것 같다(는 선입견을 가지고 있다...)..

파이썬에서의 웹 라이브러리는 한눈에 파악하기 쉽게 설명해준다. 실무에서는 전체적인 그림을 보기보다는 예제로부터 시작해서 코딩을 빠르게 하면서, 그때그때 필요한 라이브러리만 import 하는 식으로 작업을 해왔다. 여기서는 하향식으로 설명해주고 있어서 개념을 잡는데 많은 도움이 되었다. 부록에서는 표준 라이브러리 말고 beautifulsoup이라는 외부 라이브러리도 소개해주는데, 얼마 전 IT 뉴스를 크롤링해서 회사에서 사용하는 메신저에 출력해주는 부분을 만들면서 저 라이브러리를 사용했었다. 실용성 부분에도 이 책에서는 잘 다뤄주고 있다는 생각이 들었다.
템플릿 개발 챕터에서는 요즘 많이 이슈가 되고 있는 보안에 관한 설명도 놓치지 않고 있다. Cross site request forgery 공격을 방지하는 방법이라든지 XSS 공격을 방지하는 방법에 대해 설명한다. 필요한 기능을 구현하다 보면 빠뜨리기 쉬운 부분이라서 아주 중요한 포인트라고 생각한다.
전반적인 개발의 흐름을 설명한 뒤에는 하나의 프로젝트로 실습할 수 있게 해준다. 완성 후에는 서버에 배포하는 법, 클라우드 환경에 배포하는 법을 알려준다.
apache, nginx와의 연동 법도 알려주는데, apache와 tomcat은 많이 연동해봤지만 nginx는 사용해보지 않았기 때문에 아직 실습하지 못한 부분은 nginx와 uwsgi를 연동해보려고 한다.

한가지 조금 신경 쓰였던 부분은 실습 예제에서 커맨드 창이 보기가 좀 어려웠다. 화면을 캡처한 듯한 이미지에서는 가독성이 좀 떨어지기도 했고, 중요한 부분에 하이라이트가 되어있으면 나중에 다시 볼 때 빠르게 찾아볼 수 있을 것 같다는 생각이 들었다.
파이썬으로 웹 프로그래밍을 한다면 초보자부터 다른 언어와 환경에 익숙한 개발자까지 많은 도움이 되는 책이라고 생각하고 추천하고 싶다.