책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 웹 서비스/웹 프로그래밍
· ISBN : 9788998139414
· 쪽수 : 316쪽
책 소개
목차
[PART 01] 파이썬 웹 애플리케이션 시작하기
▣ 1장: 파이썬과 웹 애플리케이션
1.1 파이썬
- 인터프리터 기반의 객체 지향(Object-oriented) 프로그래밍 언어
- 플랫폼 독립적인 언어 (Platform Independent)
- 유연한 확장(Extendible)
- 동적 타이핑(Dynamic Typing)
- 리플렉션(Reflection)
1.2 웹 애플리케이션 개발 동향
1.3 풀 스택 프레임워크 vs. 마이크로 프레임워크
1.4 대표적인 마이크로 프레임워크
- 시나트라(루비)
- 스칼라트라(Scalatra, Scala)
- 보틀(Bottle, 파이썬)
1.5 플라스크(Flask)
- 플라스크의 특징
- 플라스크 웹 애플리케이션 살펴보기
▣ 2장: 개발 환경 설정
2.1 설치 개요
2.2 파이썬 설치
2.3 플라스크 설치
2.4 통합개발 환경(IDE) 설치
- 이클립스 설치
- PyDev 설치
2.5 깃허브(Github) 저장소 연결
- 깃(Git)
- 깃허브(Gitbub)
로컬로 예제 소스 가져오기
2.6 플라스크 애플리케이션 실행
▣ 3장: 플라스크 시작하기
3.1 첫 플라스크 애플리케이션, "Hello Flask!"
3.2 라우팅
3.3 요청과 응답
3.4 쿠키와 세션
3.5 정적 파일과 템플릿
- 주석
- 공백
- 이스케이핑
- for
- if
- macro
- import
- extends
- include
3.6 에러와 로깅
3.7 로컬 서버 실행
▣ 4장: 작은 트위터, 미니 트윗(minitwit)
4.1 미니 트윗 개요
4.2 데이터베이스처리
4.3 뷰 함수 구현
- 사용자 등록
- 로그인/로그아웃
- 트윗 등록
- 팔로우/언팔로우
- 타임라인
4.4 정적 파일과 템플릿
[PART 02] 파이썬 웹 애플리케이션 만들기
▣ 5장: 추억을 기록한다, 포토로그(Photolog)
5.1 포토로그 개요
5.2 클라이언트 측 구조
- 부트스트랩(bootstrap)
- 폰트 어썸(Font Awesome)
- jQuery 자바스크립트 라이브러리
- exif.js와 binaryajax.js
- gmaps.js
5.3 애플리케이션 레이아웃
5.4 서버 측 구조
- MVC(Model-View-Controller)
- 패키지 초기화
- 로깅
- SQLAlchemy
- 블루프린트
- 세션
- WTForms
5.5 필요한 패키지 설치
▣ 6장: 사용자 관리와 로그인
6.1 사용자 등록
6.2 사용자 정보 변경
6.3 사용자 탈퇴
6.4 로그인/로그아웃
▣ 7장: EXIF분석과 사진업로드
7.1 EXIF 분석과 입력 값 처리
7.2 지도에 위치 정보 표시
7.3 사진 및 데이터 저장
▣ 8장: 포토로그 사진 보여주기
8.1 사진 목록 출력
8.2 페이징
8.3 수정/삭제
8.4 검색
8.5 지도에 위치 출력
▣ 9장: SNS 연동
9.1 트위터 애플리케이션 등록
- Application Details
- OAuth Settings
9.2 간단한 트위터 클라이언트 만들기
9.3 트위터 연동 모듈 개발
9.4 트윗 결과 메시지 출력
9.5 트위터 연동 확인
[PART 03] 파이썬 웹 애플리케이션 서비스하기
▣ 10장. 아파치로 포토로그 서비스하기
10.1 아파치 웹 서버(Apache HTTP Server)
10.2 mod_wsgi 확장 모듈
10.3 아파치와 mod_wsgi 설치
10.4 아파치와 mod_wsgi 설정
10.5 아파치로 포토로그 실행
▣ 11장: 엔진엑스로 파이썬 웹 애플리케이션 서비스하기
11.1 엔진엑스 웹 서버(Nginx Web Server)
11.2 uWSGI애플리케이션서버
11.3 엔진엑스와 uWSGI 설치
11.4 엔진엑스와 uWSGI 설정
11.5 엔진엑스로 포토로그 실행
▣ APPENDIX 01: 레디스(Redis) 살펴보기
1.1 개요
1.2 특징
- 다양한 데이터형(Data Type)
- 영속성(Persistence)
- 복제(Replication)
- 분할(Partitioning)
- 만료(Expiration)
1.3 OS별 설치
- 윈도우
- 맥OS/리눅스
1.4 포토로그 애플리케이션에 적용하기
▣ APPENDIX 02: 구글 앱 엔진 사용하기
2.1 개요
2.2 구글 앱 엔진 개발 환경
2.3 앱 엔진을 위한 플라스크 프로젝트 구성
2.4 구글 앱 엔진에 배포하기
리뷰
책속에서
플라스크는 강력한 기능을 제공하지만 쉽게 배울 수 있는 파이썬의 특징을 그대로 닮아 있다. 하지만 세상에 만병통치약은 없는 법! 플라스크 역시 '은탄환'은 아니다. 플라스크는 웹 개발에 필요한 핵심적인 기능을 제공하지만 추가적으로 필요한 기능은 개발자가 직접 해당 모듈을 찾아 통합해야 한다. 그리고 뷰 함수(view function)라고 하는 기본 호출 단위를 제외하면 정해진 개발 가이드라인이 없어서 개발 환경에 맞게 프레임워크를 적절히 설계하고 구조화할 필요도 있다.
그럼에도 기존 웹 개발에 대한 대안으로 파이썬과 플라스크는 굉장히 매력적이다. 기존 웹 개발을 경험해본 개발자에게는 개발 도메인에 따라 좀 더 유연한 개발 환경을 적용할 필요가 있을 때 사용할 대안으로 사용하기에 좋다. 또한 웹 개발 경험이 없더라도 단지 몇 시간만 투자하면 간단한 웹 애플리케이션을 개발할 수 있을 정도로 이해하기 쉽고 사용하기 편리하다.
이 책은 기본적인 파이썬 문법을 아는 초보자를 대상으로 한다. 하지만 파이썬을 사용해본 적이 없더라도 파이썬 기본서나 인터넷에 있는 간단한 강좌를 한번 살펴보면 어렵지 않게 내용을 이해할 수 있을 것이다.
이 책은 총 3부로 다음과 같이 구성돼 있다.
1부에서는 '파이썬 웹 프로그래밍'을 시작하는 내용으로 파이썬 및 플라스크를 소개하고 플라스크의 기본 기능을 비롯해 간단한 예제 프로그램인 '미니 트윗'을 제작한다.
2부에서는 1부에서 다룬 내용을 바탕으로 실제 웹 애플리케이션 개발에서 자주 사용되는 여러 개발 도구에 더해 '포토로그'라는 예제 프로젝트를 통해 실전에서 사용할 수 있는 기능에 관해 다룬다.
3부에서는 2부에서 개발한 '포토로그' 애플리케이션을 아파치와 엔진엑스 웹 서버에 배포하고 실행하는 법을 살펴본다.
부록에서는 2부에서 개발한 '포토로그'에서 세션 서버로 사용할 수 있는 메모리 저장소인 레디스(Redis)를 살펴보고 파이썬 웹 애플리케이션을 클라우드 서비스 중 하나인 구글 앱 엔진(Google App Engine)에 배포한다.
파이썬으로 이제 막 웹 개발을 시작하거나 기존 웹 개발 환경의 대안을 찾고 있는 개발자들에게 이 책이 더 높이 뛰어오를 수 있게 도와주는 발판이 됐으면 좋겠다.
_저자 서문 중에서