스크랩

구간

Flask 기반의 파이썬 웹 프로그래밍 생산성을 보장하면서도 가벼운 웹 프레임워크, 플라스크

이지호 저 | 제이펍 | 2016년 05월

미리보기 북트리

정가
$66.00
판매가
$53.46 (19%↓) 최저가 보상
적립금
$1.07 (2%P)
출고예상일
2026년 10월 08일 수령예상일 안내
북카트 담기 바로구매하기 위시리스트담기

평점 -  ·  리뷰 0

리뷰 쓰기

ISBN : 9791185890463 / 576쪽 188 x 245 (㎜)

이 상품에 궁금하신점이 있으세요? 1:1상담문의

추천inside
Adobe Flash Player 가져오기

이 분야의 베스트셀러

아래의 도서와 구매하시면 이 도서들의 적립금을 즉시적용해 드립니다.

책 소개

반디앤루니스 리뷰

파이썬으로 웹 프로그래밍을 개발하는 가장 쉬운 방법!

이 책은 웹 프로그램의 개발 과정에서 꼭 알아야 하는 내용으로 가득 차 있습니다. Flask로 웹 프로그램을 구현하는 방법, 그리고 개발자가 프로그램을 손쉽게 배포하는 방법부터 프로그램이 진화하는 과정에 이르기까지 웹 프로그램 개발에 필요한 전반적인 지식을 모두 다루고 있습니다. 늘 가까운 곳에 두고 찾아본다면 개발에 필요한 꽤 많은 시간을 줄일 수 있을 것입니다. 또한, 파이썬으로 웹 프로그램을 개발하는 일이 얼마나 쉽고 안정적인지를 확인할 수 있을 겁니다.

출판사 리뷰

출판사 서평 파이썬으로 웹 프로그래밍을 개발하는 가장 쉬운 방법! 이 책은 웹 프로그램의 개발 과정에서 꼭 알아야 하는 내용으로 가득 차 있습니다. Flask로 웹 프로그램을 구현하는 방법, 그리고 개발자가 프로?그램을 손쉽게 배포하는 방법부터 프로그램이 진화하는 과정에 이르기까지 웹 프로그램 개발에 필요한 전반적인 지식을 모두 다루고 있습니다. 늘 가까운 곳에 두고 찾아본다면 개발에 필요한 꽤 많은 시간을 줄일 수 있을 것입니다. 또한, 파이썬으로 웹 프로그램을 개발하는 일이 얼마나 쉽고 안정적인지를 확인할 수 있을 겁니다. 출판사 ... 파이썬으로 웹 프로그래밍을 개발하는 가장 쉬운 방법! 이 책은 웹 프로그램의 개발 과정에서 꼭 알아야 하는 내용으로 가득 차 있습니다. Flask로 웹 프로그램을 구현하는 방법, 그리고 개발자가 프로그램을 손쉽게 배포하는 방법부터 프로그램이 진화하는 과정에 이르기까지 웹 프로그램 개발에 필요한 전반적인 지식을 모두 다루고 있습니다. 늘 가까운 곳에 두고 찾아본다면 개발에 필요한 꽤 많은 시간을 줄일 수 있을 것입니다. 또한, 파이썬으로 웹 프로그램을 개발하는 일이 얼마나 쉽고 안정적인지를 확인할 수 있을 겁니다. 출판사 서평 Flask 입문자를 위해 라인 단위로 코드 설명! 실무에 바로 적용하도록 실용적 코드로 구성! 설치부터 개발, 서비스 운용 전반을 다룬 Flask 바이블! 웹 프로그램은 어떤 언어로도 구현할 수 있지만, 파이썬만큼 생산성을 보장하는 언어는 많지 않 습니다. 또한, 수많은 파이썬 커뮤니티로부터 웹 프로그램 개발에 필요한 거의 모든 도움을 받을 수 있을 것입니다. 그러나 Flask는 가볍고 빠른 생산성을 갖고 있음에도 국내 자료가 많지 않았던 것이 사실입니다. 이 책은 웹 프로그램의 개발 과정에서 꼭 알아야 하는 내용으로 가득 차 있습니다. Flask로 웹 프로그램을 구현하는 방법, 그리고 개발자가 프로그램을 손쉽게 배포하는 방법부터 프로그램이 진화하는 과정에 이르기까지 웹 프로그램 개발에 필요한 전반적인 지식을 모두 다루고 있습니다. 늘 가까운 곳에 두고 찾아본다면 개발에 필요한 꽤 많은 시간을 줄일 수 있을 것입니다. 또한, 파이썬으로 웹 프로그램을 개발하는 일이 얼마나 쉽고 안정적인지를 확인할 수 있을 것입니다. 이 책의 주요 내용 * 웹 프로그램의 통신 과정 * Flask를 사용해 웹 프로그램을 빨리 만들고 서비스하는 방법 * 안정적인 웹 프로그램을 만드는 방법 * 웹 프로그램을 웹 서버(Apache2, NGINX)와 독립 컨테이너(Gunicorn, Tornado)에 배포하는 방법 * 웹 프로그램 개발의 지속적인 진화를 위해 소스 저장소, Jenkins를 사용한 회귀 테스트 * 실무에서 유용하게 사용할 수 있는 프라이빗 검색 엔진(Solr) 연동 * 백그라운드 작업을 안정적으로 실행하기 위한 Celery * 웹 프로그램을 PaaS 서비스 중 하나인 GAE에 올리는 방법

