Flask 기반의 파이썬 웹 프로그래밍
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
패키지
북카드
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.
작가정보
저자(글) 이지호
저자 이지호는 초등학교에서 GW-BASIC을 처음 배우고, 중등 시절부터 프로그래밍에 본격적인 흥미를 느껴 이후 독학으로 프로그램 개발을 시작하였다. 현재는 한국방송통신대학교 대학원의 정보과학과에서 데이터베이스를 연구하고 있다. 파이썬을 접한 이후로는 프로그램 만들 일이 생기면 파이썬으로만 개발하는 파이썬 애호가다. 파이썬과 데이터베이스로 우주 정복을 꿈꾸고 있는, 아직 철없는 개발자이기도 하다.
목차
- 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
책 속으로
HTTP 응답 메시지는 첫 행에 HTTP 버전, HTTP 상태 코드, 그리고 상태 코드 문자열이 표시되고, 두 번째 행부터는 HTTP 메시지 헤더 정보를 순서 없이 기술합니다. HTTP 요청/응답 메시지에는 사용자 정의 헤더가 포함될 수 있는데, 웹 프로그램과 웹 브라우저가 사용자 정의 헤더를 해석할 수 있을 때만 의미를 가지며 헤더 명은 ‘X-’로 시작합니다. 바디에는 HTTP 클라이언트가 HTTP 메시지에 담아 서버로 보내고자 하는 일반 문자열 또는 MIME 메시지가 기록됩니다. _6p
웹 브라우저는 웹 서버로부터 받은 응답에 Set-Cookie 헤더가 포함되어 있으면 쿠키를 설정합니다. 브라우저에 설정된 쿠키는 웹 애플리케이션의 URL을 호출할 때 HTTP 요청 메시지에 Cookie 헤더에 쿠키명=값의 형태로 설정되어 전달됩니다. 이렇게 웹 애플리케이션으로 전달된 쿠키는 Flask request 클래스의 cookies 속성에서 쿠키 이름으로 참조할 수 있습니다. _76p
우리는 이번 절을 통해 템플릿에서 시퀀스 변수를 반복할 수 있는 for 문과 처리 흐름을 제어할 수 있는 if 문에 대해 알아봤습니다. for 문은 대부분의 사이트에서 활용 빈도가 높기 때문에 잘 알아두는 것이 좋으며, if 문은 루프를 비롯해 템플릿의 모든 영역에서 수행되며 템플릿 내용의 출력을 제어하는 데 사용되므로 반드시 사용 방법을 숙지해두는 게 좋습니다. 이번 절을 통해 템플릿의 내용을 잘 제어할 수 있기를 바랍니다. _150p
우리나라에서 서비스하는 대부분의 전자상거래 사이트에서는 ActiveX 없이 신용카드 결제를 하지 못하지만, ActiveX 없이 신용카드 결제가 가능한 곳도 있습니다. 이때 신용카드번호를 안전하게 저장 및 보관해서 이용하려면 신용카드번호에 대해 유효성 검증을 수행해야 합니다. _240p
Flask 애플리케이션 테스트를 위해서는 setUp 메서드에서 먼저 Flask 애플리케이션의 테스트 클라이언트를 가져와야 합니다. 애플리케이션에 따라 종종 setUp 메서드에서 DB를 생성하거나 애플리케이션의 디버깅 모드를 설정할 수도 있습니다. _308p
2016년 5월 현재 기준으로 아파치 솔라는 5.5.0 버전이 나와 있습니다. 필자는 리눅스 환경에 설치를 권장하므로 solr-5.5.0.tgz 파일을 다운로드하기 바랍니다. 이 압축 파일의 형식은 tar로 파일을 묶고 나서 GZip으로 압축한 것입니다. 확장자는 tar.gz로 하는 게 일반적이지만, 구 도스(DOS)의 확장자 제한과 관련해서 확장자명을 세 자리로 한정할 경우에는 tgz로 쓰기도 합니다. 파일을 다운로드했으면 압축 파일을 풀고 실행해볼 차례입니다. _462p
출판사 서평
파이썬으로 웹 프로그래밍을 개발하는 가장 쉬운 방법!
이 책은 웹 프로그램의 개발 과정에서 꼭 알아야 하는 내용으로 가득 차 있습니다. Flask로 웹 프로그램을 구현하는 방법, 그리고 개발자가 프로그램을 손쉽게 배포하는 방법부터 프로그램이 진화하는 과정에 이르기까지 웹 프로그램 개발에 필요한 전반적인 지식을 모두 다루고 있습니다. 늘 가까운 곳에 두고 찾아본다면 개발에 필요한 꽤 많은 시간을 줄일 수 있을 것입니다. 또한, 파이썬으로 웹 프로그램을 개발하는 일이 얼마나 쉽고 안정적인지를 확인할 수 있을 겁니다.
출판사 서평
Flask 입문자를 위해 라인 단위로 코드 설명!
실무에 바로 적용하도록 실용적 코드로 구성!
설치부터 개발, 서비스 운용 전반을 다룬 Flask 바이블!
웹 프로그램은 어떤 언어로도 구현할 수 있지만, 파이썬만큼 생산성을 보장하는 언어는 많지 않
습니다. 또한, 수많은 파이썬 커뮤니티로부터 웹 프로그램 개발에 필요한 거의 모든 도움을 받을
수 있을 것입니다. 그러나 Flask는 가볍고 빠른 생산성을 갖고 있음에도 국내 자료가 많지 않았던 것이 사실입니다.
이 책은 웹 프로그램의 개발 과정에서 꼭 알아야 하는 내용으로 가득 차 있습니다. Flask로 웹 프로그램을 구현하는 방법, 그리고 개발자가 프로그램을 손쉽게 배포하는 방법부터 프로그램이 진화하는 과정에 이르기까지 웹 프로그램 개발에 필요한 전반적인 지식을 모두 다루고 있습니다. 늘 가까운 곳에 두고 찾아본다면 개발에 필요한 꽤 많은 시간을 줄일 수 있을 것입니다. 또한, 파이썬으로 웹 프로그램을 개발하는 일이 얼마나 쉽고 안정적인지를 확인할 수 있을 것입니다.
이 책의 주요 내용
* 웹 프로그램의 통신 과정
* Flask를 사용해 웹 프로그램을 빨리 만들고 서비스하는 방법
* 안정적인 웹 프로그램을 만드는 방법
* 웹 프로그램을 웹 서버(Apache2, NGINX)와 독립 컨테이너(Gunicorn, Tornado)에 배포하는 방법
* 웹 프로그램 개발의 지속적인 진화를 위해 소스 저장소, Jenkins를 사용한 회귀 테스트
* 실무에서 유용하게 사용할 수 있는 프라이빗 검색 엔진(Solr) 연동
* 백그라운드 작업을 안정적으로 실행하기 위한 Celery
* 웹 프로그램을 PaaS 서비스 중 하나인 GAE에 올리는 방법
기본정보
ISBN | 9791185890463 |
---|---|
발행(출시)일자 | 2016년 05월 24일 |
쪽수 | 576쪽 |
크기 |
188 * 245
* 27
mm
/ 1105 g
|
총권수 | 1권 |
Klover
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
구매 후 리뷰 작성 시, e교환권 100원 적립