메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

오래된 내 정보 속 옥의 티를 찾아라(2022.9.22~12.31) / 회원정보 UPDATE하고 선물도 받고!

파이썬 웹 프로그래밍(개정판)

Django(장고)로 배우는 쉽고 빠른 웹 개발

한빛미디어

집필서

절판

  • 저자 : 김석훈
  • 출간 : 2018-08-17
  • 페이지 : 368 쪽
  • ISBN : 9791162241042
  • 물류코드 :10104
  • 개정판정보 :개정판이 새로 출간되었습니다. 개정판 보기
초급 초중급 중급 중고급 고급
4.3점 (27명)
좋아요 : 81

Django 웹 프로그래밍 대표 도서, 『파이썬 웹 프로그래밍』의 최신 개정판!!

 

2015년 첫 출간 즉시, 장고 웹 프로그래밍 대표 도서로 자리매김한 『파이썬 웹 프로그래밍』, 기존 도서의 장점은 살리고, 파이썬 3.x 버전과 장고 2.x 버전 및 독자의 피드백을 반영하여 업그레이드된 개정판으로 돌아왔다.

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

또한 초급자를 고려하여 윈도우 환경에서 개발 환경을 구성한다. 하지만 운영 서버 배포 과정에서는 현업에 빠르게 적용할 수 있도록, PythonAnywhere를 이용한 가상 환경과 리눅스를 활용하며, 가장 널리 활용되는 Apache 웹 서버와 최근 각광받고 있는 NGINX 웹 서버를 모두 경험해 볼 수 있다. 

 

어떤 독자를 위한 책인가? 

  • 파이썬 기본기를 다진 초급 개발자
  • 다른 언어를 사용하다 파이썬으로 전환하려는 웹 개발자
  • 스타트업처럼 빠르게 웹 서비스를 구축하려는 조직의 개발자

750_상세_파이썬웹프로그래밍(개정판).jpg

 

 

김석훈 저자

김석훈

C 언어로 프로그램 개발을 시작했으며 지금은 자바와 파이썬으로 프로젝트를 진행하고 있다. KT ucloud 서비스의 백엔드 서버 개발 프로젝트에 참여해 자바로 고객의 폴더/파일에 대한 메타 정보 처리 엔진을, 파이썬으로 클라이언트 푸시 서비스를 개발했다. 또한 KT 인터넷 회선의 속도 측정 프로그램, 네트워크 장비에 대한 운용 관리 프로그램, 방대한 양의 트래픽 데이터 분석 프로그램을 개발한 바 있다. 개인적으로는 파이썬의 매력에 푹 빠져 될 수 있으면 파이썬으로 코딩하기를 즐기고 있다. 그 일환으로 요즘은 Django를 활용한 웹 프로그래밍, Django REST Framework를 활용한 JSON 연동, Pandas를 활용한 데이터 분석 등의 프로젝트를 진행하면서 파이썬의 활용도를 넓혀 가고 있다.

CHAPTER 01 웹 프로그래밍의 이해

__1.1 웹 프로그래밍이란?

__1.2 다양한 웹 클라이언트

__1.3 HTTP 프로토콜

__1.4 URL 설계

__1.5 웹 애플리케이션 서버

 

CHAPTER 02 파이썬 웹 표준 라이브러리

__2.1 웹 라이브러리 구성

__2.2 웹 클라이언트 라이브러리

__2.3 웹 서버 라이브러리

__2.4 CGI/WSGI 라이브러리

 

CHAPTER 03 Django 웹 프레임워크

__3.1 일반적인 특징

__3.2 장고 프로그램 설치

__3.3 장고에서의 애플리케이션 개발 방식

__3.4 애플리케이션 설계하기

__3.5 프로젝트 뼈대 만들기

__3.6 애플리케이션 개발하기 - Model 코딩

__3.7 애플리케이션 개발하기 - View 및 Template 코딩

 

CHAPTER 04 Django의 핵심 기능

__4.1 Admin 사이트 꾸미기

__4.2 장고 파이썬 쉘로 데이터 조작하기

__4.3 템플릿 시스템

__4.4 폼 처리하기

__4.5 클래스형 뷰

__4.6 로그 남기기

 

CHAPTER 05 실습 예제 확장하기

__5.1 새로운 애플리케이션 만들기

__5.2 프로젝트 첫 페이지 만들기

__5.3 polls 애플리케이션 – 클래스형 뷰로 변경하기

 

CHAPTER 06 Django의 웹 서버 연동 준비

__6.1 장고의 wsgi.py 파일

__6.2 장고의 WSGI 인터페이스

__6.3 운영 서버 적용 전 장고의 설정 변경 사항

 

CHAPTER 07 Cloud 서버에 Django 배포하기

__7.1 PythonAnywhere 사이트에 가입하기

__7.2 장고 소스 가져오기

__7.3 리눅스 명령으로 압축 풀기

__7.4 가상 환경 만들기

__7.5 PythonAnywhere 서버에서 장고 설정 변경하기

__7.6 PythonAnywhere 웹 서버 설정하기

__7.7 지금까지 작업 확인하기

 

CHAPTER 08 Apache 웹 서버와 연동

__8.1 장고 설정 변경

__8.2 mod_wsgi 확장 모듈

__8.3 mod_wsgi 설치

__8.4 내장 모드로 실행

__8.5 데몬 모드로 실행

 

CHAPTER 09 NGINX 웹 서버와 연동

__9.1 장고 설정 변경하기

__9.2 NGINX 설치

__9.3 NGINX 설정

__9.4 uWSGI 설치

__9.5 uWSGI 설정

__9.6 지금까지 작업 확인하기

 

APPENDIX A 외부 라이브러리 requests, beautifulsoup4 맛보기

__A.1 외부 라이브러리 설치

__A.2 urllib.request 모듈 예제 재작성

__A.3 http.client 모듈 예제 재작성

 

APPENDIX B 장고의 데이터베이스 연동

__B.1 MySQL 데이터베이스 연동

__B.2 PostgreSQL 데이터베이스 연동

__B.3 Oracle 데이터베이스 연동

 

APPENDIX C HTTP 상태 코드 전체 요약

 

APPENDIX D PyCharm 무료 버전 사용하기

__D.1 PyCharm Community Edition 설치하기

__D.2 PyCharm 초기 설정하기

__D.3 파이썬 가상 환경 구성하기

__D.4 Django 패키지 설치하기

__D.5 터미널 창에서 Django 프로젝트 뼈대 만들기

__D.6 테스트를 위한 runserver 실행하기

__D.7 외부 프로젝트를 임포트해 사용하기

__D.8 임포트한 프로젝트 runserver 실행하기

파이썬에 한계란 없다! 

Django를 통해 웹 프로그래밍까지 접수하자

 

이제는 파이썬 웹 개발이다

파이썬이라면 웹 애플리케이션 개발도 쉽고 빠르게 끝낼 수 있다. 이 책을 통해 웹 개발에 필요한 표준 라이브러리와 범용성 높은 Django를 사용해보자.

 

처음 파이썬 웹 프로그래밍을 시작한다면 Django를 적극 추천한다

Django 프레임워크는 웹 프로그래밍에 필요한 개념 정리가 뛰어나다. 또한 빠르게 웹을 개발할 수 있도록 프로그래밍 뼈대 생성, 데이터베이스 연동, Admin 관리 등을 일사천리로 해결해준다.

 

Django로 시작하는 웹 프로그래밍 세계에 푹 빠져보자

이 책은 웹 개발자로서 갖춰야 할 웹 기본 지식부터 파이썬 웹 개발을 위한 웹 표준 라이브러리까지 알려준다. 또한, 이 책의 핵심인 Django의 주요 기능과 웹 서버 연동까지, Django를 활용하여 웹을 개발하는 데 필요한 거의 모든 것을 알 수 있다.

 

이 책의 특징

  • 웹 개발 기초 지식을 배우고 파이썬 웹 표준 라이브러를 활용할 수 있다.
  • 파이썬 웹 프레임워크 중 범용성이 가장 높은 Django를 제대로 배울 수 있다.
  • MVT(Model, View, Template) 방식에 따라 충분한 설명과 실습으로 웹 애플리케이션 개발 방식과 원리를 이해할 수 있다.
  • 클라우드 서버 배포 및 Apache, NGINX 웹 서버 연동까지 한방에 끝낼 수 있다.

 

이번 시간에는 파이썬 웹 프레임워크를 주도하고 있는 장고(Django) 프레임워크를 다룬 <파이썬 웹 프로그래밍>을 살펴보겠습니다. <파이썬 웹 프로그래밍>의 초판은 2015년도에 출간했었는데, 많은 부분을 개선하여 2018년에 개정하였습니다. 개정판에서는 파이썬 3.x 버전과 장고 2.x 버전으로 예제가 작성되어 있습니다. 

 

이 책은 파이썬 기본서가 아닙니다. 이미 파이썬의 기본 문법을 학습한 분이 파이썬을 활용하여 웹 프로그래밍을 학습하고자 할 때, 도움이 되는 책입니다. 이 책을 리뷰하는 데 도움을 주신 한빛미디어 관계자님께 깊은 감사의 말씀을 전합니다.

 

이 책에서 다루는 내용은?

<파이썬 웹 프로그래밍>은 장고 프레임워크의 입문서라고 볼 수 있습니다. 최신 버전으로 개정했기에 처음 접하시는 분들에게 도움을 줄 수 있을 것 같습니다. 장고 프레임워크를 더 자세히 학습하고 싶다면, 공식 홈페이지에서 제공하는 문서를 참조하는 것이 좋을 것 같습니다. 공식 홈페이지에서 제공하는 문서는 다음 링크에서 확인할 수 있습니다.

 

이 책의 구성은 웹 프로그래밍에 대한 개념 설명부터 장고 프레임워크의 주요 기능 소개, 장고 프레임워크를 이용하여 웹 프로그램을 만드는 방법, 대표적인 웹 서버와 데이터베이스 연동으로 구성되어 있습니다. 전체적인 구조는 나쁘지 않아 보이지만 실제로 읽어보면 아쉬움이 남습니다. 지면 관계상 자세한 설명이 어려웠겠지만, 장고 프레임워크 입문서로 보기에는 불친절하게 느껴지는 부분이 있었습니다. 

 

