Top

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를 설치할 것이다. 단위 테스트 중에서 첫 번째 라운드를 작성하고 테스트 커버리지를 측정한 다음 테스트 범위를 개선하기 위한 추가 단위 테스트를 작성한다. 모든 코드 행을 완벽하게 다루기 위해 필요한 모든 테스트를 만들 것이다.

저자/역자 소개

지은이의 말

파이썬은 가장 인기 있는 프로그래밍 언어 중 하나다. 파이썬 3.5는 가장 최근의 파이썬 버전이다. 오픈소스이자 멀티 플랫폼이며 웹 사이트에서부터 매우 복잡한 과학 컴퓨팅 애플리케이션에 이르기까지 모든 종류의 애플리케이션을 개발하는 데 사용할 수 있다. 항상 원하는 파이썬 패키지가 존재하므로 쓸데 없는 시간 낭비를 피하고 문제를 더 빨리 해결할 수 있다. 가장 중요하고 대중적인 클라우드 컴퓨팅 제공 업체 입장에서는 파이썬 및 관련 웹 프레임워크로 쉽게 작업할 수 있다. 따라서 파이썬은 RESTful 웹 서비스를 개발하는 데 이상적인 선택이 된다. 이 책은 가장 적절한 파이썬 웹 프레임워크를 선택하고 처음부터 RESTful API를 개발하는 데 필요한 모든 것을 다룬다.

지은이 소개

가스통 힐라(Gastón C. Hillar)

이탈리아인으로 8살 때부터 컴퓨터를 다뤘다. 1980년대 초에 전설적인 Texas TI-99/4A와 Commodore 64 가정용 컴퓨터로 프로그래밍을 시작했다. 전산과학 학사 학위를 받았으며, 우수한 학위 논문으로 MBA 과정을 마쳤다. 현재 독립적인 IT 컨설턴트이자 프리랜서 저자로 전 세계에 걸쳐 항상 새로운 모험을 찾고 있다.
Dr. Dobb’s의 수석 편집자로 일했으며, 소프트웨어 개발이라는 주제로 100개 이상의 글을 저술했다. 또한 기술 컴퓨팅 분야의 전직 마이크로소프트 MVP였으며, 저명한 인텔 블랙 벨트 소프트웨어 개발자상을 8번이나 받았다.
인텔 소프트웨어 네트워크(https://software.intel.com)의 게스트 블로거다. gastonhillar@hotmail.com을 통해 연락할 수 있고, 트위터 https://twitter.com/gastonhillar에서 팔로잉할 수 있다. 블로그는 http://csharpmulticore.blogspot.com이다.

옮긴이의 말

모바일 기기는 웹 환경을 폭발적으로 성장시키는 데 큰 기여를 했다. 이런 상황은 웹을 통한 서비스를 다양하게 만들었고 웹 제작은 그만큼 복잡해졌다. 따라서 웹 개발자는 훨씬 더 많은 일을 떠맡게 됐다. 이럴 때 힘들게 일하고 싶은 사람은 없을 것이므로 RESTful API와 장고 등의 웹 프레임워크의 출현은 불가피했을 것이다.
이 책은 지금까지 힘들게 웹 작업을 했던 개발자들에게 희소식을 알려주는 책이다. REST란 단어는 표현 상태 전송을 뜻하는 ‘REpresentational State Transfer’의 약어인데 여기에 형용사를 만드는 접미사 ‘ful’을 붙여 RESTful로 불렀다. 영단어인 ‘restful’를 흉내 낸 것이며 단어 의미 그대로 ‘편안한’ 웹 서비스를 만들 수 있게 하는 API인 것이다.
이 책에서는 파이썬으로 장고, 플라스크, 토네이도라는 웹 프레임워크를 사용해 RESTful 웹 서비스 제작을 쉽게 해주는 방법을 알려준다. 현재 시점에서 국내 출판 도서로는 장고에 관한 책이 더러 눈에 띌 뿐 이렇게 3개의 웹 프레임워크를 한꺼번에 다룬 책은 없다. 따라서 3개 프레임워크 간의 차이를 파악할 수 있고 확고한 개념이 정립돼 있지 않은 국내 독자에게는 더 없이 좋은 책이 될 거라고 믿는다.

옮긴이 소개

이승준

한아시스템에서 소프트웨어 엔지니어로 근무했으며, 현재 프리랜서로 일하고 있다. 틈틈이 중고등학생 수학을 지도하고 있으며, 컴퓨팅 환경과 학습의 접목에 관심이 많다.
삼각형프레스에서 출간한 『BOOGZNINE JFC PROGRAMMING』(1998), 『Boogazine Visual J++ 6.0』(1998), 『Java Workshop 2.0 21일 완성』(1997)을 집필했고, 『JAVA 서블릿 & JSP 프로그래밍 한꺼번에 끝내기』(2002), 『XML 기본+활용 마스터하기』(2002)를 편저했다. 또한 삼각형프레스에서 출간한 『INSIDE SECRETS VB6 개발자 핸드북』(1999), 『VISUAL C++ 6 21일 완성』(1998), 에이콘출판사에서 출간한 『(개정판) C & C++ 시큐어 코딩』(2015), 『닷넷 개발자를 위한 AngularJS』(2016), 『파이썬 분산 컴퓨팅』(2016), 『앵귤러 2 컴포넌트 마스터』(2017)를 번역했다.

목차

목차
  • 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.100 아래에서 3행 : '몇일'동안 -> 며칠동안