RESTful 파이썬 웹 서비스 제작 [장고, 플라스크, 토네이도와 함께 하는 RESTful 웹 서비스]
- 원서명Building RESTful Python Web Services (ISBN 9781786462251)
- 지은이가스통 힐라(Gastón C. Hillar)
- 옮긴이이승준
- ISBN : 9791161750248
- 35,000원
- 2017년 07월 24일 펴냄 (절판)
- 페이퍼백 | 540쪽 | 188*235mm
- 시리즈 : acorn+PACKT
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
요약
파이썬으로 장고, 플라스크, 토네이도라는 웹 프레임워크를 사용해 쉽게 RESTful 웹 서비스를 제작하는 방법을 알려준다. 현재 시점에서는 국내 출판서 중 장고에 관한 책이 더러 눈에 띌 뿐 이렇게 3개의 웹 프레임워크를 한꺼번에 다룬 책은 없다. 따라서 3개 프레임워크 간의 차이를 파악할 수 있으며, 확고한 개념이 정립돼 있지 않는 국내 독자에게는 더없이 좋은 책이 될 것이다.
이 책에서 다루는 내용
■ 파이썬으로 데이터 소스의 유무와 상관없이 복잡한 RESTful API 개발
■ RESTful API/웹 서비스의 특정 요구사항을 기반으로 가장 적합한 (마이크로) 프레임워크 선택
■ 각 프레임워크로 RESTful API 디버그, 테스트, 프로파일링
■ PostgreSQL 데이터베이스와 대화하는 복잡한 RESTful API 개발
■ 각 프레임워크에 만든 RESTful API에 인증 및 권한 추가
■ URL 패턴을 요청 처리기에 매핑하고 API 작동 방식 점검
■ 기존 API에 대해 프로파일링과 리팩토링을 통한 비동기 코드 활용
이 책의 대상 독자
파이썬 지식이 있고 다양한 프레임워크를 이용해 멋진 웹 서비스를 구축하고자 하는 웹 개발자를 위한 책이다. RESTful API에 대한 지식도 있어야 한다.
이 책의 구성
1장, ‘장고를 이용한 RESTful API 개발’에서는 장고와 장고 레스트 프레임워크(Django REST Framework)에 대한 작업을 시작하고 간단한 SQLite 데이터베이스에서 CRUDCreate, Read, Update, Delete 작업을 수행하는 RESTful 웹 API를 만들 것이다.
2장, ‘장고의 클래스 기반 뷰와 하이퍼링크 API 사용’에서는 1장에서 시작한 API의 기능을 확장할 것이다. 보다 강력한 PostgreSQL 데이터베이스로 작업할 수 있도록 ORM 설정을 변경하고, 장고 레스트 프레임워크에 포함된 고급 기능을 활용해 클래스 기반 뷰 같은 복잡한 API용 상용구 코드를 줄일 것이다.
3장, ‘장고를 이용한 API의 인증 향상과 추가’에서는 2장에서 시작한 RESTful API를 향상시킬 것이다. 고유한 제약 조건을 모델에 추가하고 데이터베이스를 업데이트한다. PATCH 메서드로 단일 필드를 쉽게 업데이트할 수 있게 하고, 페이지 나누기를 활용할 것이다. 여기서 인증, 권한, 스로틀 작업을 시작할 것이다.
4장, ‘장고를 이용한 API 스로틀, 필터, 테스트, 배치’에서는 장고 레스트 프레임워크에 포함된 많은 기능을 활용해 스로틀 정책을 정의할 것이다. 필터링, 검색, 주문 클래스를 사용해 HTTP 요청의 결과에 대해 필터링, 질의 검색, 원하는 순서로 쉽게 구성할 수 있다. 브라우저블 API 기능을 사용해 API에 포함된 새 기능을 테스트할 것이다. 단위 테스트 중에서 첫 번째 라운드를 작성하고 테스트 커버리지를 측정한 다음, 테스트 범위를 개선하기 위한 추가 단위 테스트를 작성한다. 마지막으로 배포와 규모성에 대한 많은 고려사항을 배울 것이다.
5장, ‘플라스크를 이용한 RESTful API 개발’에서는 플라스크 및 플라스크-RESTful 확장을 다루기 시작한다. 간단한 리스트에서 CRUD 작업을 수행하는 RESTful 웹 API도 만들 것이다.
6장, ‘플라스크에서의 모델, SQLAlchemy, 하이퍼링크 API 사용’에서는 5장에서 시작한 RESTful API의 기능을 확장한다. SQLAlchemy를 ORM으로 사용해 PostgreSQL 데이터베이스 작업을 수행할 것이며 플라스크와 플라스크-RESTful에 포함된 고급 기능을 활용해 모델과 청사진 같은 복잡한 API 코드를 쉽게 구성할 수 있게 될 것이다.
7장, ‘플라스크를 이용한, API에 대한 인증 향상과 추가’에서는 여러 가지 방식으로 RESTful API를 향상시킬 것이다. 자원이 고유하지 않은 경우에는 사용자에게 친숙한 오류 메시지를 추가할 것이다. PATCH 메서드로 단일 또는 다중 필드를 업데이트하는 방법을 테스트할 것이고, 자체적인 페이지 나누기 클래스를 생성할 것이다. 그러고 나서 인증 및 권한 작업을 시작한다. 사용자 모델을 추가하고 데이터베이스도 업데이트할 것이다. 특정 보안 목표를 달성하기 위해 다양한 코드를 많이 변경하고 Flask-HTTPAuth와 passlib를 활용해 API에서 HTTP 인증을 사용할 것이다.
8장, ‘플라스크를 이용한 API 테스트 및 배포’에서는 테스트 환경을 설정한다. 단위 테스트를 쉽게 찾아 실행할 수 있게 nose2를 설치하고 테스트에 사용할 새 데이터베이스를 만든다. 단위 테스트 중에서 첫 번째 라운드를 작성하고, 테스트 커버리지를 측정한 다음 테스트 범위를 개선하기 위한 추가 단위 테스트를 작성한다. 마지막으로, 배포 및 규모성에 대한 많은 고려사항을 배울 것이다.
9장, ‘토네이도를 이용한 RESTful API 개발’에서는 토네이도를 이용해 RESTful 웹 API를 만들 것이다. 느린 센서 및 작동 장치와 대화하는 RESTful API를 디자인할 것이다. API에 대한 요구사항을 정의하고 각 HTTP 메서드에서 수행하는 작업을 알게 될 것이다. 드론을 나타내는 클래스를 만들고 각 HTTP 요청 메서드에 대해 호출되는 느린 I/O 연산을 시뮬레이션하는 코드를 작성한다. 요청 처리기를 나타내는 클래스를 작성해 다양한 HTTP 요청을 처리하고 URL 패턴을 구성해 요청 처리기와 그 메서드에 URL을 전달한다.
10장, ‘비동기 코드를 이용한 작업, 토네이도에서의 API 테스트 및 배포’에서는 동기 실행과 비동기 실행의 차이점을 알게 될 것이다. 비동기 실행과 결합된 토네이도의 넌블로킹 기능을 활용하는 RESTful API의 새 버전을 만들 것이다. 기존 API의 규모성을 개선하고 센서 및 작동 장치를 사용해 느린 I/O 연산을 기다리는 동안 다른 요청을 실행할 수 있게 할 것이다. 그러고 나서 테스트 환경을 설정한다. 단위 테스트를 쉽게 찾고 실행할 수 있게 nose2를 설치할 것이다. 단위 테스트 중에서 첫 번째 라운드를 작성하고 테스트 커버리지를 측정한 다음 테스트 범위를 개선하기 위한 추가 단위 테스트를 작성한다. 모든 코드 행을 완벽하게 다루기 위해 필요한 모든 테스트를 만들 것이다.
목차
목차
- 1장. 장고를 이용한 RESTful API 개발
- 2장. 장고의 클래스 기반 뷰와 하이퍼링크 API 사용
- 3장. 장고를 이용한 API의 인증 향상과 추가
- 4장. 장고를 이용한 API 스로틀, 필터, 테스트, 배치
- 5장. 플라스크를 이용한 RESTful API 개발
- 6장. 플라스크에서의 모델, SQLAlchemy, 하이퍼링크 API 사용
- 7장. 플라스크로 API에 대한 개선과 인증 추가
- 8장. 플라스크를 이용한 API 테스트 및 배포
- 9장. 토네이도를 이용한 RESTful API 개발
- 10장. 토네이도에서의 비동기 코드 작업과 API 테스트 및 배포
도서 오류 신고
정오표
정오표
[p.45 : 코드]
Class -> class
Created -> created
Name -> name