<파이썬 웹 프로그래밍>을 통해 만들어보는 예제 프로젝트의 결과물도 조금 아쉽습니다. 입문서라면 독자가 장고 프레임워크에 흥미를 유발할 수 있도록 어떤 장치가 필요한데, 그 부분이 조금 부족한 것 같습니다. 또한 책의 편집 상태에 대한 만족도도 아쉽습니다. 전체적으로 섬세함이 조금 아쉽게 느껴집니다. 

 

앞에서 너무 아쉬운 점만 다룬 것 같은데, 이 책의 장점은 최신 버전의 파이썬과 장고 프레임워크를 다룬다는 점입니다. 그리고 이 책의 대안도 많지 않습니다. 또한, 책에서 웹에 대한 원리와 기본적으로 웹 프로그래밍을 할 때 알아야 할 지식을 전달하는 점은 높은 점수를 주고 싶습니다. 아이러니하게도 이 부분 때문에 장고 프레임워크에 대한 설명이 조금 아쉽게 느껴지기도 합니다. 

 

마치면서...

국내에 장고 프레임워크를 다룬 책이 많지 않은 상황(전 세계적으로 인기를 끌고 있는 의 국내 번역서의 품질이 매우 낮아 장고 프레임워크를 다룬 서적이 별로 없는 것도 현실입니다)에서 <파이썬 웹 프로그래밍>은 장고 프레임워크의 맛을 보길 원하시는 분에게 도움이 될 것 같습니다. 개인적으로 만족도가 높은 책은 아니지만, 장고 프레임워크를 처음 접하시는 분들에게는 소소한 도움을 줄 수 있는 책입니다.

 

 

일명 장고(Django) 빨간책!
개정판이 나온지는 좀 됐지만 이제야 보게 됐습니다.
초판에 비해 보강된 내용이 상당하네요. 
일단 장고 2.0 에 맞춰서 코드가 전면 수정되었고
Oracle, MySQL DB 연동과, Apache, Nginx 에 배포하기, pythonanywhere 에 배포하기 등의 배포 부분이 추가 되었습니다. 
책을 따라 투표 시스템과, 간단한 도서 관리 시스템을 만들고 나면 웹프로젝트의 기초 지식과 장고 프로젝트의 전반적인 개발 흐름 이해하고 간단한 애플리케이션을 만들어 배포까지 할 수 있을 것입니다.

파이썬을 배웠고, 웹 프로젝트를 처음 시작하는 분들께 추천드립니다!

1. 들어가며

인공지능(AI) 이야기가 나오면 항상 빠지지 않고 나오는 언어 중 하나가 파이썬(Python)이다. 파이썬(Python)이 인기를 끄는 이유는 생산성(productivity) 때문이다. 생산성이 높다는 말은 배우기 쉽고 코드 몇 줄로 많은 일을 할 수 있다는 말이다.

 

실제로 이 글을 쓰는 본인도 Selenium Web Driver를 통해 간단한 웹 자동화(automation) 도구를 만들 때 파이썬(Python)을 사용했는데 자바(Java)보다 훨씬 편하게 프로그래밍할 수 있었다. 그러나, 사실 나는 파이썬(Python)이 이름 때문에 싫다. 나는 뱀이 싫다.

파이썬(Python)은 '피톤'이라는 이름으로 알려진, 고대 그리스 신화에 나오는 거대한 뱀의 이름이다. '피톤'은 Python을 고대 그리스어로 읽은 것이며, 영어를 그대로 읽으면 '파이썬'이 된다

이번에 리뷰하는 책은 한빛미디어에서 출간한 이다. 파이썬 웹 프레임워크인 장고(Django)는 제목 그대로 쉽고 빠르며 안전한 웹 서비스를 구축할 수 있도록 프로그래머를 돕는다.

프로그램을 만들기 위해서는 컴퓨터와 대화를 해야 한다. 그리고 대화를 하기 위한 언어를 프로그래밍 언어라고 한다. 이러한 프로그래밍 언어에는 파이썬(Python), 자바(Java), C, C++, C#, Node.js, JavaScript 등이 있다. 각 언어는 기본적으로 OS에서 제공하는 기능을 사용하기 위한 라이브러리, 수많은 학자들이 연구했던 자료구조와 알고리즘 등을 구현한 라이브러리 등을 제공한다. 그리고 이러한 라이브러리를 활용해서 어떤 특정한 목적에 맞는 종합선물세트를 만드는데 이러한 것을 프레임워크(Framework)라고 부른다. 파이썬의 장고(Django)웹 사이트를 빠르게 만들 수 있는 프레임워크(Framework)로 인스타그램(Instagram), 스포티파이(Spotify), 드랍박스(Dropbox) 등에서 이를 활용하고 있다.

 

2. 구성 및 특징

이 책은 아래와 같은 구성을 갖는다.

  • 웹 프로그래밍 소개
  • 파이썬 웹 표준 라이브러리 소개
  • Django 웹 프레임워크 개론
  • Django 웹 프레임워크 심화
  • 웹 애플리케이션 배포

웹 프로그래밍을 하다보면 HTTP, 웹 서버, WAS, 웹 클라이언트, CGI 등 생소한 용어가 갑자기 튀어나오기 마련인데 이러한 용어를 굉장히 쉽게 설명한다. 이 책에서 가장 잘 쓰여진 부분이라고 생각하기 때문에 웹 프로그래밍에 대한 이해를 얻고자 한다면 이 책의 앞 부분을 읽어보기 바란다.

 

3. 기억하고 싶은 글귀

웹 프레임워크는 사용자 프로그램과 저수준의 http.server 라이브러리 중간에 위치하여 웹 서버의 애플리케이션 개발을 좀 더 편리하게 해주면서, 표준 라이브러리의 기능을 확장해주는 역할을 하고 있습니다. 물론 웹 프레임워크는 파이썬의 표준 라이브러리를 사용하여 개발되었습니다. 만일 여러분이 웹 프레임워크에 관심이 있어, 소스를 분석해보면 이를 확인할 수 있을 것입니다. 웹 프레임워크를 직접 개발하는 고급 프로그래머라면 http.server 모듈에서 제공하는 API를 다루겠지만, 보통의 경우라면 웹 프레임워크에서 제공하는 API를 이용하여 웹 서버 애플리케이션을 개발하는 것이 대부분입니다. - 47쪽

 

#

 

파이썬에서는 WSGI(Web Server Gateway Interface) 규격이 정의되어 있습니다. 파이썬 애플리케이션을 실행하고자 하는 웹 서버는 이 규격을 준수해야 합니다. WSGI는 웹 서버와 웹 애플리케이션을 연결해주는 규격으로, 장고(Django)와 같은 파이썬 웹 프레임워크를 개발하거나, 이런 웹 프레임워크를 아파치(Apache)와 같은 웹 서버와 연동할 때 사용합니다. - 76쪽

 

#

 

장고(Django)는 현재 가장 많이 사용되는 파이썬 웹 프레임워크입니다. 2003년 로렌스 저널-월드신문(Lawrence Journal-World Newspaper)을 만들던 웹 개발팀의 내부 프로젝트로 시작됐으며, 2005년 오픈소스 프로젝트로 공개되었습니다. 그리고 구글의 웹 앤진에서 장고를 사용하면서 많은 사람들이 사용하게 되었고, 현재는 파이썬의 대표적인 웹 프레임워크로 자리매김하고 있습니다. - 85쪽

 

#

 

웹 사이트를 설계할 때 가장 먼저 해야 할 일은 프로그램이 해야 할 일을 적당한 크기로 나누어서 모듈화하는 것입니다. 이 경우, 웹 사이트의 전체 프로그램 또는 모듈화된 단위 프로그램을 애플리케이션이라고 합니다. 즉, 프로그램으로 코딩할 대상을 애플리케이션이라고 부르는 것입니다.

그러나 장고에서는 용어를 사용할 때, 애플리케이션의 개념을 웹 서버 개발 측면에서 좀 더 구체화하고 있습니다. 웹 사이트에 대한 전체 프로그램을 프로젝트(Project)라 하고, 모듈화된 단위 프로그램을 애플리케이션(Application)이라 부르고 있습니다. 즉, 애플리케이션 프로그램들이 모여서 프로젝트를 개발하는 개념입니다. - 94쪽

 

#

 

웹 프로그램 개발 시 일반적으로 언급되는 MVC(Model-View-Controller) 패턴이란 데이터(Model), 사용자 인터페이스(View), 데이터를 처리하는 로직(Controller)을 구분해서 한 요소가 다른 요소들에 영향을 주지 않도록 설계하는 방식입니다. 이런 방식으로 개발을 진행하면 UI 디자이너는 데이터 관리나 애플리케이션 로직에 신경 쓰지 않고도 화면 UI를 설계할 수 있고, 로직이나 데이터를 설계하는 개발자도 화면 디자인은 디자이너에게 맡기고 자신의 설계 및 개발 업무에만 집중할 수 있게 됩니다. 파이썬도 이러한 MVC 개념을 그대로 받아들였는데, 용어는 다르게 사용하고 있습니다.

장고 프레임워크에서는 View를 Template, Controller는 View라고 표현하며, MVC를 MVT(Model-View-Template) 패턴이라고 합니다. 모델(Model)은 데이터베이스에 저장되는 데이터를 의미하는 것이고, 템플릿(Template)은 사용자에게 보여지는 UI 부분을, 뷰(View)는 실질적으로 프로그램 로직이 동작하여 데이터를 가져오고 적절하게 처리한 결과를 템플릿에 전달하는 역할을 수행합니다.

예를 들면, 모델은 블로그의 내용을 데이터베이스로부터 가지고 오거나 저장, 수정하는 기능을, 뷰는 버튼을 눌렀을 때 어떤 함수를 호출하며 데이터를 어떻게 가공할 것인지 결정하는 역할을, 템플릿은 화면 출력을 위해 디자인과 테마를 적용해서 보여지는 페이지를 어떻게 연결되는지를 보여주고 있습니다. - 95쪽

 

#

 

ORM(Object-Relational-Mapping)은 쉽게 표현하면 객체와 관계형 데이터베이스를 연결해주는 역할을 합니다. 기존의 웹 프로그래밍에서 데이터베이스에 접근하려면 직접 SQL 언어를 사용해 데이터를 요청해야 했고, 개발자는 SQL 및 데이터베이스에 접근하기 위한 드라이버 API 등에 대해 잘 알고 있어야 했습니다. 하지만 ORM에서는 데이터베이스 대신에 객체(클래스)를 사용해 데이터를 처리할 수 있습니다. 객체를 대상으로 필요한 작업을 실행하면, ORM이 적절한 SQL 구문이나 데이터베이스 API를 호출해서 처리해주기 때문입니다. 물론 원한다면 직접 SQL을 사용해 데이터베이스의 데이터를 얻어올 수도 있습니다. - 96쪽

 

