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

한빛출판네트워크

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

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

한빛미디어

집필서

판매중

  • 저자 : 김석훈
  • 출간 : 2018-08-17
  • 페이지 : 368 쪽
  • ISBN : 9791162241042
  • 물류코드 :10104
초급 초중급 중급 중고급 고급
4.3점 (27명)
좋아요 : 76

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

 

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

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

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

 

어떤 독자를 위한 책인가? 

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

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

 

 

저자

김석훈

Email : kimseokhun@gmail.com

프로그램 개발은 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 웹 서버와 어떻게 연동하는지 알려줍니다.

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



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

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



     

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


  •  


    한빛미디어 김석훈 저자의 "Django로 배우는 쉽고 빠른 웹 개발 파이썬 웹 프로그래밍"

     

     


     

     


    실제 10년이 넘는 웹 개발 실무 경력을 가지고 나로서는 항상 파이썬에 대해서 한 번쯤 해보고 싶다는 생각이 들었다

     

     


     

     


    그래서 선택한 책..

     

     


     

     


     

     


    일단 책 구성 다음과 같다.

     

     


     

     


    01. 웹 프로그래밍의 이해

     

     


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

     

     


    03. Django 웹 프레임워크

     

     


    04. Django의 핵심 기능

     

     


    05. 실습 예제 확장하기

     

     


    06. Django의 웹 서버 연동 원리

     

     


    07. Cloud 서버에 Django 배포하기

     

     


    08. Apache 웹 서버와 연동

     

     


    09. NGINX 웹 서버와 연동

     

     


     

     


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

     

     


    B. 장고의 데이터베이스 여동

     

     


    C. HTTP 상태 코드 전체 요약

     

     


    D. PyCharm 무료 버전 사용하기

     

     


     

     


     

     


    (올. 목차를 16진수로 표현했다는 생각은 나만의 생각인 건가?)

     

     


     

     


     

     


    아무래도 현직 실무자로써 책의 구성은 나름대로 좋았다

     

     


     

     


    물론 나로서는 어느 정도 퐉퐉~ 진도가 나갔지만

     

     


    웹에 대한 원리나 중간중간 웹 개발자라면 꼭 집고 넘어가야 할 중요한 부분은 아주 친절히 책에 녹여 있는 것 같아

     

     


    이 부분에 대해서는 나름 좋게 보고 있다.

     

     


     

     


    혹시 나중에라도 누군가의 교육자료를 만들면

     

     


    이 책을 한 번 더 보면서 참고를 할만한 자료가 많기도 하다. 흐흐

     

     


     

     


     

     


    한 땀 한 땀 정성이 보이는 부분

     

     


     

     


     

     


     

     


     

     


    개발 서적에서 좋았던 부분은 바로 이런 부분이 아닐까 싶다

     

     


     

     


    주석을 다는 것만큼 힘든 것이 없는데 아마 소스코드만 보면 이해하지 못할 부분도

     

     


    모든 부분에 이해하기 쉽게 주석(?)을 달아놓은 모습이 좋았다.

     

     


     

     


     

     


    하지만...

     

     


    하지만..

     

     


    하지만.

     

     


     

     


    모든 소스코드의 설명을 책을 폈을 때 한 번에 보이게끔 구성 좀 해주시지..

     

     


    어떤 부분은 앞뒤로 계속 넘기면서 소스와 주석을 보게 되어서

     

     


    독자에 대한 디테일을 좀 더 살려주셨으면 좋을 것 같다. ㅠㅠ

     

  • 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페이지

     

     

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

  • 파이썬을 통한 웹프로그래밍에대한 책을 리뷰하고자한다.

    KakaoTalk_20190131_203050351.jpg

     

    파이썬을 통한 웹서버라면 국내에서는 flask 웹프로그래밍에대한 서적들이 많이 알려져있을텐데, 이번에는 Django를 통한 웹프로그램에대해서 알라보겠다.

     

    책 전반적인 느낌은 다소 어려워 보이거나 다 읽어나가기가 쉽지 않을것 같다는 정도이다.

     

    이 책을 읽어본바 강점은.. 

    1) 웹프로그램의 가장 기본적인 지식부터 서서히 진행을 해간다는것이다.

       즉, 어설프게 알고 넘어가는것이 보편적일텐데, 그런 부분들을 자세하게 집고 넘어간다는것이다.

    2) 아주 간단한 예제를 중심으로 간결하게 실습을 진행해가면서 알려주는 방식으로, 간단 명료하고      이해가 쉽다

    3) 프레임 워크의 개념에 대해서 이해하기 쉽게 장 설명하고 있다

       아마도 Django를 설명할면 어쩔수 없는것이기도 하겠다.

    4) 간단하면서도 다양한 예제를 많이 보여줄려고 노력하고 있다.

    5) 웹 관련 기초 지식 및 제법 전문적인 지식에대한 정보들을 이해하기 쉽게 설명하고 있다.

     

    이책을 읽기 어려운 이유를 들자면..

    1) 기초 적인(상당부분 이론적일수도있는...그러나 한번은 꼭 집고 넘어가야하는) 부분부터의 

       단계적 설명을 위해 많은 지면을 사용하고 있어서, 실습을 들어가는 시점까지는 많이 지루하고

       어렵게 느껴질수 있다 느꼈다.(약 2~3번 정도는 반복해서 정독하면 충분히 이해 가능)

    2) 다양한(기초지식 또는 전문 지식)들을 알려주려고 하다보니, 사용법을 빨리 익혀보려고 하는 독자

        에게는 거부감이 들수있을정도로 느린 진행과, 또는 중간에 맥락이 끊기는듯한 느낌능 준다

        (이 또한 관련 지식에대한 충분한 이해도를 가지면, 해당사항이 없다)

    3) 파이썬과 웹프로그램에대한 기본 이해도가 없다면, 내용의 난이도가 상당히 어렵게 느껴질수있다.

       (입문자용은 결코 아니다)

     

    파이썬이라기보다는 프레임워크 입문서라고 생각하고 보면 적당할듯 싶다.

     

    본인도 웹프로그램과 웹 서버 프로그램, 그외의 다양한 어플리케이션 프로그램들을 해왔지만,  이책을 읽으면서 내 지식의 얕음을 깨달으면서 저자의 많은 지식들을 차분하게 집필 한 능력에 감탄을 금치않을수 없없다.

     

    프레임워크 기반의 웹프로그램은 항상 느끼는것이지만, 나 자신이 처음 접해보는 프레임워크는 그것을 이해하기위한 장벽이 너무 높다는것이다.

    그래서 Django의 도입부 부터 처음에는 이해가 잘 안되기도 했던것 같다.

    그러나, 기본 개념을 이해하고 넘어가니 Django를 왜 추천하는지 알수있을것 같다.

     

    프레임워크 기반 웹프로그램을 혼자 공부해서 일을 하다보니,  부족함을 어느정도 느끼고 있었는데, 이 책에서 다루는 내용이 이해도를 높이는데 많은 도움이 된것 같다.

     

    그럼에도 불구하고 파이썬 웹프로그래밍을 처음 배우는 이에게는 권하기가 어려울것 같다.

    끝까지 따라하기가 쉽지는 않을것이다, 프레임워크를 처음 접하는 이들이라면....

     

    그러나, 프레임워크에대한 공부가 필수인 분이라면 이 책은 필수 입문서로 적극 권한다.

     

     

     

     

     

  • 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년 첫 출간되고 꾸준한 인기를 얻고 있는 장고 웹 프로그래밍의 대표 도서이기도 합니다.

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

     

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

     

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

  •  

    개정판 전의 판을 파이썬 책과 구매 해놓고 다 보지도 못했는데 개정판이 나와서 한빛미디어 나는 리뷰어다 프로그램으로 리뷰를 하게 되었다.

    파이썬 서적과 파이썬을 이용한 빅데이터, 데이터 처리 관련 서적들은 무수히도 많이 나오는데에 반해 파이썬 웹 프로그래밍 서적은 그 수가 매우 한정적인데 그 안에서도 좋은 평을 받고 있는 책이다. 각 챕터 별로 내용을 적어 보고자 한다.

    CHAPTER 01 웹 프로그래밍의 이해
    웹 프로그래밍을 잘 모르는 사람을 대상으로 간략하게 내용을 전달하고 있다. 말 그대로 간략하게 정리하였기 때문에 네트워크 환경에 대한 이애 없이 파이썬 문법만 떼고 웹 프로그래밍에 입문 하는 입장에서는 무슨 소리를 하는지 모를 수도 있겠다는  생각이 든다. 
    하지만 그렇다고 웹 프로그래밍을 할 수 없다는 이야기는  아니다. 알아두어야 할 것? 공부해야 할 것이 무엇인지 확인 하고 넘어 가는 것으로 이해하고 넘기면 될 것이다.

    CHAPTER 02 파이썬 웹 표준 라이브러리
    파이썬으로 웹 프로그래밍을 하기 위한 표준 라이브러리들을 이용한 예제를 소개하는 내용이다. 처음 볼 때는 어렵게 느껴질 수 있겠다는 생각이 들지만 이 부분이 이 책에서 중요한 부분이 아닐까 한다. 딱딱하고 재미없는 내용이 대부분 기본기 수양에 필요한 내용인 것처럼 뒤에 이어질 내용들을 보다가도 언제든지 앞으로 되돌아와서 보지 않을까싶다. 
    나처럼 파이썬 기본 지식이 없이 뛰어든 사람이라면 따분하고 이해 안 되는 내용이라 느껴질 것이다. 하지만 100%이해는 하지 못하더라도 맥락은 이해하고 넘어가야 하지 않을까 싶다.예제 소스를 설명해주는 페이지에서 소스페이지 다음페이지에 설명이 배치된 경우가 있어 앞과 뒤를 오가며 설명을 이해하려하다 보니 집중력이 분산되는 경우가 있는데, 이런 부분들이 아예 발생 하지 않을 수 없겠지만 편집의 묘미를 좀 발휘해서 한 화면에서 읽기 편하게 구성 하면 어떠할까 생각이 들었다. 대략 아는 내용이라면 별 문제가 없겠지만 처음 접하는 사람이라면 혼란스러움이 있을 것 같다.

    CHAPTER 03 Django 웹 프레임워크
    Django 프레임워크를 설치하고 사용하기 위한 기본적인 세팅을 하고 예시로 프로젝트를 생성해서 설명하고 있다. 내용이 많아지고 복잡해지기 시작하는 부분이라서 그런지 소챕터 말미에 있는 “지금까지 작업 확인하기”에서 그간에 작업내용을 점검하고 다음내용으로 나갈 수 있도록 하고 있다. 그러다 보니 예제에 설명도 길어지고 있다 보니 조금 부담스러운 부분이 있다. 이런 부분을 보면 이 책은 무작정 따라 하기식이 아니라는 점을 염두에 두어야 할 것이다.

    CHAPTER 04 Django의 핵심 기능
    3장에서 생성한 프로젝트의 admin 페이지를 수정하는 내용으로 부터 시작을 하고 있다. 마치 워드프레스 사용법처럼 느껴져서 워드프레스를 사용하는 사람입장에서는 설명하는 내용이 익숙하게 다가왔다. 워드프레스가 php로 되어 있는 것처럼 django도 파이썬으로 제어하는 워드프레스로 비유를 해도 되려나. 물론 워드프레스와 Django의 성격은 다르겠지만 말이다. 
    파이썬을 가지고 무엇을 할지 모르는 방황하는 상태라면 이 책으로 웹 프로그래밍에 빠져들어도 좋을 것이다. 내용을 이해하고 실습해 나가는 길이 호락호락 하지는 않겠지만 자세한 설명과 체계적인 예제를 따라 하다 보면 자신만의 웹 어플리케이션 구현이 가능 할 것이다.

    CHAPTER 05 실습 예제 확장하기
    앞에서 작성한 예제를 이용하여 실습을 진행하기 때문에 “지금까지 작업 확인하기” 에서 꼭 정상적으로 작동 하는지 여부를 확인 하고 실습에 들어가야 하겠다. 그것이 싫다면 예제 프로그램을 다운로드 해서 실습을 해도 무방할 것이나. 프로그래밍 공부는 백문이 불여일타라고 하지 않은가. 계속 코딩 해가면서 실습 하는 것이 좋을 것 같다.

    CHAPTER 07 Cloud 서버에 Django 배포하기
    작업한 예제를 pythoneverywhere라는 클라우드 환경에서 테스트 해 볼 수 있도록 하는 방법을 설명하고 있다. 이 부분은 내용은 많지 않지만 참 유용한 정보를 제공하고 있다고 칭찬하고 싶다. 웹 프로그래밍 학습시 매번 고민 하는 것 중에 하나가 1대 pc에서 서버와 클라이언트 개발을 동시에 하므로 겪게 되는 구조적인 문제 발생의 요소를 어떻게 처리 할까 하는 것이었는데 클라우드 환경을 제공하는 곳에서 더 쉽게 개발에 임할 수 있도록 친절하게 설명해주고 있다. 
    이 부분이 너무도 맘에 들었다. 보통 웹 프로그래밍의 경우 서버를 통한 배포 방법은 잘 나와 있는 경우가 드문 상황인데 이에 비하면 참 친절한 구성이다.

    CHAPTER 08,09에서는 apache와 NGINX와 Django를 연동하여 사용하는 방법을 설명하고 있는데 apache와 NGINX를 사용 중인 사람들이라면 쉽게 이해가 갈 것이나, 그렇지 않은 사용자의 경우에라도 부담 가지지 말고 이런 웹 서버 프로그램이 있구나. 알고 나서 추후에 필요에 따라 조금 심도 깊게 공부해도 될 것이다.

    어느 분야든 책 하나만 봐서 다 알 수가 없다. 그렇지만 이 책 하나만 봐도 파이썬을 이용한 웹 프로그래밍은 어떤 방향으로 나가야 할 지 길을 쉽게 제시 해준다는 점이 참 맘에 들고 빅데이터와 관련해서 나오는 파이선 서적 들이 많은 상황에서 웹 프로그래밍 부분의 대한 입문서로 굳건히 자리를 차지할 것 같다.

     

  •  

    사실 이 책은 이번이 처음이 아니다. 몇년전 회사에서 하둡 HDP 배포판을 설치 후 사용할때 하둡 관리와 모니터링 등의
     
    작업을 위해 hue를 사용했는데 hue 가 장고로 개발 되어 있었기에 개정판 이전 버전을 잠시 본 적이 있었다.
     
    혹시나 hue 에 관심이 있는 분은 깃헙으로 https://github.com/cloudera/hue
     
    나름 잘 만들어져 있고 하둡을 하는 사람이라면 거의 사용한다고 보면 된다.
     
    깃헙에 올려진 스크린샷을 보면 이 책에 나오는 예제들과는 비교 자체가 안되므로 자세한 내용은 패스~
     
     
    어쨌든 파이썬, 장고로 개발된 것이므로 이 책을 열심히 공부하면 여러분도 언젠가...
     
    이 책은 우선 파이썬 문법이나 언어 기초적인 내용에 대해서는 이미 알고 있는 독자를 대상으로 한다.
     
    나름 웹 개발의 기초 부분도 설명이 있긴 하지만 약간의 경험자라면 더 좋을거 같다.
     
    목차 구성은 복잡하지 않다. 초반에 웹 프로그래밍과 장고에 대한 소개, 중반 이후로는 예제와 활용, 배포에 대해
     
    설명해서 잘 따라한다면 간단한 웹 프로그램을 서버에 배포해서 테스트가 가능하다.
     
    책의 분량은 360페이지 정도 이므로 너무 많은 내용을 담기에는 무리가 있어 보인다.
     
    사실 실무에서 사용할 정도의 내용을 담으려면 몇 배의 페이지 분량으로 늘어나기에,
     
    이 책은 장고 웹 개발을 기본을 익히는 부담 없는 책으로 보는 것이 좋을거 같다.
     
    인쇄는 아래 사진처럼 적절한 그림과 2도 인쇄(?)가 되어 있어 독자들을 배려한 것으로 보인다.
     
    아마 우리나라 웹 개발자들의 상당수는 자바/스프링 기반의 웹 개발을 할텐데 경험이 있다면 이 책을 보는데
     
    많이 친숙한 개념과 용어들이 있어서 낯설지 않을 것이다. 
     
    언어적인 차이점과 일부 철학적인 개념(?)들만 제외 한다면 자바/스프링 <-> 파이썬/장고 에서 상당히 유사하거나
     
    동일(또는 따라하기?)한 부분이 아주 많았고, 같은 프로토콜을 사용해 표준을 개발하는 것이므로 당연할수도 있지만
     
    1~2장의 내용은 자바로 개발할때도 거의 같다고 보면 된다. 심지어 클래스나 메소드 이름까지 같은 부분이 많다. 
     
    개정판이므로 파이썬 3에 대해서만 다루는 것은 당연한 것일테고 나처럼 윈도우 사용자를 위한 배려도 되어 있어,
     
    리눅스, 윈도우 등의 운영 체제가 다르더라도 크게 문제 안되도록 설명이 되어 있어 좋았다.
     
    시간 관계상 모든 내용을 다 이해하지는 못했지만 이 책을 목차까지 쭉~ 보고나니  
     
    -나름 괜찮은 장고 기본서, 나중에 다시 정독해서 볼 예정
     
    -책에 나온 예제가 실무에서 사용할 다양하거나 많은 부분을 커버하지는 못할거 같으니, 
    다음 단계로 넘어가려면 두꺼운 책이 필요할듯
     
    - 부담없는 분량으로 가볍게 보기 좋을듯

  • 책 제목 : 파이썬 웹 프로그래밍

    저자 : 김석훈

    출판년도 : 2018.08.17


     

     

    처음 파이썬이라는 언어를 접해봤었던게 15년전 대학생 때 였다.

    당시 파이썬으로 처음 만들었던 프로그램이 메일보내기 프로그램이었는데

    그 이후로 수많은 프로그래밍 언어를 접하다 최근에 다시 파이썬을 접하게 되었다.

     

    요즘 한국에서도 코딩교육이 유행하고 있고 시작 언어로 파이썬을 많이 사용하고 있다.

    그만큼 파이썬은 예전보다 더 인기를 얻고 있다.

     

    그 이유는 아마 파이썬의 심플함과 간단명료함, 확장성 등에 있지 않을까?.

     

    나는 책을 구매할 때 필자가 생각하는 독자층을 꼭 확인한다.

    책을 이해 할 깜냥이 안되거나, 수준에 맞지 않는 책은 피해야 한다.

    이 책의 주 독자층은 "파이썬 문법을 공부 한 후 웹프로그래밍을 배우려 하거나, 다른 언어로 

    웹 프로그래밍을 하다가 파이썬으로 전환하고자 하는 개발자"이다.

     

     

     

     

     

    책의 내용을 살펴보면...

    웹 프로그래밍에 대한 기본 개념부터 장고에 대한 소개와 활용, 웹 서버 연동 등을 다룬다.

    책의 정확한 목차는 아래와 같다.

     

    책의 목차

    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 웹 서버와 연동

     

     

    파이썬 웹 프로그래밍을 시작하기 위해 1장에서는 웹 프로그래밍에 대한 기본적인 이야기를 다룬다.

    웹 프로그래밍이란 무었인지, 웹 클라이언트 테스트, HTTP 프로토콜과 URL 등의 간단한 개념을 이야기 한다.

     

    그 후 웹 프로그래밍의 원리를 이해하기 위해 웹 라이브러리에 대해 다룬다.

    웹 라이브러리의 구성부터 시작해서 웹 클라이언트 라이브러리, 웹 서버 라이브러리, CGI/WSGI 라이브러리에 대해 설명한다.

     

    3장부터가 본편이라 할 수 있을 것 같다.

    파이썬과 장고를 설치한다.

     

    개발 실습을 위한 준비를 마친 후 장고 웹 프레임 워크에 대해 간단히 설명하고 프로젝트를 만들어

    장고에서의 애플리케이션 개발 방식과 원리에 대해 살펴본다.

     

    그 이후 장에서는 본격적으로 실무를 위한 기본 학습을 시작한다.

    장고에 익숙해 지기 위해 장고의 기능중 중요한 기능들에 실습형식으로 설명하고 

    새로운 애플리케이션를 만드는 방법과 프로젝트  첫 페이지를 만드는 방법에 대해 설명한다.

     

    6장부터는 앞의 장에서 실습하면서 만든 웹 애플리케이션을 실제 서비스 하기 위한 

    웹서버 연동 원리에 대해 설명한다.

     

     

    책을 1장부터 쭉 읽다보면 어느새 웹에대한 기본 개념을 이해하고,

    파이썬 문법들이 익숙해 지고, 애플리케이션을 만들고, 웹 서버와 연동까지 하게 되고,

    파이썬 개발에 재미를 느끼게 된다.

     

     

     

     

     

    책을 읽으면서...

    각 챕터의 시작 부분에 현재 챕터에서는 어떤 내용에 대해 말할 건지 목차를 적어두었다.

    이 덕분에 현재 챕터에서 어떤 내용이 나올 것인지 미리 예상할 수 있다.

     

     

    "NOTE" 는 책을 읽는 도중에 추가적인 이해를 돕는다.

    필자의 세심한 배려가 느껴진다.

     

    이 책은 위에서 말했듯이 파이썬 입문서는 아니다.

    파이썬으로 웹 프로그램을 만들기 위한 프레임 워크로 빠르게 배우고 쉽게 사용하기 위해 장고(Django)를 선택했다.

    파이썬을 잘 활용하는 이를 위한 활용서라고 볼 수 있다.

     

     

    이 책은 이번에 처음 출시된 책이 아니라 2015년도에 출간된 책의 개정판이다.

    그만큼 기존의 책의 내용들을 다듬고 보강해서 출간된 책 이기에,

    책 내용이 군더더기 없이, 잘 정돈되어 있다.

    난이도 자체는 어렵지 않은 편이지만 내용자체가 가볍거나 하지는 않다.

    그리고 코드마다 붙어있는 필자의 설명 역시 잘 되어 있는 편이다.

     

    파이썬을 활용해 보고 싶거나, 웹 프로그래밍에 익숙해 지고 싶다면 이 책으로 연습하길 추천한다.

     

     

     

     

     

    Reference Link

    고 공식 홈페이지

    책 소개 및 목차, 예제소스

     

  •  

    20190109_130233.jpg

     

     

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

     

    파이썬에서 제공하는 표준 라이브러리를 사용하면 우리가 필요한 웹 클라이언트를 직접 개발 할 수 있고 간단한 테스트용 웹 서버도 즉시 만들 수 있습니다.

    파이썬 웹 프레임워크는 매우 다양합니다.

    파이썬 웹 프로그래밍을 처음 접하는 사람이라면 장고 프레임워크를 사용하기를 저자를 권하고 있습니다.

     

    이 책의 설명과 예제를 통해 배울 수 있는 부분입니다.

    1. 웹 프로그래밍에 필요한 파이썬 표준 라이브러리를 활용할 수 있다.

    2. 웹 서버뿐 아니라 자신의 목적에 맞는 웹 클라이언트를 개발할 수 있다.

    3. Model, View, Template에 따른 설명과 실습을 통해 장고에서의 애플리케이션 개발 방식과 그 원리에 대해

    이해할 수 있다.

     

     

    20190109_130246.jpg

     

    파이썬 웹 프로그래밍의 기본 기술과 핵심 원리를 이해하고, 장고 웹 프레임워크를 자유자재로 사용하길 기대해 봅니다.

     

    chapter 01

    웹 프로그래밍의 이해

     

     

    웹 프로그램은 기본적으로 클라이언트-서버로 이루어 집니다. 1장에서는 우베프로그램의 기본 개념인 웹 클라이언트와 웹 서버뿐만 아니라, 웹 프라이언트와 웹 서버 간의 통신 규약인 HTTP 프로토콜, 주고 받은 메시지 중에서 가장 중요한 URL, 그리고 혼동하기 쉬운 웹 서버와 웹 애플리케이션 서버 간의 차이점과 각각의 특징 등에 대해 설명하고 있습니다.

    처음 접하는 사람이라도 충분히 알 수 있게 쉽고 자세하게 설명되어 있습니다.

     

     

    1.jpg

     

    chapter 03

    Django 웹 프레임워크

     

     

    장고는 웹 프로그램을 개발하는 데 사용하는 파이썬 웹 프레임워크 중에서 가장 준비가 잘되어 있는 프레임워크라 할 수 있습니다. 제공하는 기능이 풍부하고, 쉽고 빠르게 웹 개발이 가능하며 사용자도 가장 많습니다. 파이썬으로 웹 프로그램을, 좀 더 정확히는 웹 애플리케이션을 개발하고자 한다면, 장고로 시작하는 것이 최선의 선택이 될 것입니다.

    3장에서는 장고를 사용하여 웹 애플리케이션을 만드는 만정을 소개하고 있습니다.

    장고의 온라인 도큐멘트 활용

    https://docs.djangoproject.com

     

     

    이 책에서 사용한 실습 예제는 자옥의 온라인 도큐멘트에서 발췌에서 사용되었습니다.

     

    chapter 04

    Django의 핵심 기능

     

     

    4장에서는 장고의 수많은 기능 중에서 실제 프로젝트 개발을 위해 꼭 알아야 된다고 판단되는 기능을 6개로 선별하여 각각을 설명하고 있습니다. 이 중에서도 특히 클래스형 뷰는 초급을 넘어 중급 개발자로 도약하기 위해서 반드시 습득해야 할 핵심기능입니다.
     

     

     

    20190109_130558.jpg

     

    20190109_130613.jpg

     

    20190109_130620.jpg

     

    20190109_130626.jpg

     

    chapter 05

    실습 예제 확장하기

     

     

     

    5장에서는 3장의 예제를 확장하여 클래스형 뷰를 사용하는 애플리케이션을 만드는 실습을 합니다.

    우선 books라는 새로운 애플리케이션을 만들어 보면서 클래스형 뷰의 사용법을 익히고, 그 다음에 함수형 뷰로 되어 있는 기존의 polls 애플리케이션을 클래스형 뷰로 변경하는 예제 실습을 합니다.

     

     

     

    20190109_130723.jpg

     

    20190109_130732.jpg

     

    20190109_130738.jpg

     

    20190109_130743.jpg

     

    책을 통해 반복적인 예제 실습을 한다면 많은 도움이 되리라 생각됩니다.

     

     

     

    한빛미디어 <나는 리뷰어다> 12월 서평 이벤트에 당첨돼서 책을 제공받아 작성한 글입니다.

     

     

     

     

     

     

     

     

     

     

     

     

  • 일단 첫 느낌은 책두께가 개발서적이 맞나? 싶을정도로 매우 얇아서 쉽게 쉽게 읽기 좋다라는 점


    개발서적이 두꺼우면 그만큼 많은 양을 담고 있어서 참고하고 적용하기는 좋으나, 


    일단 초보자들에게는 두꺼운 책을 넘기는 것과 책에서 원하는 내용을 찾는 것부터가 넘어야될 산으로 다가올 것입니다.


    반면에 이 책은 얇고 웹프로그래밍 지식의 전반적인 것을 초반부에 다루고 있어서, 


    웹 개발에 대해 모르는 초보자들에게도 유익한 정보를 제공해 주고 있습니다.

     

    특이점 두번째, 파이썬 책임에도 불구하고, 문법을 소개하는 섹션이 없습니다.


    정말이지 책의 목차에서 조차 문법섹션을 찾아 볼 수가 없습니다.


    뭐 어떻게 보면 이것은 파이썬 언어의 최대 장점이기 때문이라고 말할 수도 있겠지만,


    책에서 예제들을 따라하다 보면, 대강의 문법들은 습득이 되는 식의 교습방법을 채택하고 있습니다.


    그리고 대부분의 책 내용이 Django 프레임 워크를 이용한 웹 애플리케이션 개발에 촛점이 맞추어져 있습니다.


    따라서 파이썬 문법이 궁금하신 분들에게는 다소 이책이 맞지 않을 수는 있을것 같다는 생각이 듭니다.



    책 후반부에는 파이썬 웹 프로젝트를 서버에 배포하는 방법에 대해서 설명하고 있습니다.


    아파치, NGINX, 클라우드에 배포를 하는 방법에 대해서 간략히 설명하고 있습니다.


    그리고 몇가지 라이브러리 사용법도 간략히 소개하고 있습니다.

     

    이 책은 장고 프레임워크의 마스터로 인도하지는 않습니다. 다만, 장고를 손쉽게 익히고 맛볼수 있을 정도로


    소개하고 있습니다. 웹프로그래밍, 웹 개발이 어렵게만 느껴졌던 분들 이 책을 통해서


    높은 벽을 조금이라도 낮츨 수 있는 사다리 같은 매개체가 될수 있을 것이라고 생각합니다.

     

  • 2019 새해가 밝았습니다.

     

    해피뉴이어!

     

    이 글을 보는 모든 분들께 그리고 이렇게 리뷰를 할 수 있게 제공해주신 한빛미디어 관계자분께도

    진심으로 감사의 인사를 드립니다.

     

    새해 첫 서적부터 제가 가장 건드려보고 싶었던 베스트 기술 10중 하나인

     

    장고 프레임워크를 이용한 파이썬 웹 개발!을 리뷰하게 되었습니다.

     

    시작해볼까요?

     

     

    웹 개발부터 클라우드 배포, Apache/NGINX 웹 서버 연동까지!

     


     

    1.jpg


     

    2.jpg


     

     

     

     

     

    파이썬으로 웹 프로그래밍을 시작하기 전에 웹 프로그래밍의 기본 기술에 대해 이해할 필요가 있습니다. 이는 파이썬뿐만 아니라 다른 언어를 사용하여 웹 프로그래밍을 하더라도 반드시 이해하고 있어야 하는 필수 기술입니다.

     

     

    웹 프로그래밍을 이해하지 못한다면 사실상 이 서적을 읽는 의미가 없다.

    그래서 이제부터 나오는 챕터1은 반드시 정독하고 시작하길 바란다.

    단순히 웹의 개념뿐만 아니라 클라이언트, 프로토콜, 요청 방식 등 기본적으로 웹 전반에 걸쳐

    필수적으로 알아야 될 사항을 기술해 놓았기 때문이다.

     

     

    DAY 1

    웹 프로그래밍

    기본중의 기본

     

     

     


     

    3.jpg


     

    4.jpg


     

    5.jpg


     

     

    2장에서는 웹 표준 라이브러리에 대하여 나온다.

    프로그래밍은 라이브러리만 잘 활용해도 훌륭한 프로그램을 완성할 수 있다고 생각한다.

    요리사에게 좋은 재료가 있어 맛있는 요리를 만들 수 있듯이 말이다.

    일단, 파이썬을 설치하면 기본적으로 같이 설치되는 표준 라이브러리가 있다.

    하지만 웹 서버/클라이언트 프로그래밍이냐에 따라서 사용하는 라이브러리 모듈이 달라진다.

    그리고 요새 대세는 웹/앱이다. 알고 계신 분은 아시겠지만, 수요가 어마어마하다.

    커뮤니티/라이브러리 모듈 등 수요가 많은 곳은 당연히 활성화가 잘 되어있기 마련이다.

    파이썬이라는 언어도 수요가 많은 언어 중 하나이기 때문에 라이브러리 모듈이 지속적으로 발전하고 있다.

    그것도 매우 빠르게!

     

     

    DAY 2

    Django 프레임워크

    매우 궁금한 녀석.

     

     

    가장 준비가 잘 되어 있는 프레임워크

     

     

     


     

    6.jpg


     

    7.jpg


     

    8.jpg


    장고는 현재 가장 많이 사용되는 파이썬 웹 프레임워크다.

    주요 기능별 특징을 살펴보자면 MVC 패턴 기반 MVT, 객체 관계 매핑, 자동으로 구성되는 관리자 화면, 우아한 URL 설계, 자체 템플릿 시스템 등등등.. 많이 있다. 장고 프레임워크를 설치하는 방법은 서적에 자세히 나와 있으니 궁금하면 서적을 구매해서 보길 바란다.

    전혀 아깝지 않다.

    그리고 위에 언급한 특징, 프로젝트 뼈대 만들기, 코딩 방법이 자세히 나와있다.

     

    3장에서는 장고 프레임워크가 무엇인지 간단하게 설명한 챕터라면 4장은 핵심 기능이 무엇인지 본격적으로 보여준다.

    Admin 사이트 다루기, 파이썬 쉘로 데이터 조작하는 방법, 템플릿, 폼 처리, 상속 등 핵심 내용이 많은 챕터다.

    4~6장은 두번, 세번 읽기를 바란다.

     

     

    DAY 3

    실전? 실전!

    확장해보자

     

     

    설계부터 로그 추가까지

     

     


     

    9.jpg


     

    10.jpg


     

    11.jpg


    그 동안 배운 것을 써먹을 수 있는 시간이다.

    특히 애플리케이션을 설계하고 뼈대를 잡을 수 있도록 자세하게 설명이 되어있다.

     

    그 뒤로 생각보다 많은 양(?)의 코딩을 순차적으로 거친 후, 최종 확인하는 챕터다.

    그리고 하드코딩 하는 부분을 어느 정도 개선할 수 있는 apps.py 활용 등도 알아두면 재미있을 것 같다.

    재미있는 챕터5(정독 요망)를 무사히 넘기면 장고 웹 서버 연동 원리에 대하여 학습할 수 있다.

     

    장고의 WSGI 인터페이스, 장고 설정 사항에 대하여 나와있다.

    처음에 잠시 보았던 내용이지만, 여기서 한번 더 상기하길 바란다.

    특히 웹 서버, 웹 애플리케이션 서버, 애플리케이션 동작과 프로세스에 대하여 알아두어야 편하다.

     

     

    DAY 4

    클라우드
    저장하는 그 공간 말고!
     
    클라우드 서버
     
     
     

    12.jpg

    13.jpg

     
     

    만약 장고 웹 프로그램을 개발 후 오픈 예정이라면, 운영 서버를 준비하고 개발한 프로그램을 배포하여야 한다.

    제일 좋은 것은 개인용 서버가 있으면 가장 좋지만, 없다면 클라우드 서버를 이용하자.

    참고로 필자는 Hp 서버를 돌리고 있다.

     

    주로 구글 또는 AWS, 마소 애저 등 클라우드 서버를 제공해주는 업체는 상당히 많이 있다.

    아쉽게도 AWS를 제대로 사용해보진 못햇지만, 마소 애저는 지금도 간혹 사용 중이다.

    하지만, 유료이기 때문에 서적에서는 PythonAnywhere 라는 사이트를 활용한다.

     

    대부분 클라우드 서버는 리눅스 OS를 사용하고 있기 때문에 리눅스 기본 명령어나 사용법을 알고 있으면

    확실히 편하다. 만약 모르더라도 상관없다. 천천히~ 천천히 해보자.

     

    아파치 서버와 연동하는 부분도 있으니, 이 부분 역시 천천히 익혀보자.

     

     

    DAY 5

    쓰임새가 매우 많다.
    서버 연동
     
    NGINX 웹 서버
     
     

    14.jpg

     
     

    NGINX 웹 서버와 장고 프로그램을 연동하기 위한 챕터다.

  • 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

      

부록/예제소스
자료명 등록일 다운로드
예제소스 2018-08-14 다운로드
결재하기
• 문화비 소득공제 가능
• 배송료 : 0원배송료란?

배송료 안내

  • 책, 아이템 등 상품을 3만원 이상 구매시 무료배송
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

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

닫기

리뷰쓰기

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

* 리뷰 작성시 유의사항

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

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

오탈자 등록

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

도서 인증

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

* 회원가입후 도서인증을 하시면 마일리지 500점을 드립니다.

* 한빛 웹사이트에서 구입한 도서는 자동 인증됩니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한됩니다.

* 절판도서, eBook 등 일부 도서는 도서인증이 제한됩니다.

닫기

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

자료실