점프 투 플라스크 서평을 마무리 하고 얼마 되지 않아 점프 투 장고 서평단을 진행하게 되었다.
– 감사합니다 편집자 P님 🙂 –
두 서저 모두 박응용님께서 쓰신 책으로써 서로 다른 프레임워크이지만 같은 기능을 만드는 내용을 담고 있어서 각 프레임워크 간의 차이를 쉽게 비교해 볼 수 있어서 좋은 시간이었다.
이 책에서는 Pybo라는 이름의 질문/답변 웹 서비스의 기능을 처음부터 끝까지 직접 코딩하며 구현하는 내용을 다루고 있으며 해당 기능은 실제로 저자님이 운영중이신 pybo.kr 에서 운영중이다.
난이도는 웹 서비스 개발에 초보적인 사람도 충분히 소화할 수 있는 정도의 난이도로써 html이나 css, javascript에 대해 전혀 모른다 해도 책의 내용대로 타이핑하면서 따라가기만 한다면 또 다른 나만의 pybo를 완성하고 AWS의 lightsale에 배포까지 할 수 있다.
(물론 프레임워크 특성 상 코드 몇 줄로 복잡한 기능들을 구현 해주는 매직들이 많이 숨어있어서 초심자의 입장에서는 따라 하니까 되긴 하는데 왜 이렇게 되는거지? 하고 찝찝한 마음이 들 수도 있다. 어쨋거나 이 책은 프레임워크를 속속들이 파헤치는 것이 목적이 아니라 전반적인 내용들을 이렇게 따라 하다 보니 내가 할 수 있구나! 하는 자신감을 심어주는 책이기에…)
파이썬 언어를 사용하는 프레임워크이니 파이썬에 대한 이해가 어느정도 있는 상태라면 좀 더 따라가기 쉬울 것이고, 웹개발의 기초, 서버에 대한 지식 여하에 따라 독자가 느끼는 난이도는 모두 다를듯 하다. (박응용님의 점프 투 파이썬 강추 ㅎㅎ)
책의 흐름은 여느 개발 서적이 그렇듯이 개발 환경 세팅부터 시작한다.
파이썬을 설치하고, 장고 개발 환경을 준비하고 프로젝트 생성부터 개발서버 실행까지를 1개의 장으로 구성했고, 2장부터는 본격적으로 프레임워크에 대해 알아본다.
2장에서 주소의 routing, 데이터 모델, 장고 Admin, 부트스트랩과 템플릿 등에 대해 설명하고 있는데 장고 Admin은 정말 놀라웠다. 생성한 모델에 대해서 별도의 기능 개발 없이 CRUD가 가능했다. 가령 게시판 모델을 만들었다면 별도의 작업 없이 장고 어드민에서 플라스크를 공부할 땐 느껴보지 못한 편의성이었고, Admin에서 생성한 모델에 데이터를 CRUD 기능을 별도의 개발 없이 이용 가능한게 정말 편리했다.
(검색을 해보니 플라스크도 flask-admin이라는게 존재했고, django-admin과 같은 기능을 한다.)
3장에서는 회원가입, 로그인 및 로그아웃 기능 추가, 게시판 기능의 점진적 고도화를 다루고 있다. 회원 인증 관련 기능은 django.contrib.auth 앱을 이용하여 간편하게 구현할 수 있다.
4장에서는 코드를 효율적으로 관리할 수 있게 해주는 Git의 사용법에 대해 간략히 다루고 있고, 내가 만든 서비스를 세상에 널리널리~ 알리기 위해 AWS lightsale 에 배포하는 법을 아주 친절하게 설명하고 있다. AWS 가입부터 lightsale 인스턴스 생성, 서버 운영환경 세팅 등을 자세히 알 수 있고 서버/개발 환경을 위한 세팅 분리, nginx를 이용한 reverse proxy, 로깅 적용 및 도메인 연결, PostgreSQL 적용까지 전체적인 배포/운영/관리 내용을 다루고 있다.
요즘같이 시간에 쫒기고 바쁜 시대를 살아가는 와중에 보다 빨리 웹 개발 및 배포에 대한 감을 잡고 싶은 독자에게는 가뭄에 단비 같은 책이라고 생각한다. 개인의 사전 지식에 따라 시간의 차이는 있겠지만 어쨋든 믿고 따라하면 어느새 내가 직접 타이핑 해서 개발 한 Pybo가 웹에 공개되어 있을테니 말이다. (저자가 Github를 통해 모든 소스코드를 제공하고 있지만 왠만하면 직접 타이핑 하기를 권한다. 머리는 잊어도 손은 기억한다…)
회원관리 + 게시판을 직접 구현할 수 있으면 대부분의 기능들을 구현 할 수 있다.
어쨋든 개발이란게 상태에 대한 분기 처리, 데이터 저장과 조회를 조합하여 원하는 기능을 구현하는 것이고, 아무리 복잡한 기능의 방대한 프로그램이라도 단순한 기능들이 점점 추가되어 그 덩치가 커져 가는것이니 말이다.
구매링크
교보문고 – http://www.kyobobook.co.kr/product/detailViewKor.laf?&barcode=9791163032106
예스24 – http://www.yes24.com/Product/Goods/96376772?OzSrank=1
인터파크 – http://book.interpark.com/product/BookDisplay.do?_method=detail&sc.prdNo=344781318
알라딘 – https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=258992405
반디앤루니스 – http://www.bandinlunis.com/front/product/detailProduct.do?prodId=4387306