#

 

장고에서는 URL 패턴으로부터 파라미터를 추출하고 그 파라미터로 데이터베이스를 검색하여 해당 데이터를 템플릿 시스템에서 랜더링하는 기능처럼, 웹 프로그램 개발 시 공통적으로 사용할 수 있는 로직을 이미 개발해 놓고 기본 클래스로 제공하고 있기 때문에 이를 상속받아 사용하면 됩니다. 장고에서는 이렇게 공통된 로직을 미리 개발해 놓고 제공하는 뷰를 제네릭 뷰(generic view)라고 부릅니다. - 206쪽


또한 개념을 쉽게 이해할 수 있는 도표가 적절히 포함되어 학습에 큰 도움이 되었다.

기술의 발전에 따른 웹 서버 기술의 변화
파이썬 웹 표준 라이브러리 구성
파이썬 Web Server Gateway Interface(WSGI) 처리 순서
장고(Django)의 WSGI 인터페이스
장고의 MVT(Model, View, Template) 패턴
 

4. 아쉬웠던 점

장고(Django)를 처음 접하는 사람으로서 평을 하자면 이 책은 감탄으로 시작해서 아쉬움으로 끝나는데 여기에는 몇 가지 이유가 있다.

 

첫째, 뒤로 갈수록 불친절하다. 예를 들어, 애플리케이션을 Nginx에 배포하는 317쪽을 살펴보면 include /home/shkim/pyBook/ch9/www_dir/uwsgi_params 라는 항목이 나오는데 책에서는 이 파일에 대한 설명이 없다. 물론, 예제 소스에 포함된 코드라고 항변할 수 있겠으나 독자의 집중력을 흐트러뜨리기 때문에 바람직한 구성은 아니다. 결국 구글링을 통해 아래 파일을 직접 추가해야 했다. 본인은 https://django.ryanami.com 에 책의 실습 예제를 성공적으로 배포 했지만, 설명이 매끄럽지 않기 때문에 이 부분에서 좌절한 독자들이 있을 것 같다.

Nginx 환경변수와 uWSGI 환경변수를 연결하기 위한 설정파일

둘째, 편집에 아쉬움이 있다. 부록 D의 PyCharm 무료 버전 사용하기의 스크린샷은 너무 어두워서 읽을 수가 없다. 통합환경(Integrated Development Environment, IDE)의 테마를 White 계열로 변경해서 포함했어야 한다. 아래 이미지에서 보듯이 읽기 어렵다.

사진 화질이 나쁜 게 아니라 인쇄 상태가 좋지 않다

그리고 아래 사진을 보면 알 수 있듯이 어떤 목적을 달성하기 위해 필요한 작업을 순서대로 나열하는데 단순히 '>' 로 표현할 게 아니라 순서를 의미하는 숫자 등으로 표시 했다면 더 좋았을 것 같다. '>' 는 커맨드 창의 Prompt를 보여주기 위한 것 같다. 그런데 그게 큰 의미가 있을까? 일반 유저를 나타내는 $, 루트를 의미하는 # 라면 모를까.

순서가 있다면 앞에 순서를 명시해주면 좋지 않았을까?

셋째, 책을 읽은 독자가 앞으로 어떻게 학습해야 할지 알려주지 않는다. 한 권의 책으로 어떤 지식을 제대로 습득 하기에는 어려움이 있다. 장고(Django)에 대해 전문가인 저자의 경험을 기반으로 앞으로 어떻게 학습하면 좋을지 로드맵을 제시했으면 어땠을까? 예를 들어, 참고할 웹사이트나 도서를 추천한다면 장고(Django) 걸음마 수준의 본인 같은 독자에게 큰 도움이 되었을 것이다. 물론, 할 사람은 알아서 다 한다. 그래도 알려주면 더 좋지 않나?

 

끝으로 책의 실습 예제를 따라한 후 얻게 되는 결과물이 아쉽다. 좀 더 예쁜 UI에 실용적인 결과물을 만드는 걸 목표로 했다면 책을 모두 읽은 후 얻게 되는 뿌듯함이 훨씬 더 많았을 것 같다. 참고로 책의 예제는 Django 공식 사이트에서도 확인이 가능하다. 개인적으로는 개인 블로그를 만드는 장고걸스 튜토리얼이 훨씬 좋았다.

 

5. 어색한 문장 또는 오탈자

지금까지 리뷰했던 책 중 어색한 문장이나 오탈자가 가장 적은 책이었다. 아래는 의미 전달은 되나 일부 어색한 내용이 있어 아래와 같이 수정해봤다.

(242쪽 표 5-6) Author 테이블 데이터에 Publication Date 라는 컬럼이 존재하는데 실제로는 존재하지 않으므로 제거되어야 한다.

 

#

 

(268쪽 마지막 문단 - 원문) application 객체는 아파치와 같은 운영 웹 서버뿐만 아니라, 장고의 개발용 웹 서버인 runserver에서도 같이 사용하는 객체입니다. 다만 다른 점은 application 객체의 위치를 지정하는 방식입니다. 아파치나 NGINX/uWSGI는 설정 파일에서 지정하고, 즉 httpd.conf 설정 파일의 WSGIScriptAlias 지시자 또는 uwsgi.ini 설정 파일의 module 항목으로 지정하고, 개발용 runserver에서는 settings 모듈(mysite/settings.py)의 WSGI_APPLICATION 변수로 지정합니다.

 

(268쪽 마지막 문단 - 제안) application 객체는 아파치와 같은 운영 웹 서버뿐만 아니라, 장고의 개발용 웹 서버인 runserver에서도 같이 사용하는 객체입니다. 지금까지 예제에서 사용한 runserver의 경우에는 application 객체를 settings 모듈(mysite/settings.py)의 WSGI_APPLICATION 변수로 지정했습니다. 그러나 아파치나 NGINX 같은 웹 서버는 application 객체의 위치를 설정 파일에서 지정합니다. 예를 들어, 아파치의 경우에는 설정 파일(httpd.conf)에서 WSGIScriptAlias 지시자로 설정하고, Nginx의 경우에는 웹 서버의 설정 파일이 아니라 파이썬 코드를 실행하는 Web Application Server(WAS)인 uWSGI 서버의 uwsgi.ini 설정 파일에서 지정합니다.

 

6. 총평

국내 유일의 장고(Django) 책인 것으로 보인다. 한국어로 쓰여진 책이고 저자와 출판사가 꼼꼼히 검수를 해서 문장이 잘 읽히고 깔끔하다. 물론, 다소 설명이 장황한(verbose) 부분도 있는 게 사실이지만 개인적으로는 설명이 딱딱하지 않고 저자와 대화하는 듯한 느낌이 들어서 더 좋았다.

 

인터넷으로 정말 대부분의 정보를 찾을 수 있지만 그럼에도 불구하고 사람들이 책을 사는 이유는 체계화되고 검증된 자료를 편하게 읽고 싶어서다. 은 여기서 말한 구매 이유에 충분히 만족하는 책이다.

 

만약 당신이 장고(Django)를 처음 접한다면 이 책은 훌륭한 출발점이 될 것이다. 나는 이 책을 통해 장고(Django)를 처음 접했는데 저자가 쉽게 여러 가지 개념을 설명해서 빠르게 개념을 읽힐 수 있었다. 장고를 배우고 싶다면 이 책을 읽어볼 것으로 추천한다.

Django로 배우는 쉽고 빠른 웹개발 파이썬 프로그래밍.jpg

 

웹 프로그래밍을 많이 해본 사람이 만들었다고 느껴지는, 있어야 할 건 다 있는 프레임워크


많은 프레임워크가 그렇겠지만 프레임워크가 만들어지기 앞서 다양한 경험과 비슷하면서도 다른 모습으로 지나온 시간이 있었을거라 생각합니다.


장고를 얘기하면서,  예제를 통해 설명하고 있지만, 단순히 기능 설명을 위한 예제가 아니라 웹 사이트 만든 뒤 관리하려면 꼭 있어야 하는 기능과 없으면 내내 아쉽지만 구현하려면 번거로운 기능이 이미 구현되어 있는 것을 보여주기 때문입니다.



곳곳에서 기발한 아이디어가 구현되어 있는 기능을 만날 때마다 장고 프레임워크를 알아가는 재미를 더 합니다.


비슷한 생각과 접근법의 다른 프레임워크도 있을 수 있겠다고 짐작해 볼 수 있습니다.

장고를 알고 나면 다른 프레임워크에 접근하기도 쉬울거라는 생각이 듭니다. 사용하는 용어는 조금 다를 수 있지만 적용한 아이디어나 개념은 유사할 테니까요.


내용은 크게 세 부분으로 나눌 수 있습니다.

1부는 웹 프로그래밍 자체를 이해하기 위한 내용으로 1, 2장이 해당합니다.

2부는 장고 프레임워크로 어떻게 웹 애플리케이션을 만들고 다듬는지 3, 4, 5장에서 설명합니다.

3부는 웹 애플리케이션을 사용할 수 있도록 서버와 연동하기 위해 알아야 할 것들로 6, 7, 8, 9장입니다.



1장은 웹 프로그래밍이 브라우저로 볼 수 있는 웹 사이트를 만드는 것만이 아니라는 걸 알려줍니다.

HTTP, URL, 웹 애플리케이션 서버, 웹 프로그래밍을 하려면 알고 있어야 하는 내용들을 간략하게 알려줍니다. HTTP 나 특정 애플리케이션 서버 만으로도 책 한 권 분량은 거뜬히 나올 만큼 내용을 가지고 있지만 깊이 들어가는 건 각자에게 맡기고, 장고를 사용하려면 알아야 할 정도의 내용이 있습니다. 그렇지만, 웹 프로그래밍을 한다면 알고 있어야 할 내용이기에 장고를 사용하지 않더라도 알아두어야 할 내용입니다.


2장에서는 파이썬에서 쓸 수 있는 웹 표준 라이브러리를 알려줍니다. 장고를 사용하기에 앞서 파이썬으로 웹 프로그래밍 하는 방식을 이해하고자 합니다. 웹 사이트 사이에도 다양한 정보를 주고 받는 경우가 많기 때문에, 하나의 웹 프로그램이 다른 웹 프로그램을 사용하는 클라이언트가 될 때는 웹 라이브러리를 사용해야 하기 때문입니다.


