이미 소장하고 있다면 판매해 보세요.
|
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로 쓰기도 합니다. 파일을 다운로드했으면 압축 파일을 풀고 실행해볼 차례입니다. ---p.462 |