2009년 말, 2010년에 주목할 만한 IT 기술 중에 하나로 클라우드컴퓨팅이 단연 손꼽혔습니다. 그런데 사실, 2010년에는 이렇다 하게 클라우드컴퓨팅을 깊게 느낄 수 있지는 않았던 듯 한건, 저만의 생각일까요? 2010년 말,
2011년에 주목할 만한 IT 기술 중에서 클라우드컴퓨팅은 다시 한번 부각되고 있으며, 2011년이 클라우드컴퓨팅의 원년이 될 것이라고 말하는 사람들도 있습니다.
클라우드컴퓨팅이라는 것 자체가 참 뜬 구름 잡는
소리처럼 느껴지기도 하지만 사실 어쩌면 클라우드컴퓨팅은 어느새 우리 삶 깊숙이 자리 잡고 있다는 생각이 듭니다.
클라우드컴퓨팅이라는 기술 자체가 대용량 저장공간에 대한 부담을 줄이기 위한 것이 핵심기술인데, 일반인들도
그 용어 자체는 잘 알지 못하지만, 어느새 많은 경로를 통해서 자기도 모르는 사이 이용하고 있는 기술이기도
합니다. 특히 스마트폰을 이용하고 많이 앱들을 사용하면서 더욱 그렇게 되었다고 보여집니다.
구글 앱 엔진 활용하기는 O’Reilly의
도서 Using Google App Engine의 번역서입니다. 이
책은 구글 앱 엔진을 시작하고자
하는 모든 이를 위한 책입니다. 여러분은 이미 수 많은 언어를 다룰 수 있는 노련한 프로그래머일 수도
있습니다. 아니면 HTML과CSS 조금 다뤄 봤을 수도 있습니다. 전문가들에 국한 되어 있던 이
새롭고 흥미로운 기술에 대해 배우고자 하는 모든 이를 위하여 저자는 이 책을 집필하였습니다.
이 책은
프로그래머가 아닌 독자들이 프로그래밍이나 웹 기술에 대한 지식이 전무하다는 가정하에 이러한 기술을 이해할 수 있도록 쓰여졌습니다. 사실, 이 책의 숨은 의도는 웹 관련 지식이 전혀 없는 누군가를
일주일 안에 훌륭한 웹 어플리케이션 개발자로 변모시키는 것입니다. 이 책이 끝났을 때, 여러분들은 스스로 놀랄 만큼 웹 기술에 대하여 충분히 알게 될 것이며, 앱
엔진 환경의 모든 주요 기술적인 측면을 이해하며 구글 앱 엔진 프로그램을 충분히 개발하고 배포할 수 있을 것입니다. 또한 지식을 확장하기 위하여 구글의 온라인 자료나 다른 책을 통하여 구글 앱 엔진에 대해 더 깊이 탐구 할
수 있는 수준이 될 것입니다.
목차
서문
1. 웹 프로그래밍
1.1절 요청/응답
주기
1.2. 구글 앱 엔진(Google
App Engine) 이란?
1.3. 클라우드(Cloud)란
무엇인가?
1.4. 왜 구글은 앱 엔진을 만들고 무료로 제공하는가?
1.5. 구글 인프라 클라우드(Google
Infrastructure Cloud)란 무엇인가?
1.6. 어플리케이션 엔진의 시작
1.7. 구글 클라우드의 좋은 구성원
1.8. 클라우드가 어플리케이션을 실행하는 방법
1.9. 클라우드의 장점
1.10. 가장 간단한 앱 엔진 어플리케이션
1.11. 정리
1.12. 연습문제
2. HTML과 CSS
2.1. HTML과CSS의 발달사
2.2. HTML
2.3. 적합한 HTML문서
2.4. HTML의 유효성 검사
2.5. 하이퍼텍스트 링크(A태그)
2.6. 다중파일
2.7. HTML 목록
2.8. CSS를 이용한 스타일 지정
2.8.1. CSS로 태그 스타일 만들기
2.9. 진보된 마크업 제어
2.9.1. CSS 유효성 검증
2.9.2. CSS 작업 지원 도구
2.10. 네비게이션 메뉴 구축
2.10.1. CSS 박스 모델
2.10.2. 사용자를 위한 네비게이션 힌트 추가
2.11. 정리
2.12. 연습 문제
3. 파이썬
3.1. 프로그래밍이란 무엇인가?
3.2. 파이썬에 대하여
3.2.1. 파이썬 설치
3.3. 프로그래밍의 정수
3.3.1. 입력, 처리, 출력
3.4. 조건단계(Conditional
Steps): 숫자 맞추기 웹 어플리케이션
3.4.1. 변수와 표현식
3.4.2. 변수 명명
3.4.3. 상수
3.4.4. String을 이용하여 문자데이터를 조작하기
3.4.5. String 라이브러리 사용하기
3.4.6. 타입과 타입변환
3.4.7. 한번에 많은 값을 포함하는 변수 : List
3.4.8. 반복코드 : Loops67
3.4.9. 파이썬의 배낭 :
Dictionary
3.4.10. Dictionary를 통한 반복
3.4.11. 저장 및 재사용 코드: 파이썬
함수
3.4.12. Try와 Except를
사용해 traceback 활용
3.5. 객체지향 파이썬
3.5.1. 파이썬의 주석
3.6. 프로그래밍의 도
3.7. 정리
3.8. 연습문제
4. 어플리케이션으로 데이터 전송하기
4.1. HTTP 요청 만들기
4.2. HTTP 프로토콜 해킹
4.3. HTTP Protocol 표준
4.4. HTTP 작동 관찰하기
4.5. HTML: 폼 만들기
4.6. POST 방식으로 폼 데이터 서버 전송
4.7. 앱 엔진 서버에서 폼 데이터 처리
4.8. GET방식으로 폼 데이터 서버 전송
4.9. App Engine 로그
4.10. HTTP 요청에 사용할 수 있는 데이터 확인
4.11. 고급: 멀티 파트 POST 데이터 파일 업로드
4.12. 정리
4.13. 연습문제
5. 앱 엔진 webapp 프레임워크
5.1. 기본적인 앱 엔진 어플리케이션
5.2. webapp를 이용하여 동일한 어플리케이션 만들기
5.3. 핸들러 콜백 패턴
5.4. 핸들러 코드 살펴보기
5.5. “self”의
용도와 사용하는 이유
5.6. webapp 프레임워크를 이용한 숫자 맞추기 어플리케이션
5.7. 웹 서버 로그
5.8. 정리
5.9 연습문제
6. 템플릿
6.1. 템플릿 문법
6.2. 파이썬 템플릿 사용
6.3. 템플릿을 이용한 숫자 맞추기 게임
6.4. 관점의 분리와 추상화:
"MVC"
6.5. 멀티스크린 어플리케이션 만들기
6.6. 앱 엔진의 정적 파일
6.6.1. 정적인 파일 참조하기
6.7. 다중 템플릿을 통한 템플릿 일반화
6.8. 기본 템플릿의 확장
6.9. 템플릿의 조건적 처리
6.9.1. 베이스 템플릿의 블록 교체
6.10. 어플리케이션 확장
6.11. 문법 에러
6.12. 템플릿에 대한 더 자세한 것들
6.13. 정리
6.14. 연습 문제
7. 쿠키와 세션
7.1. HTTP 쿠키
7.2. 세션을 이용한 로그인과 로그아웃
7.3. 간단한 세션 유틸리티 설치
7.4.세션에 로그인 상태 표시
7.5. 로그인한 사용자를 위한
UI 변경
7.6. 정리
7.7. 연습문제
8. 앱 엔진 데이터스토어
8.1. 모델-뷰-컨트롤러(MVC) 패턴
8.2. 데이터스토어 살펴보기
8.3 용어: 키의 종류
8.4 데이터 모델간의 참조(Reference)
8.4.1. 모델간의 상호작용
8.5. 정리
8.6. 연습문제
9. JavaScript, jQuery와 Ajax
9.1. jQuery
9.2. HTML로 채팅 메시지 뷰 만들기
9.3. AJAX를 이용한 비동기적인
<div>를 업데이트
9.4. 정리
9.5. 연습문제
10. 구글 인프라에서 어플리케이션 실행
10.1. 어플리케이션 엔진 계정
10.2. 앱 엔진에서 어플리케이션 생성하기
10.2.1.어플리케이션 업로드
10.2.2.어플리케이션 테스트
10.3. 로그, 통계, 그리고 다른 기능들
10.3.1새로운 버전 업로드
10.4. 어플리케이션 협업
10.4. 정리
10.5. 연습문제
11. 메모리 캐시
11. 1. 메모리 캐시의 규칙
11. 2. 메모리 캐시 사용하기
11. 3. 어플리케이션 콘솔을 사용하여 메모리 캐시 검사
11.4. 어플리케이션에서 메모리 캐시 사용
11.5. 메모리 캐시를 사용한 세션 스토어 구축
11. 6. 세션 그리고 메모리 캐시
11. 7. 정리
11. 8. 연습문제
부록 A : WindowXP에서 구글 App Engine 설치
및 실행
A.1. 다운로드와 설치
A.2. 첫 어플리케이션 구축
A.3. 에러 처리
A.4. 서버 종료
부록 B. Window Vista에서 구글
Application Engine 설치 및 실행