3장, 우선 설치부터 작동하는 페이지까지 웹 애플리케이션을 만드는 전체 사이클을 따라가며 보여줍니다. 장고의 기본이 되는 애플리케이션 개발 방식과 프로젝트 뼈대를 알 수 있습니다.


4장은 장고의 핵심 기능이자 웹 애플리케이션을 만들면서 꼭 만나게 되는 기능을 장고가 어떻게 풀어가는지 보여줍니다. 주 내용은 데이터 조작, 템플릿 활용, 폼 처리, 클래스 뷰, 로그 기록입니다.


마지막으로 5장에서는 3장에서 만든 예제를 좀 더 실전에 가까운 형태로 개편하는 작업을 합니다. 프로토타입을 만들어 애플리케이션을 이해한 다음 실제 구현을 위해 다듬는 과정과 비슷합니다.



개발 환경에서 애플리케이션 만들었다면 이를 실제 사용할 수 있도록 웹 서버가 돌아가는 환경에 적용해야 합니다. 클라우드 서비스에서 제공하는 웹 서버나 독립된 웹 서버에 애플리케이션을 올려야 합니다.


6장에서 웹 서버와 연동하는 원리를 설명하고, 7장에서 클라우드 서버에 배포하는 방식을, 8, 9장에서는 아파치 웹 서버, nginx 웹 서버와 어떻게 연동하는지 알려줍니다.

실제 웹 서버에 애플리케이션을 연결하기 위해 필요한 내용들입니다.



웹 프로그래밍이 처음이라면 웹 프로그램이 갖추어야 할 것들을 알아가는데 많은 도움이 되리라 생각합니다.

경험이 있으신 분들이라면 읽는 중간중간 자신의 경험이 떠오르는 부분을 만나는 즐거운(?) 경험과 함께 장고를 좀 더 알고 싶다는 생각이 드실듯 합니다.



 

이미 한 발 들여 놓으셨습니다.


2019년 2월 첫날.

 

이번엔, 파이썬 웹 프로그래밍에 관한 책이다.

 

웹 프로그래밍이어서라기보단, 파이썬 웹 프로그래밍이었기에, 그리고 그냥 파이썬 웹 프로그래밍이라기보단, 장고로 개발하는 책이었기에 이 책을 선택하게 되었다.

 

사실 책 자체의 주제는 특별할 것은 없어 보였지만, 개정판이기에 최신의 내용을 담겨 있을 것이라는 기대감으로 시작하기도 하였다.

 

책 이름은 "파이썬 웹 프로그래밍(개정판): Django(장고)로 배우는 쉽고 빠른 웹 개발" 이다.

 

 

 

표지로는 파이썬을 의미하는 뱀 그림이 나왔다.

 

특별히 이 개정판의 특징을 아래에 크게 표시해놓았는데, 파이썬 3.x, 장고 2.x 버전 반영이다.

 

또한 Windows 환경 개발 환경 구성, Linux 환경 웹 서버 연동이 특징이다.

 

최신이라는 것. 장고 버전은 잘 모르겠지만, 파이썬의 버전은 3.x로 마이그레이션 할 필요가 있는 시대이기 때문에 의미가 있다고 생각했다.

 

 

 

초판 발행은 무려 약 4년전. 대신 개정판은 약 6개월전 발행이었다.

 

그래도 개정판이 나오고, 그것도 2쇄까지 나온것을 보면 나름 적잖이 많이 팔렸나보다.

 

 

 

 

책의 초반부이다. 환경에 대한 설명이 나오는데, 환경 설명은 매우 마음에 들었다.

 

2018-2019년을 반영하는 버전들이기 때문이다.

 

물론 파이썬은 3.7 버전이 최신이긴 하지만, 입문자가 진행하기에 3.6과 3.7은 큰 문제가 되지 않는 상황이다.

 

그 밖에도 안정화된 최신버전인 윈도우즈 10 도입은 매우 잘한 것 중 하나라고 생각한다.

 

 

 

목차는 다음과 같다.

 

총 9개의 챕터, 4개의 부록으로 되어있다.

 

CHAPTER 01. 웹 프로그랭의 이해

CHAPTER 02. 파이썬 웹 표준 라이브러리

CHAPTER 03. Django 웹 프레임워크

CHAPTER 04. Django의 핵심 기능

CHAPTER 05. 실습 예제 확장하기

CHAPTER 06. Django의 웹 서버 연동 원리

CHAPTER 07. Cloud 서버에 Django 배포하기

CHAPTER 08. Apache 웹 서버와 연동

CHAPTER 09. NGINX 웹 서버와 연동

 

APPENDIX A. 외부 라이브러리 requests, beautifulsoup4 맛보기

APPENDIX B. 장고의 데이터베이스 연동

APPENDIX C. HTTP 상태 코드 전체 요약

APPENDIX D. PyCharm 무료 버전 사용하기

 

 

이다.

 

제목 중 Django를 표현하기 위해 챕터에서는 영어를 사용했는데, 부록에서는 한글로 적혀있다. 좀 특이하다고 생각했다. 중간에는 섞어쓰는건 괜찮아도 제목에서는 둘 중하나로 통일하는것이 좋아보였을 듯 싶다.

 

또한, 전체적인 챕터의 순서가 한눈에 들어오는 느낌은 아니라 아쉬웠다.

 

 

 

챕터의 간지이다. 여백의 미 한껏 살렸다.

좀 심심하기는 하다.

 

 

 

챕터 내의 소제목 나열이다.

 

이 챕터의 목표와 이루고자 하는것이 있으면 좋았을텐데, 이 역시 여백의 미가 채운 느낌이었다.

 

 

 

웹 프로그래밍에 대한 간략한 이해를 돕기 위한 도입부다.

특별할 것은 없다.

 

 

 

URL 설계에 대한 내용이 나온 부분이다.

구성 항목에 대해 영문 표현을 한글로 적은 부분들인데, 대부분은 괜찮았지만, '프라그먼트'는 영어로 어떻게 썼는지가 궁금해졌다. Fragment인가? 이럴 가능성이 있는 경우 한글과 함께 영문을 같이 곁들이면 좋을 것 같다.

 

 

 

커맨드라인 중심의 예제가 나오는 부분이다.

 

C:RedBook을 표시하면서 나온 부분때문에 살짝 헷갈리긴 했다. 전반적인 내용이 많기 때문에 입력하는 부분은 하이라이트 해주었다면 좀 더 보기 쉬었을 것 같다. 현재는 인풋과 아웃풋이 동일한 텍스트 서체와 컬러로 되어있다.

 

또한 이 예제의 내용에서 중요한 부분만 강조해도 좋았을 것 같다.

 

 

소스의 스크립트에 대한 내용이다.

 

노트패드로 작성했다는 것을 강조하고 싶은 내용이었을지는 모르나, 개인적으로는 위의 세줄이 미스라고 생각 되었다.

차라리 소스 내용만 박싱해서 들어있고, 이 소스의 상대경로를 위에 적어주는것이 깔끔해 보인다.

 

 

 

 

프로젝트의 뼈대가 나오는 부분이다.

 

이러한 방식으로 나와있다.

 

 

 

이 책을 추천하는 사람은 다음과 같다.

 

1. 파이썬 기본기를 다진 초급 개발자

2. 다른 언어를 사용하다 파이썬으로 전환하려는 웹 개발자

3. 스타트업처럼 빠르게 웹 서비스를 구축하려는 조직의 개발자

 

 

즉, 완전 초보 입문자를 위한 책은 아니다.

 

 

하지만, 그렇다고 구성까지 목표를 명확하게 알 수 없게 해놓은것은 매우 아쉬운 부분이라고 생각되었다.

 

차라리, 웹 서비스에 대한 설명을 초반에 줄이더라도, 장고 자체에 대해서 디테일하게 다루며, 프로젝트의 구성 중 어떤 부분이 의미가 있다는 것을 알 수 있도록 하는게 좀 더 낫다고 생각했다.

 

또한 여기서 나온 것을 실습하다가 pip설치도 안되어 있는 환경에서 책에 나온대로 하려다가 애를 먹었다.

(결국 다른 방법으로 해결..)

 

이 책이 개정판이었기에 더 아쉬웠다. 초판의 아쉬움을 많이 개선했을 것이라고 기대했기 때문이었다.

 

 

 

정리하자면..

 

장점으로는

 

- 장고에 대한 파이썬 최신버전으로 다룬 책이 흔치는 않기 때문에 가치가 있다.

- 실제 퍼블리싱을 고려하여 nginx와의 연동에 대해 어느정도 자세히 다뤘다.



 

아쉬운 점으로는

 

- 구성이 이해하기 어려운 편이다.

- 전체의 목적을 이루기 위한, 각 챕터와 소챕터간의 목표를 또렷이 알기 어렵다.

- 다이어그램 표현방법과 코드 표현방법이 이해하기 어렵게 되어있다.(강조가 부족하다)

- Input/Output의 경계가 모호하다.(어떤 Output은 너무 캡쳐 티가 난다.)

- 명확하게 만들고자 하는 예제가 분명하지 않으며, 따라서 계속 실습하며 읽기는 시간이 많이 걸린다.

- 실습 예제를 따라하며 진행하기에 책에 나온대로 실행이 잘 되지 않는 부분이 많다.

 

 

 

이 책을 다음과 같이 평가해 보았다.

 

가격: 8 / 10

내용: 6 / 10

디자인: 5 / 10

구성: 4 / 10

 

저자: 김석훈

 

대상자: (제 생각으론) 이미 장고를 과거버전으로 진행한 이력이 있으며, 웹 개발도 어느정도 진행해 보았고, 다만 퍼블리싱에 필요한 내용이 궁금해서 찾아보는 형식으로 되어있는 책이 필요한 개발자(초보는 안될듯)

 

 

가격: 22,000원

전체 페이지: 368페이지

 

 

이 리뷰는 "한빛미디어"를 통해 도서를 제공받아 작성하였습니다.

http://jhc9639.blog.me/221439122118

Django를 시작하는 가장 효율적인 방법, Django로 배우는 쉽고 빠른 파이썬 웹프로그래밍이라고 하고 싶다. 장고를 그냥 예제보면서 따라하기에는 2가지 문제점? 이 있다.

1. 장고걸스의 듀토리얼은 1.11버전용이다.

2. 장고 공식사이트는 버전은 2버전이지만 이 책이 더 좋다.