저자 소개

초등학교에서 GW-BASIC을 처음 배우고, 중학교에서는 프로그래밍에 큰 흥미를 느껴 독학으로 프로그램 개발을 시작했습니다. 현재는 한국방송통신대학교 대학원의 정보과학과에서 데이터베이스를 연구하고 있습니다. 자바스크립트와 파이썬을 접한 이후로는 두 언어를 조합해서 어떤 결과물을 만드는 것을 좋아합니다. 파이썬과 데이터베이스로 우주 정복을 꿈꾸는, 철없는 면도 있습니다.
『Flask 기반의 파이썬 웹 프로그래밍』(제이펍, 2016)을 집필했고, 『코딩 클럽 LV2. 본격 파이썬 입문』, 『코딩 클럽 LV3. 제대로 된 파이썬 앱 만들기』(한빛미디어, 2015)를 함께 옮겼습니다.

책 속에서

HTTP 응답 메시지는 첫 행에 HTTP 버전, HTTP 상태 코드, 그리고 상태 코드 문자열이 표시되고, 두 번째 행부터는 HTTP 메시지 헤더 정보를 순서 없이 기술합니다. HTTP 요청/응답 메시지에는 사용자 정의 헤더가 포함될 수 있는데, 웹 프로그램과 웹 브라우저가 사용자 정의 헤더를 해석할 수 있을 때만 의미를 가지며 헤더 명은 ‘X-’로 시작합니다. 바디에는 HTTP 클라이언트가 HTTP 메시지에 담아 서버로 보내고자 하는 일반 문자열 또는 MIME 메시지가 기록됩니다. _6p<br><br>웹 브라우저는 웹 서버로부터 받은 응답에 Set-Cookie 헤더가 포함되어 있으면 쿠키를 설정합니다. 브라우저에 설정된 쿠키는 웹 애플리케이션의 URL을 호출할 때 HTTP 요청 메시지에 Cookie 헤더에 쿠키명=값의 형태로 설정되어 전달됩니다. 이렇게 웹 애플리케이션으로 전달된 쿠키는 Flask request 클래스의 cookies 속성에서 쿠키 이름으로 참조할 수 있습니다. _76p<br><br>우리는 이번 절을 통해 템플릿에서 시퀀스 변수를 반복할 수 있는 for 문과 처리 흐름을 제어할 수 있는 if 문에 대해 알아봤습니다. for 문은 대부분의 사이트에서 활용 빈도가 높기 때문에 잘 알아두는 것이 좋으며, if 문은 루프를 비롯해 템플릿의 모든 영역에서 수행되며 템플릿 내용의 출력을 제어하는 데 사용되므로 반드시 사용 방법을 숙지해두는 게 좋습니다. 이번 절을 통해 템플릿의 내용을 잘 제어할 수 있기를 바랍니다. _150p<br><br>우리나라에서 서비스하는 대부분의 전자상거래 사이트에서는 ActiveX 없이 신용카드 결제를 하지 못하지만, ActiveX 없이 신용카드 결제가 가능한 곳도 있습니다. 이때 신용카드번호를 안전하게 저장 및 보관해서 이용하려면 신용카드번호에 대해 유효성 검증을 수행해야 합니다. _240p<br><br>Flask 애플리케이션 테스트를 위해서는 setUp 메서드에서 먼저 Flask 애플리케이션의 테스트 클라이언트를 가져와야 합니다. 애플리케이션에 따라 종종 setUp 메서드에서 DB를 생성하거나 애플리케이션의 디버깅 모드를 설정할 수도 있습니다. _308p<br><br>2016년 5월 현재 기준으로 아파치 솔라는 5.5.0 버전이 나와 있습니다. 필자는 리눅스 환경에 설치를 권장하므로 solr-5.5.0.tgz 파일을 다운로드하기 바랍니다. 이 압축 파일의 형식은 tar로 파일을 묶고 나서 GZip으로 압축한 것입니다. 확장자는 tar.gz로 하는 게 일반적이지만, 구 도스(DOS)의 확장자 제한과 관련해서 확장자명을 세 자리로 한정할 경우에는 tgz로 쓰기도 합니다. 파일을 다운로드했으면 압축 파일을 풀고 실행해볼 차례입니다. _462p