왜 좋을까? 기본적인 polls 예나 mysite를 근간으로 짠 책이지만 차별점이 있다면 모듈화나 보안, csrf토큰등을 넣었고 그리고 신경쓴게 보인다. 예제를 수정했다는 점이다. 시작하기엔 참 좋은 책이다. mysite >> polls >> polls 응용한 예로 차근차근 알려준다.

URLconf 모듈화 설명부분.

MVC는

모델, 데이터

뷰, 인터페이스

컨트롤러, 로직 을 의미하는데 여기서 뷰를 Template으로 C를 View로 바꿔서 표현하는게 바로 MVT패턴이다.

...

클라이언트로부터 요청을 받으면 URLconf를 이용하여 URL을 분석합니다.

* URLconf는 라우트와 같은 역할을 한다.

그리고 이 책을 통해 장고가 무엇인지 잘 알 수 있는게 참 좋았다.

자동이스케이프 기능에다 폼태그에 CSRF토큰을 넣는다는 점.. 클래스형 제네릭 뷰가 내장되어있어 뷰를 상속시켜서 재사용한다는 점.. 기본적인 관리자페이지 내장되어있다는 점.. 기본적으로 Relational DB에 특화되어있다는 느낌.. 예를 들어 모델을 정의할 때

Models.CharField.. 등으로 정의한다는 점이 신기했다.

우선 표지는 깔끔하고 누가봐도 파이썬 도서라는 것을 확인할 수 있는 디자인입니다!

개인적으로 마음에 드는 표지 디자인이네요!

장고로 배우는 쉽고 빠른 웹개발 [파이썬 웹프로그밍] 표지

 

 

우선 본 도서는 Django 2.0 / Phython 3.6 / Windows 10 기준으로 작성된 도서입니다.

배포하기에서는 CentOS 7.0을 이용하였네요.

 

파이썬 2.x 버전이시라면 어서 업데이트 하고 오세요!

 

 

본 도서는 소스와 설명이 많습니다.

그러다 보니 "이걸 언제 일일이 작성하냐..." 하실 수 있으실텐데,

 

한빛미디어 홈페이지의 자료실에서 실습 예제 소스가 업로드 되어있습니다.

 

코드 작성 부담없이 읽으실 수 있으실꺼에요~

 

 

단순히 파이썬과 장고에 대해서만 설명하는 것이 아닌,

웹 프로그래밍의 기본적인 설명이 안내되어 있습니다!

 

즉 본 도서를 읽으시면, 차후 장고가 아니더라도 다른 언어를 통해

서버를 만드는 데 있어 큰 도움이 될 것 같네요!



 

매우 기본적인 안내이긴 합니다!

 

저도 그동안 웹 서버를 만들면서 상태 코드의 정확한 의미는 몰랐는데,

처음으로 정확한 의미를 알게 되었습니다ㅋㅋ

 

 

그리고 어드민 사이트 관련해서도 안내되여 있습니다!

 

어드민 사이트하면 감이 안오시는 분들도 있을텐데, 

처리 방법에 대해 자세히 설명이 나와있더군요

 

 

이부분이 없으면 서버 연동을 못하겠죠?

매우 중요한 실제 웹 서버와 연동하는 방법 또한 안내되어 있습니다!

 

 

또한 DB 연동에 대해서도 자세히 설명이 나와 있으며,

마음에 드는 데이터베이스를 선택하여 글을 보고 따라하시면 됩니다!

 

 

보시다 싶이 소스 코드를 작성하고

그 아래에 바로 설명을 하고 있어, 코드를 리딩하는데 큰 도움이 되었습니다.

 

 

보시다 싶이 많은 정보를 알려주려고 하는 모습을 볼 수 있어요!

정말 자세하죠?

 

 

하지만 본 도서는 초보자가 읽기에는 어려울 것 같고,

자신이 파이썬에 대해 조금 알고 있다 하시는 분이 읽으시는 것이 좋을 듯 합니다!

 

대신 필요한 부분 위주로 설명하고 있기에, 

실력 향상에는 많은 도움이 될 것 이라 생각됩니다!


감사합니다 :D

요즘 가장 많이 사용하고 있는 프로그램언어는 바로 자바일 것 같은데요. 이런 자바의 아성의 위협하는 개발 언어가 바로 파이썬입니다. 최근에 많은 개발자들에게 인기가 있는 언어이기도 합니다. 다른 개발 언어와 비교해 간결한 문법과 표현 구조와 우리의 사고 체계와 닮아 있어서 배우기도 쉽게 유지와 보수 관리가 쉽다는 특장점이 있는데요. 그래서 웹 개발뿐만 아니라 데이터 분석, 그래픽, 머신러닝에 사용되고 있는 언어이기도 합니다. 이런 파이썬을 가장 쉽게 접하고 따라 할 수 있는 책이 이번에 소개드릴 '파이썬 웹 프로그래밍'입니다.

 

 

새로운 언어를 접한다는 것은 여행을 떠나는 것과 같다고 생각하는데요. 처음 접하는 환경을 접하면서 하나하나 배워가게 됩니다. 이번에 소개드릴 책은 파이썬이라는 새로운 여행지를 보다 쉽게 배우고 즐길 수 있도록 도와주는 여행 가이드북과 같은 책이라고 소개하고 싶습니다. 파이썬은 인기가 있고 앞으로도 주목받고 있는 언어인 만큼 다양한 책들이 나와 있는데요. '파이썬 웹 프로그래밍'은 2015년 첫 출간되고 꾸준한 인기를 얻고 있는 장고 웹 프로그래밍의 대표 도서이기도 합니다.

그 책의 개정판으로 기존 도서의 장점을 살리면서 최신 파이썬과 독자의 피드백을 반영을 했다고 하는데요. 기존의 도서를 접하지 못해서 어떻게 좋아졌는지는 말씀드리기 어렵지만, 이 책을 처음 접하는 평범한 한 명의 독자의 입장에서 책을 소개해보려고 합니다.

 

책에 대한 첫인상은 그냥 평범해 보이는 프로그래밍 언어 서적이었는데요. 대학교에서 수업하는 프로그래밍 과목의 교과서 같은 느낌으로 군더더기 없는 디자인과 이론에 대한 설명과 직접 프로그래밍을 따라 하고 확인을 할 수 있는 구조로 되어 있었습니다. 처음 접하는 사람도 쉽게 접하고 따라 할 수 있도록 쓰였다는 인상을 받기에 충분할 만큼 꼼꼼하면서 기본적인 원리와 동작에 대한 부분도 빠지지 않고 서술되어 있는 것이 특징입니다.

 

책을 읽어 내려가면서 파이썬이라는 언어에 대해서 흥미를 느낄 수 있었고 직접 따라 해보면서 어떻게 활용해볼 수 있을지 생각을 할 수 있는 내용들이 많아서 무척이나 좋았는데요. 책의 내용이 웹 프로그래밍에 한정되어 있다는 아쉬울 만큼 정말 잘 쓰여있는 책이라는 느낌을 받기에 충분했습니다. 다만, 파이썬을 사용하고 있는 개발자를 위한 책은 아니라는 생각이 듭니다. 처음 파이썬을 접하고 파이썬을 활용해서 자신의 프로그램과 서비스를 하려고 하는 개발자나 기획자들을 위한 입문서로는 정말 좋은 책입니다.

Django장고로 배우는 쉽고 빠른 웹 개발 <파이썬 웹 프로그래밍>

 

undefined

 

초보임에도 정말 이해가 쉽게 잘 썼습니다. 감사합니다.

대학 때부터 웹 분야에 관심을 갖고, 프로젝트도 진행해 보며 여러 방면으로 공부했었습니다. 단순히 UI를 짜고 데이터를 전달하고 입출력을 구현하는 것이 전부가 아니기에 항상 개발 언어와 플랫폼에 대해 고민했고 어려워했습니다. 그러던 중 서점에서 이 책을 접하게 되었습니다. 이 책을 정독하며 단 6일만에 웹 페이지 하나를 완성할 수 있었고, 웹에 대한 개념을 쉽고 빠르게 이해할 수 있었습니다. 단 한 권에 파이썬을 활용한 웹 개발의 모든 것이 포함되어 있는 책을 소개하고, 추천합니다.

 

[이 책은]




웹 개발을 할 때 반드시 알아야 할 기초 상식인 상태 코드를 표로 정리하여 한 눈에 내용을 파악할 수 있습니다.

이렇게 표로 가독성 높게 정리된 개념들이 꽤 많이 수록되어 있는데, 

줄글로 적힌 것보다 훨씬 가독성이 높고, 필요할 때 표만 찾아 보면 되어 아주 편리합니다.






예제 코드와, 작성한 코드를 실행할 수 있는 명령이 수록되어 있습니다.

이런 부분 덕에 작성한 코드를 돌려 보며 실습할 수 있습니다.

 

 


이처럼 요청 처리 방식, 웹의 동작 방식을 그림(구조도)으로 보여주는 부분이 있습니다.

이미지 형태로 받아들일 수 있어 기억하기 편하고, 이해가 쉽습니다.

구조도와 더불어 줄글로 자세히 설명이 되어 있어 구체적인 내용을 익힐 수 있습니다.




작성한 코드를 실행했을 때, 웹 페이지의 어떤 부분이 어떻게 변경되는지 확인하기 쉽게 이미지로 결과가 제시되어 있습니다.

이 덕분에 예제 코드를 잘 따라 작성하고 있는지, 개발이 정상적으로 이루어지고 있는지 중간점검하며 책 내용을 따라가기 쉽습니다.



 

 

이처럼 부록에는 본문에서 다루었던 내용을 좀 더 세부적으로 제공해 주고 있습니다.

부록까지 놓치지 말고, 본문에서 언급되는 "Appendix n을 참고하세요"에 따라 참고하며 학습하면 좋을 것 같습니다.


[책을 덮으며]

책을 읽으며 개념 확립과 동시에 코드를 작성해 보았습니다. 이론 공부(개념 학습, 동작 원리 등)와 함께 실습을 병행하니 학습 효과가 배가 되는 느낌이었습니다. 

예제 코드 또한 어렵지 않게 해설과 함꼐 기재되어 있어, 실습을 따라하는 데도 문제 없었습니다. 

또한 서버에 코드를 올리는 방법까지 함께 서술되어 있어, 개발한 웹 페이지를 일부 사용자에게 서비스하는 데도 큰 도움이 될 것이라 생각합니다.

자세한 내용은 상단 도서 링크 또는 가까운 서점에서 도서를 구매하시어 확인 부탁 드리며, 이 책과 함께한다면 웹에 대한 개념을 튼튼히 하고 파이썬과 장고를 사용해서 웹을 개발하는 데 큰 도움이 될 것이라고 확신합니다.



파이썬 웹개발을 공부한 적이 있습니다. 그 중에서도 Django 를 공부하였었지만, 회사의 업무는 Java로 이루어진 Spring.. 파이썬의 간결함과 편안함으로 늘 파이썬에 대한 목마름이 있었습니다. 

 

Django가 2버전대로 업그레이드하고, 어떤 기능이 추가되었을까 궁금하던 찰나에 이 책을 구할 수 있게 되었습니다.

 

 

 

 

1. 책의 첫인상

 

책의 첫인상은 어라 개발서적이 무척 얇네 였습니다. 책이 고작 350여 페이지.. 개발서적 치고는 무척 얇았습니다. 

 

2. 책의 특징

 

보통 개발서적은, 레퍼런스 형 책이 있고, 예제 위주의 책이 있는데 이 책은 예제 위주의 책입니다. 간단하게 웹프로그래밍에대한 서술, 그리고 파이썬을 통한 웹개발을 서술하고, Django를 통한 웹개발로 바로 들어갑니다. 바로 예제를 통해 Django의 핵심기능들을 구현해 보여줍니다. 

 

예제를 통한 핵심 기능 구현 그리고 마지막 배포까지, 간결하게 핵심기능들을 모두 맛보게 해줍니다. 

 

3. 책의 장점

 

   - 빠르게 Django의 특징을 익히고 웹개발을 할 수 잇도록 해준다.

   - 다른 웹개발 언어를 알고 있는 개발자가 이 책을 보는 경우, 빠르게 책의 예제를 통해 Django의 핵심기능을 파악한 후 공식 홈페이지를 통해 더욱 심화된 내용을 파악할 수 있다.

   - 웹개발을 접해 보지 못한 사람의 경우, 빠르고 간단한 웹페이지를 구현할 수 있다.

 

4. 책의 단점

 

   - 계속 특징으로 언급되는 핵심적인 기능을 빠르게 익히는데는 무척 좋은 책이지만, 반대로 Django의 핵심적인 기능들을 모두 활용하는데 있어서는 한계가 있는 책입니다. 책을 보시고, 반드시 공식홈페이지를 함께 보시기를 권장합니다. 100% 한글화는 아니지만 많은 부분이 한글화도 되어 있습니다.

 

 

5. 총평

 

- Django의 특징을 빠른 시간내로 확인해보고 싶은 웹개발 경험자 또는 웹개발의 맛을 보고 싶다는 초심자에게 어울리는 책인듯 합니다. 



  • 웹프로그래밍의 이해
    • 클라이언트, 프로토콜, 서버
  • 파이썬 웹 표준 라이브러리
  • 장고 웹 프로그레임워크 소개 & 주요 기능
  • 실습 및 cloud 배포
  • apache, nginx, db 연동

위와 같은 목차로 구성이 되어 있어, 웹 프로그래밍 초심자들이 시작하기에 괜찮은 책인 것 같다.
앞선 목차에 보이듯 도입부는 웹의 동작원리에 대해 설명하고 있다.
웹 리퀘스트의 요청과 응답의 구조는 사실 웹 프로그래밍을 해보지 않은 분들이 받아들이기에는 분명 낯설지만,
그동안 아무런 의식없이 이용해왔던 웹페이지에 대해 새로운 시각을 가질 수 있다. 
이미 다른 프레임워크로 웹개발을 해본 경험이 있다면 1장은 스킵해도 괜찮다.
2장에서는 웹개발에 필요한 파이썬 표준 라이브러리들 소개와 CGI/WSGI을 소개한다.

이후 드디어 우리가 기다렸던 장고 프레임워크가 나온다.
이 책은 파이썬(3.x)과 장고(2.x) 버전으로 개정되어 출판되었으나 물론 파이썬 2.x에 대한 설명도 함께 있어 함께 할 수 있다.
당연히 예제 소스를 제공하고 있으니 필요하다면 다운 받아 사용하면 된다.
예제 소스 다운 )

장고에 대한 설명, 주요 기능, 예제가 끝나면 
웹서버와 장고, db 연동, 클라우드 배포 등 실제 개발단계부터 배포, 그리고 운영까지 경험해볼 수 있는 스텝을 제공한다.

요즘의 개발서적은 Linux 환경에 마춰진 실습 환경이지만 
이 책은 windows 환경에 초점이 맞춰져 있어 이 부분이 누군가에게는 장점이자 단점이 될 수 있다.
따라서 환경 설정에 익숙치 않은 Linux 환경의 초보자는 이 책 이외의 다른 경로로 실습 환경이나 에러를 찾아야 할 경우도 있다.
하지만 역으로 윈도우 환경에 있는 분들은 부담없이 시작 할 수 있을 듯 하다.

파이썬 웹 프로그래밍

작가
김석훈
출판
한빛미디어
발매
2018.08.17.

리뷰보기

 


 

나는 java, C/C++, PHP를 다루던 개발자다. 파이썬은 회사에서 취미 삼아 웹 크롤링으로 툴을 만드는 정도로만 사용하고 있다. 다른 서적을 통해 파이썬으로 알고리즘을 학습하고 실습하기는 했지만 단순한 스크립트만 접해보았다.

 

이 책에서는 Django 프레임워크로 쉽고 빠른 웹 개발을 소개해준다.

 

웹 프로그래밍의 기초부터 알려주고 있는데 개발 업무를 몇 년이나 하고 있는데 이것저것 하나만 파지는 못하며 작업을 해온 터라 이런 정보가 지식을 다지는데 많은 도움을 주었다. 이런 지식은 크게 중요하지도 않고 외울 필요도 없는 부분일 수 있지만 알아가는 데에서 소소하게 뿌듯함을 느끼기도 한다.




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

 



 

파이썬에서의 웹 라이브러리는 한눈에 파악하기 쉽게 설명해준다. 실무에서는 전체적인 그림을 보기보다는 예제로부터 시작해서 코딩을 빠르게 하면서, 그때그때 필요한 라이브러리만 import 하는 식으로 작업을 해왔다. 여기서는 하향식으로 설명해주고 있어서 개념을 잡는데 많은 도움이 되었다. 부록에서는 표준 라이브러리 말고 beautifulsoup이라는 외부 라이브러리도 소개해주는데, 얼마 전 IT 뉴스를 크롤링해서 회사에서 사용하는 메신저에 출력해주는 부분을 만들면서 저 라이브러리를 사용했었다. 실용성 부분에도 이 책에서는 잘 다뤄주고 있다는 생각이 들었다.

 

템플릿 개발 챕터에서는 요즘 많이 이슈가 되고 있는 보안에 관한 설명도 놓치지 않고 있다. Cross site request forgery 공격을 방지하는 방법이라든지 XSS 공격을 방지하는 방법에 대해 설명한다. 필요한 기능을 구현하다 보면 빠뜨리기 쉬운 부분이라서 아주 중요한 포인트라고 생각한다.

 

전반적인 개발의 흐름을 설명한 뒤에는 하나의 프로젝트로 실습할 수 있게 해준다. 완성 후에는 서버에 배포하는 법, 클라우드 환경에 배포하는 법을 알려준다.

 

apache, nginx와의 연동 법도 알려주는데, apache와 tomcat은 많이 연동해봤지만 nginx는 사용해보지 않았기 때문에 아직 실습하지 못한 부분은 nginx와 uwsgi를 연동해보려고 한다.

 



 

한가지 조금 신경 쓰였던 부분은 실습 예제에서 커맨드 창이 보기가 좀 어려웠다. 화면을 캡처한 듯한 이미지에서는 가독성이 좀 떨어지기도 했고, 중요한 부분에 하이라이트가 되어있으면 나중에 다시 볼 때 빠르게 찾아볼 수 있을 것 같다는 생각이 들었다.


파이썬으로 웹 프로그래밍을 한다면 초보자부터 다른 언어와 환경에 익숙한 개발자까지 많은 도움이 되는 책이라고 생각하고 추천하고 싶다.

 

django.jpg

 

Django는 현재 파이썬 웹 프레임워크중에서 가장 사랑받고 있는 프레임워크이다. 나는 한번도 Django를 써 본적은 없었지만 파이썬 웹 프레임워크 중에서는 Flask를 써서 간단한 연구 프로토타입용 웹개발을 한 경험이 있다. 갈수록 Django 커뮤니티가 커지고 Flask의 인기가 조금씩 밀리는 것이 느껴지고 있어서, 나도 Django를 한번 공부해봐야겠다고 생각하던 참에 이 책의 개정판을 보게 되었다. 사실, 2015년에 이 책의 초판이 갓 나왔을 때, 연구실 학부인턴으로 온 학생이 프로젝트 때문에 Django를 공부해야된다길래 이 책을 사 준 적이 있다. 이 책 보고 열심히 공부하고 나중에 내게 가르쳐달라고 했었는데, 어느덧 우리 연구실에 석사과정으로 입학하더니 나한테 Django를 가르쳐줄 틈도 없이 지난 달에 졸업하고 떠났다. 벌써 이 책의 초판이 나온지 2년이 넘게 흐른 셈이다. 그동안 Django 버전이 많이 올라간 탓에 개정판이 새로 나온 것 같다. 
 
이 책은 한번도 Django 프레임워크를 써보지 않은 사람을 대상으로 하고 있다. 파이썬 문법에 대한 설명은 없으니 파이썬 문법 정도는 기본으로 알아야한다. 또한 HTML/CSS를 다룰 줄 알고, Apache나 Nginx등의 웹서버를 이용해서 간단한 정적 홈페이지를 만들어 본 경험이 필요하다. 딱 이정도 수준에서 동적 웹 개발을 해보고 싶은 사람들이 보기에 딱 좋은 수준을 다루고 있다. 만약 Spring이나 Flask같은 다른 웹 프레임워크를 다뤄 본 적이 있다면, 이 책으로 무리없이 Django에 입문할 수 있을 것 같다.
 