목차

목차
CHAPTER 1 웹 프로그램이란 무엇인가? 1
1.1 웹 프로그램의 통신 구조 2
1.2 파이썬을 위한 웹 프로그램 통신 규약 6
1.3 파이썬 웹 프로그래밍 맛보기 9
CHAPTER 2 Flask 시작하기 17
2.1 Flask와 함께 떠나는 웹 여행 18
2.2 라우팅 36
2.3 요청과 응답 다루기 48
2.4 쿠키와 세션 다루기 75
2.4.1 SQLAlchemy에 기반한 사용자 정의 세션 인터페이스 81
2.4.2 SQLite에 기반한 사용자 정의 세션 인터페이스 88
2.4.3 pymongo에 기반한 사용자 정의 세션 인터페이스 94
2.4.4 Redis에 기반한 사용자 정의 세션 인터페이스 97
2.4.5 Beaker 라이브러리에 기반한 사용자 정의 세션 인터페이스 101
2.5 에러와 로깅 104
2.6 로컬 서버 실행하기 115
CHAPTER 3 템플릿 다루기 119
3.1 주석 126
3.2 공백 다루기 127
3.3 이스케이프 처리 134
3.4 제어와 반복 처리(if, for) 143
3.5 템플릿 상속 151
3.6 재활용(macro, import, include) 157
3.7 템플릿 필터 작성과 사용 168
CHAPTER 4 Flask 기본 확장 179
4.1 데이터베이스 연동 180
4.1.1 SQLAlchemy 180
4.1.2 MongoKit 195
4.2 뷰 데코레이터 209
4.3 폼 유효성 검사 217
4.4 HTTP 오류 핸들링 242
4.5 메시지 Flashing 248
4.6 Ajax 처리 257
CHAPTER 5 Flask 고급 확장 263
5.1 모듈별 협업하기(Blueprint) 264
5.2 파일 업로드 다루기 275
5.3 캐싱 294
5.4 HTTP 메서드 덮어쓰기 299
CHAPTER 6 Flask 애플리케이션 테스트 305
6.1 테스팅 스켈레톤 작성 307
6.2 테스트 케이스 구성 310
6.3 어설션 메서드 사용 318
6.4 리소스와 컨텍스트 흉내내기 327
6.5 세션 접근과 수정 330
CHAPTER 7 웹 애플리케이션 배포 333
7.1 웹 서버와의 연동 334
7.1.1 apache2에서의 연동(mod_python, mod_wsgi) 335
7.1.2 nginx와 uwsgi 연동 341
7.2 WSGI 컨테이너 이용하기(Tornado, Gunicorn) 346
7.3 통합 테스트를 위한 테스트 스위트 구성 350
CHAPTER 8 지속 가능한 개발 환경 구성 359
8.1 버전 관리 시스템 선택 361
8.2 원격 저장소 사용하기 364
8.2.1 GitHub 366
8.2.2 BitBucket 382
8.3 GitLab을 사용한 프로젝트 관리 395
8.4 Jenkins를 사용한 회귀 테스트 구성 409
CHAPTER 9 Google App Engine에 Flask 애플리케이션 배포하기 419
9.1 GAE 환경 구성 및 마이그레이션 421
9.2 데이터베이스 환경 구성 435
9.3 GAE 로컬 확인 및 업로드하기 455
CHAPTER 10 Apache Solr 연동 459
10.1 Apache Solr 설치 460
10.2 Solr 코어 구성 464
10.3 Solr 데이터 인덱싱 466
10.4 pysolr로 Solr 사용하기 473
CHAPTER 11 Celery 기반 백그라운드 작업 구성 481
11.1 Celery 설치 484
11.2 Flask에 Celery 설정 구성 485
11.3 Celery Task 생성과 실행 490
11.4 Celery Task 실행 결과와 활용 499
11.5 마치며 507
APPENDIX A Python 설치 509
A.1 윈도우에서의 설치 509
A.2 리눅스에서의 설치 514
A.3 맥 OS X에서의 설치 516
APPENDIX B 파이썬 통합 개발 환경 구성 521
APPENDIX C 가상 환경 구성 523
APPENDIX D Flask 설치 526
APPENDIX E PostgreSQL 9.4 설치 527
APPENDIX F GitLab 설치 530
APPENDIX G 윈도우에서 SSH 접속 환경 구성 535
찾아보기 542

top