이 책의 초반부(1-2장)에서는 웹의 동작 원리 등을 설명하면서 Django 웹 프레임워크의 역할이 무엇인지 친절하게 설명한다. 특히, 2장에서는 파이썬 웹 표준 라이브러리부터 차근차근 설명한다. 여기가 가장 마음에 들었던 부분인데, Django 책이라고 다짜고짜 Django에 대해 설명하지 않고 파이썬 웹 프레임워크가 내부적으로 어떻게 동작을 하는지 기반 지식을 쌓을 수 있도록 저레벨 HTTP 관련 클래스들을 이용하여 아주 간단한 웹프레임워크를 직접 구현해본다. 학부시절에, 파이썬 웹 프레임워크를 만들기 위해 파이썬 웹 표준 라이브러리들을 공부하느라 끙끙 앓은 적이 있었기 때문이다. 이 부분을 모른다고 해서 당장 Django로 웹 개발을 하는데 지장이 있지는 않겠지만, 웹 프레임워크의 동작 원리를 깊이 이해하는데 꼭 필요한 부분이라고 생각한다. 
 
중반부(3-6장)에서는 실제 Django를 사용 하는 방법에 대해 따라하기 튜토리얼 식으로 설명하고 있다. 책을 일던 중에, 상세 내용 참고하라고 적혀있는 URL에 접속해보고 안 사실인데, 이 책의 중반부의 내용이 Django 공식 홈페이지의 튜토리얼의 내용을 기반으로 하고 있다. 대신 공식 튜토리얼보다 훨씬 따라하기 쉽도록 어려운 부분은 제외하고 순서를 조금 바꿨다. 저자가 직접 튜토리얼 내용을 코딩하면서 세밀하게 각 단계별 스크린샷까지 추가하고 소스 코드에서도 주요 라인들을 하나하나 설명해주고 있어서, 처음 Django 입문자 입장에서는 내가 제대로 따라하고 있는게 맞는건지 의심할 필요없이 안심하며 따라갈 수 있었다. 또한, WSGI 표준 등 Django 공식 튜토리얼에는 나오지 않지만 Django를 잘 활용하기 위해 추가적으로 필요한 기반 지식 설명도 추가하여, 독자들의 이해를 돕기도 한다. 예전에 파이썬으로 웹 프레임워크를 개발하면서 WSGI가 뭔지도 몰라서 표준도 맞지 않는 엉망인 프레임워크를 만들었다가, 누군가가 WSGI 표준이라도 좀 맞추라는 지적을 하길래, 그게 뭔지 찾아보느라 헤멘 기억이 떠올라서 이 부분을 흥미있게 읽을 수 있었다.
 
후반부에(7-9)에서는 Django를 이용해서 개발한 간단한 웹사이트를 배포하는 방법에 대해 설명한다. PythonAnywhere라는 서비스를 사용 하는 방법, 또는 Apache나 Nginx 웹 서버와 연동하는 방법 등이다. 예전 Flask로 웹을 개발할 때도, 그냥 개발용 서버를 돌려놓고서 친구들한테 테스트해보라고 URL을 뿌렸다가 금방 서버가 죽길래 당황했던 경험이 있는 터라, 이런 간단하지만 모르면 큰일나는 웹 서버와의 연동 부분도 쉽게 설명하고 있다.
 
이 책은 부제에 충실하고 있다. Django로 배우는 "쉽고 빠른 웹 개발"을 위한 책이다. 개인적으로는 웹 프로그래밍 경험이 있다보니 Django 공식 튜토리얼 예제를 그대로 가져와서 설명하기보다는 조금 더 심화된 예제로 설명했다면 어떨까하는 아쉬움이 있지만, 웹에서 튜토리얼 문서를 보면서 따라하기에 익숙치 않은 초보에게는 이 책을 옆에 두고 따라하는게 훨씬 빠르게 배울 수 있을 것 같다. 이 책을 한번 보고 나서, 공식 튜토리얼 예제를 다시 보거나 장고걸스의 Django 문서를 보면 빠르게 머릿 속을 정리할 수 있을것이다. Django 입문을 원하는 분들께 [파이썬 웹 프로그래밍]을 적극 추천한다.
 
Django 입문을 위한 기타 참고자료:


 

어느덧 더운 여름이 가고 시원한 날씨가 이어지네요. 독서하기도 좋은 계절입니다.
저는 학부때부터 파이썬 프로그래밍 언어에 빠져 지금까지 이어지고 있습니다. 다양한 관련 부분 독서, 코딩, 커뮤니티 활동등을 통해 파이썬을 끊임없이 알아가고 있는 중이지요.

파이썬의 매력에 한번 빠지면 헤어나오기 쉽지 않습니다. 그만큼 무궁무징하고 강력하며 훌륭한 언어 중 하나입니다.

웹 프로그래밍 언어에는 HTML, Javascript, CSS등 여러 종류가 있지만, 파이썬 웹프로그래밍만큼 간단한 코딩을 강력한 애플리케이션을 구현할 수 있는 도구는 없을 것입니다. 오늘은 김석훈 프로그래머가 적고 한빛미디어에서 출판한 'Django로 배우는 쉽고 빠른 웹개발 파이썬 웹프로그래밍'도서를 살펴본다.

이미 파이썬 언어를 사용해본 독자라면 쉽고 간결함, 문법의 일관성, 빠르게 개발할 수 있는 생산성에 만족하고 있으리라 생각합니다...(중략)...필자가 생각하는 이 책의 독자층은 파이썬 문법을 공부한 후에 웹 프로그래밍을 배우려고 하거나, 다른 언어로 웹 프로그래밍을 하다가 파이썬으로 전환하고자 하는 개발자입니다...

지은이의 말 中

목차 구성을 깔끔하면서도 많은 것을 담고 있다. 첫 이해부터 시작해 Django기능과 배포까지 아낌없이 담아내고 있다. 모든 파이썬 웹 프로그래밍 개발자에게 더없이 좋은 구성이다.

CHAPTER 01 웹 프로그래밍의 이해
CHAPTER 02 파이썬 웹 표준 라이브러리
CHAPTER 03 Django 웹 프레임워크
CHAPTER 04 Django의 핵심 기능
CHAPTER 05 실습 예제 확장하기
CHAPTER 06 Django의 웹 서버 연동 준비
CHAPTER 07 Cloud 서버에 Django 배포하기
CHAPTER 08 Apache 웹 서버와 연동
CHAPTER 09 NGINX 웹 서버와 연동

웹프로그래밍에는 역시 HTTP(S) 프로토콜이 빠질 수 없다. 서버 개발은 개인이 혼자하기 힘들지만, 클라이언트 개발은 충분하다. 물론 간단한 서버 개발은 혼자서도 가능하다. 웹 프로그래밍이란 인터넷을 이용해 멀리 떨어진 공간에서 서로 통신을 하고 데이터를 주고받는 상호작용이 가능하게 구현하는 것이다. 

HTML코드를 살펴본다.

HTTP 상태 코드를 살펴보자. 깔끔하게 테이블형태로 정리되어 있다.

각 코드를 라인별로 번호를 매겨 설명하고 있다. 손수 페이지를 넘겨 하나하나씩 확인해야하는 번거로움이 있지만, 간결하면서도 확실하게 설명하고 있다.

소스 코드와 커맨드 창에서의 명령행 입력부분은 볼드체 형태로 서로 구분을 했다. 코드의 인덴트도 적절하게 들어가 가독성이 좋다.

그림을 통해 개념이 이해가 필요한 부분은 보다시피 깔끔하게 이해시켜준다. 기술의 발전에 따라 웹 서버 기술도 변화하고 있다. 초기 웹 서버 등장에 다라 CGI 프로그램으로 서로 통신했다. 이후 CGI의 대안으로 스크립트엔진 및 데몬프로그램이 나왔다. 최근의 우베 애플리케이션은 웹 서버와 애플리케이션 서버를 따로 두어 프레임워크 기반 통신을 한다.

 

파이썬에 한계란 없다!
Django를 통해 웹 프로그래밍까지 접수하자

 

  

B4329597070_l.jpg

 

 

  파이썬이라는 언어가 나온지는 상당히 오래되었으나, 몇년간 눈에 띄게 여러 분야에서 사용되고 있다고 느끼고 있다. 예전에 Perl 가지고 있던 위상이나 이상이라고 느껴진다. 워낙 많은 분야에서 사용되고 있다보니 프로그래밍 역시 파이썬을 알고 있다면 접근이 어렵지 않은 것이 사실이다. 하지만 모든 프로그래밍 언어 또는 관련 라이브러리에서 지원하는 소켓 기능, 간단한 HTTP 파서만을 가지고 처음부터 끝까지 혼자 프로그램을 나간다는 지금과 같은 빠른 결과물, 좋은 결과물을 원하는 시대에는 불가능한 일이라 생각한다.

  리뷰를 하게 파이썬 프로그래밍 파이썬을 이용해 프로그래밍을 시작하려고 하지만 무엇부터 시작할 모르는 분들에게 맞는 책이라는 생각이 든다. 책은 웹프로그래밍에 대한 기본 내용에 대해 간단히 장에서 설명을 하고, 장고 프레임웍을 가지고 어떻게하면 쉽고 빠르게 프로그래밍을 있는지 설명해 나간다. 간단히 친절하게 설명된 튜토리얼이라고 있다하지만 파이썬을 이용하기 때문에 독자는 파이썬의 기초는 알고 있어야 한다. 초보자를 위한 설명이 상세히 나오기는 하지만 HTML 대한 기초적인 지식은 갖추고 있어야 예제를 이해하는 문제가 없을 것이다

  처음 장은 프로그래밍을 하기 위한 기초적인 내용 설명 파이썬이 지원하는 통신을 위한 라이브러리에 대해 설명을 한다. 파이썬의 경우 2.x 3.x 버전간 라이브러리 사용에 약간의 문법적, 구조적 차이가 있는데, 3.x 기준으로 기본설명을 하고 2.x 대한 설명도 되어 있어 양쪽 사용자를 배려했다는 느낌이 든다. 3장과 4장은 장고 프레임웍의 특징 MVT 패턴에 맞춘 간단한 예제 실습으로 구성된다. 하지만 처음부터 장황하게 설명하지 않고, 하나씩 하나씩 완성해나가는 형태로 예제 프로젝트를 진행하기 때문에 차근차근 실습하며 이해해 나가는 무리가 없다. 5장에서는 실습 예제를 확장해 나가면서 3장과 4장에서 설명한 내용을 다시 연습해 있도록 두었다. 어떤 프레임웍이든 프레임웍이 가지는 구조가 있기 때문에 반복하면서 구조에 익숙해질 필요가 있는데, 저자는 이런 부분을 이해하고 그에 맞춰 책을 구성했다는 생각이든다. 나머지 챕터들은 서버와 장고 프레임웍간의 연동, 클라우드 시스템 연동에 대해서 따라하기 형태로 구성된다. 부록에는 외부 라이브러리, 데이터베이스 연동 Pycharm IDE 대해서 실려있는데, 장황한 설명이 아닌 처음에 설치해서 어떻게 설정하는지 위주로 설명이 되어 있다

  앞에서 설명한 것처럼 책은 전체적으로 처음 파이썬으로 프로그래밍을 하는 사람에게 필요한 내용 위주로 필요한 내용을 설명해 놓았다는 생각이 든다. 책을 선택할 때는 이런 점에 유의를 해야 것이라 생각이 든다. 예를 들면, 나는 초보자지만, 장고 이외에 다른 프레임웍들에 대한 다양한 소개 여러 가지 다양한 예제를 위주로 경우 문제점 해결 방안 등도 알고 싶다 라고 생각하는 독자라면 책은 맞지 않을 수도 있다. 하지만 그러한 독자라면 책을 기초로 익히고 다른 깊이 파고들 있는 다른 책을 보는 것도 좋은 방법이라 생각한다.

  보통의 요즘 프로그래밍 책과 달리 책의 예제는 윈도우즈 OS 환경에서 테스트 코드 실행 결과가 실려있다. 보통 Linux MacOS(BSD 인터페이스)에서 프로그램 작성이나 실행하는 일이 많기 때문이다. 하지만 책은 Linux MacOS 대한 가이드는 나오지만, 대부분의 예제 작성 실행이 윈도우즈 OS에서 수행된다. 파이썬이라는 언어가 플랫폼에 의존성이 적은 언어라 충분히 문제가 되지는 않기에 누구든 쉽게 접근할 있는 윈도우 OS 환경을 기준으로 설명했다는 생각이 든다

 

  마지막으로 지극히 주관적인 의견일지 모르지만, 컴퓨터 분야 책이든 이외 분야든, 책을 읽을 문장 부호, 띄어 쓰기는 상당히 중요하다고 생각한다. 물론 저자의 관련 분야에 대한 지식은 물론이다. 그런 면에서, ‘파이썬 프로그래밍 저자가 꼼꼼히 띄어 쓰기, 쉼표를 사용하여 읽는 불편함이 없었다고 생각한다

재미로 인공지능(AI), 머신러닝을 하려고 파이썬(Python) 프로그래밍 언어를 만져봤지만 제대로 된 개발을 한 적은 거의 없습니다. 뭔가를 만들기에 가장 편하고, 좋은 환경이 웹이라고 생각합니다. 그래서 이번 기회에 파이썬으로 웹 개발을 하기 위해 책을 한권 봤습니다. ‘Django(장고)로 배우는 쉽고 빠른 웹 개발 파이썬 웹프로그래밍‘이라는 책인데 파이썬 기초를 배운 초보자가 접근하기에 괜찮은 책이라고 생각합니다.

 

파이썬에는 Django(장고) 말고도 다른 웹 프레임워크가 있지만 가장 인기가 있는 장고를 먼저 배우기로 했습니다. 우리나라에서는 책도 그렇고 사이트도 그렇고 파이썬 웹 개발에 대한 정보가 많이 없는 것 같습니다. 이런 점에서 볼 때 이 책이 참 반갑습니다.

 

책의 초반에는 웹 개발이 처음인 사람을 위해 웹 프로그래밍 기초를 조금 설명하고, 파이썬 표준 라이브러리로 웹 개발을 하는 방법은 설명합니다. 바로 장고를 이용하고 싶은 사람이라면 챕터3부터 봐도 괜찮을 것 같네요.

 

장고 설치하는 방법을 배우고 난 후에는 MVT 패턴(Model, View, Template)을 이용하여 웹 프로그래밍을 하는 방법을 배웁니다. 이렇게 패턴을 준수하면서 코딩을 하는 것은 처음에는 공부하기가 힘들지만 배우고 나면 나중에 유지보수를 할 때 많이 편합니다. 패턴 말고도 파이썬 장고로 개발을 했을 때 얻을 수 있는 장점으로는 편리한 관리자 화면, URL 설계, 다국어 지원 등이 있습니다.

 

웹 개발을 하고 난 후 클라우드(PythonAnywhere)에 배포하고, 아파치(Apache), NGINX 웹서버와 연동하는 방법도 이 책에 잘 설명되어 있습니다. 부록에는 파이썬 개발자들이 가장 많이 사용하는 PyCharm 개발환경에 대한 설명도 있습니다.

 

Django(장고) 웹 프레임워크를 자세하게 설명해서 그런지 프로젝트가 조금 소박해 보이는 면이 있습니다. HTML, CSS를 사용해서 디자인을 좀 더 멋지게 만들고, 직접 프로그래밍을 해서 다양한 기능을 추가해 본다면 좀 더 공부가 될 것 같습니다. 파이썬 장고 프레임워크로 좀 더 다양한 작업을 해보고 싶다면 같은 저자가 쓴 파이썬 웹 프로그래밍 실전편을 보세요. 아마 이 책도 조만간에 개정판이 나올 것 같습니다.

 

‘Django(장고)로 배우는 쉽고 빠른 웹 개발 파이썬 웹 프로그래밍’ 책을 통해 파이썬 장고 웹 프레임워크로 어떻게 웹 개발을 해야 하는지 차근차근 배울 수 있었습니다. 자바, PHP처럼 오랜 기간 동안 검증된 웹 프로그래밍 언어도 있고, 최근에는 Node.js와 같은 인기는 기술이 있어 파이썬으로 웹 개발을 해야 할 이유가 없다고 생각할 수도 있습니다. 저는 파이썬 웹 개발을 했을 때 파이썬으로 만들어진 막강한 라이브러리를 쉽게 갖다 쓸 수 있다는 점이 가장 큰 장점이 아닐까 싶네요. Django말고도 Flask같은 다른 파이썬 웹 프레임워크도 있으니 비교해서 공부하는 것도 괜찮을 것 같습니다.

 

## 1

 

국내에 `Django` 관련 책이 별로 없습니다. 파이썬을 많은 곳에서 사용하고 교육에 활용되고 있어서 다양한 책이 출간되지만 대부분 머신 러닝, 딥러닝 그리고 데이터 분석에 관한 책이 주류를 이루고 있습니다. 요즘은 파이썬 기초 서적도 많이 출간되고 있고, 자료구조와 알고리즘을 중심으로 설명하는 책도 간혹 보이곤 합니다. 그런데 파이썬에서 가장 많이 활용되는 프레임워크인 `Django` `Flask` 경우 사용자가 없는 것도 아님에도 불구하고 책이 별로 없습니다.

 

2년전에 `Django`책을 한빛에서 번역본도 아닌 직접 집필하신 책이 출간되어서 많은 초보 `Django` 개발자분들(저도 한명) 책을 참고해서 `Django` 공부했습니다. 저도 부산에서 책으로 스터디를 진행(https://www.youtube.com/playlist?list=PLMEHjJAUne9YyUjPzYg5eDuqMZJLFAL9J)하기도 했습니다.

 

 올해 초에 `Django` 2.x 업그레이드 되었고, 대부분의 서버에서 `Python` 3.5버전을 기본적으로 사용하게 되면서 예제가 작동하지 않게되면서 `Django` 관심을 가지는 많은 초보 파이썬 개발자분들이 영어로된 문서를 보고 학습을 진행하고 있었는데, 드디어 한빛에서 `Django` 2.x 반영한 책을 출간하였습니다. 그것도 새로운 책이 아니라 기존에 평판이 매우 좋았던 책을 개정해서 출간했기 때문에 서둘러 책을 읽고, 예제를 진행해 보았습니다. 

 

undefined

 

## 2

 

이번 개정판의 가장 변경점은 `Django` 2.0 `Python` 3.5 버전을 설명하고 있다는 입니다. `Django` 2.0 버전으로 업그레이드 되면서 `URL` 비롯한 몇가지 변화가 반영되어 출간되었습니다. 그리고 실습 후에 자신이 만든 `Django` 프로젝트를 배포할 있도록 `Nginx` `Apache` 서버 설정까지 설명하고 있습니다. 그리고 `pythonanywhere` 사용법도 함께 수록되어 있기 때문에 `Django` 포토폴리오 작업을 진행하거나 서버에서 운영되는 토이 프로젝트가 필요하신분들에게 많은 도움이 입니다.

 

책이 분량도 적당하고, 내용도 `ORM` 비롯해서 `Template`까지 다루고 있기 때문에 간단한 토이 프로젝트나 자신의 이력서 정도의 1~2페이지 정도의 가벼운 서비스는 충분히 개발 가능합니다. 

 

IMG_2516.jpg

 

 

## 3

 

이번 개정판도 1판의 구성과 비슷하게 되어있으며, 난이도도 초보자가 보기에 매우 적합합니다.  `Django` 뿐만 아니라 아주 기본적인 프로그래밍에 관한 내용까지 소개하고 있기 때문에 초보자가 혼자서 공부하기에 적합하다고 있습니다. 기존의 1.x 사용자분들도 책을 통해서 2.0 변경점을 학습하실 있습니다.

 

2년전에도 책으로 스터디를 진행하여 간단한 몇가지 토이 프로젝트를 완성하였습니다. 스터디를 책에 있는 예제만으로 충분히 기본적인 `Django` 사용법은 문제가 없었습니다. 책의 내용도 초보 수준에 맞게 구성되어 있어서 스터디하셨던 분들이 배웠던 내용을 gihub 공개된 repo clone해서 수정해가면서 스터디와 토이 프로젝트를 진행하였습니다.

 

그러나 블로그나 이미지 갤러리같은 약간은 복잡할 같은 서비스는 `github` 검색을 통해서 구현한 합니다. 얼마뒤에 '실전편' 출간된 것으로 기억합니다. 미루어 짐작컨데 실전편도 개정판이 출간될 것으로 예상합니다( 개정해 주었으면 좋겠네요!).  국내 `Django` 사용자가 많아졌으면 좋겠네요! 

 

IMG_2521.jpg

  

부록/예제소스
자료명 등록일 다운로드
DOWNLOAD 예제소스 2022-11-24 다운로드
결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

도서판매처

리뷰쓰기

닫기
* 도서명 :
파이썬 웹 프로그래밍(개정판)
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
파이썬 웹 프로그래밍(개정판)
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
파이썬 웹 프로그래밍(개정판)
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실