logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

일간
|
주간
|
월간

실시간 검색어

검색가능 서점

도서목록 제공

웹 API 디자인

웹 API 디자인

(일상 속 사물이 알려주는)

아노드 로렛 (지은이), 황건구 (옮긴이)
영진.com(영진닷컴)
30,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
27,000원 -10% 0원
1,500원
25,500원 >
27,000원 -10% 0원
0원
27,000원 >
yes24 로딩중
교보문고 로딩중
11st 로딩중
영풍문고 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
G마켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
서점 유형 등록개수 최저가 구매하기
알라딘 판매자 배송 28개 12,000원 >
로딩중

eBook

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

웹 API 디자인
eBook 미리보기

책 정보

· 제목 : 웹 API 디자인 (일상 속 사물이 알려주는)
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 프로그래밍 기초/개발 방법론
· ISBN : 9788931463224
· 쪽수 : 448쪽
· 출판일 : 2020-11-10

책 소개

API 디자인 자체에 대한 기초적인 이론과 실제로 사용하기 편한 웹 API를 디자인하는 방법, 실제로 웹 API를 운영하게 되었을 때 관리를 하는 방법까지 좋은 API를 제대로 디자인하는데 필요한 모든 개념을 담았다.

목차

1부. API 디자인 기초

1. API 디자인이란 무엇인가?
1.1 API란 무엇인가?
1.1.1 소프트웨어를 위한 웹 인터페이스
1.1.2 소프트웨어를 레고처럼 바꾼다
1.2 API 디자인이 중요한 이유
1.2.1 퍼블릭, 프라이빗 API는 다른 개발자들도 사용한다
1.2.2 API는 구현을 숨겨준다
1.2.3 API를 어설프게 디자인하면 끔찍한 결과가 이어진다
1.3 API 디자인에 필요한 요소
1.3.1 프로그래밍 인터페이스 이상의 디자인 원리 이해
1.3.2 API 디자인의 모든 측면

2. 사용자를 위한 API 디자인하기
2.1 일상 속 사용자 인터페이스를 디자인하는 올바른 관점
2.1.1 작업 방식에 집중하면 인터페이스가 복잡해진다
2.1.2 사용자가 할 수 있는 일에 집중하면 인터페이스는 단순해진다
2.2 소프트웨어 인터페이스 디자인 방법
2.2.1 API를 소프트웨어의 제어판처럼 바라보기
2.2.2 컨슈머의 관점에 집중해 단순한 API를 만들기
2.3 API의 목표 식별 과정
2.3.1 무엇을 어떻게 하는가
2.3.2 어떤 걸 입력하고 어떤 게 출력되는가
2.3.3 누락된 목표가 있는가
2.3.4 모든 사용자를 찾아냈는가
2.3.5 API 목표 캔버스
2.4 API 디자인에서 피해야 할 프로바이더 관점
2.4.1 데이터가 미치는 영향
2.4.2 코드와 비즈니스 로직이 주는 영향
2.4.3 소프트웨어 아키텍처에서 받는 영향
2.4.4 인적 조직으로 인한 영향
2.4.5 API 목표 캔버스에서 프로바이더 관점 찾기

3. 프로그래밍 인터페이스 디자인하기
3.1 REST API 소개
3.1.1 REST API 호출 분석
3.1.2 HTTP의 기초사항
3.1.3 REST API의 기초원리
3.2 API 목표를 REST API로 변형하는 과정
3.2.1 API 목표 캔버스로 리소스와 리소스 사이 관계 식별
3.2.2 API 목표 캔버스를 이용해 액션과 액션의 파라미터 그리고 반환값 식별
3.2.3 경로를 포함한 리소스 표현
3.2.4 HTTP로 액션 표현
3.2.5 REST API와 HTTP 치트시트
3.3 API 데이터 디자인하기
3.3.1 컨셉(Concept) 디자인
3.3.2 컨셉에서 리스폰스 디자인
3.3.3 컨셉과 리스폰스에서 파라미터 디자인
3.3.4 데이터 소스에서 파라미터 확인
3.3.5 그 외의 파라미터들 디자인
3.4 디자인적 난관에 봉착했을 때 균형 유지하는 법
3.4.1 REST 절충안 예시
3.4.2 사용자 편의성과 규칙 준수 균형잡기
3.5 API를 디자인할 때 REST가 중요한 이유
3.5.1 REST 아키텍처 스타일 소개
3.5.2 API 디자인에서의 REST 제약사항이 미치는 영향

4. API 명세 포맷을 이용한 API 디자인
4.1 API 명세 포맷이란 무엇인가?
4.1.1 OAS(OpenAPI Specification) 소개
4.1.2 왜 API 명세 포맷을 사용해야 하는가?
4.1.3 API 명세 포맷을 사용해야 할 때
4.2 OAS를 통한 API 리소스와 액션 설명
4.2.1 OAS 문서 생성
4.2.2 리소스 설명
4.2.3 리소스의 동작 설명
4.3 OpenAPI와 JSON Schema로 API 데이터 표현하기
4.3.1 쿼리 파라미터 묘사
4.3.2 JSON Schema를 통한 데이터 묘사
4.3.3 리스폰스 묘사
4.3.4 바디 파라미터 묘사
4.4 OAS에서 API를 효율적으로 묘사하기
4.4.1 컴포넌트 재사용하기
4.4.2 패스 파라미터(Path parameter) 묘사하기

2부 사용하기 좋은 API 디자인

5. 직관적인 API 디자인하기
5.1 직관적인 표현
5.1.1 명확한 이름 정하기
5.1.2 사용하기 쉬운 데이터 타입과 포맷 정하기
5.1.3 바로 사용할 수 있는 데이터 선택하기
5.2 직관적인 상호작용
5.2.1 직관적인 입력 요청하기
5.2.2 발생 가능한 모든 에러 피드백 식별하기
5.2.3 유용한 에러 피드백 반환하기
5.2.4 철저한 에러 피드백 반환하기
5.2.5 유용한 성공 피드백 반환하기
5.3 직관적인 흐름
5.3.1 직관적인 목표 연쇄 만들기
5.3.2 에러 방지
5.3.3 목표 통합
5.3.4 상태가 없는 흐름 디자인하기

6. 예측 가능한 API 디자인하기
6.1 일관성 유지하기
6.1.1 일관된 데이터 디자인하기
6.1.2 일관적인 목표 디자인하기
6.1.3 일관성의 4단계
6.1.4 타인을 따라하자: 일반적인 관행과 표준 준수하기
6.1.5 유지하기 어렵고 현명하게 적용해야하는 일관성
6.2 적응 가능하게 하기
6.2.1 다른 포맷으로 제공하거나 응답하기
6.2.2 국제화와 현지화
6.2.3 필터, 페이지, 정렬 적용하기
6.3 탐색 가능하게 하기
6.3.1 메타데이터 제공하기
6.3.2 하이퍼미디어 API 만들기
6.3.3 HTTP 프로토콜의 장점 이용하기

7. 간결하고 체계적인 API 디자인하기
7.1 API 구조화
7.1.1 데이터 구조화하기
7.1.2 피드백 구조화하기
7.1.3 목표 구조화하기
7.2 API 사이징
7.2.1 데이터 세분화 선택하기
7.2.2 목표 세분화 선택하기
7.2.3 API 세분화 선택하기

3부 상황에 맞는 API 디자인

8. 안전한 API 디자인하기
8.1 API 보안의 개요
8.1.1 컨슈머 등록하기
8.1.2 API 사용을 위해 자격증명 가져오기
8.1.3 API 호출하기
8.1.4 보안성 관점에서 API 구상하기
8.2 API 분할을 통한 접근 제어 활성화
8.2.1 유연하고 정제된 스코프 정의하기
8.2.2 단순하지만 더 굵직한 스코프로 정의하기
8.2.3 스코프 전략 선택하기
8.2.4 API 명세 포맷으로 스코프 정의하기
8.3 접근 제어를 고려한 설계
8.3.1 접근 제어에 필요한 데이터 이해하기
8.3.2 필요에 따른 디자인 조정
8.4 민감 요소의 취급
8.4.1 민감한 데이터 취급하기
8.4.2 민감한 목표 취급하기
8.4.3 안전한 에러 피드백 디자인하기
8.4.4 아키텍처와 프로토콜 이슈 식별하기

9. API 디자인 발전시키기
9.1 API 진화 디자인
9.1.1 출력 데이터의 브레이킹 체인지 회피하기
9.1.2 입력데이터와 파라미터에서 브레이킹 체인지 회피하기
9.1.3 성공과 에러 피드백에서 브레이킹 체인지 회피하기
9.1.4 목표와 흐름에서 브레이킹 체인지 회피하기
9.1.5 브레이킹 체인지의 보안 취약점 발생 회피하기
9.1.6 보이지 않는 인터페이스 컨트랙트에 주의하기
9.1.7 브레이킹 체인지를 유발하는 것이 항상 문제는 아닙니다.
9.2 API 버전 정하기
9.2.1 API 버전 관리와 구현 버전 관리 비교
9.2.2 컨슈머 관점에서 API 버전 표현 선택하기
9.2.3 API 버저닝의 세분화 정하기
9.2.4 API 버저닝이 디자인을 넘어 미치는 영향들
9.3 API를 디자인할 때 확장성(Extensibility)을 명심하기
9.3.1 확장 가능한 데이터 디자인하기
9.3.2 확장가능한 상호작용 디자인하기
9.3.3 확장 가능한 흐름 디자인하기
9.3.4 확장가능한 API 디자인하기

10. 네트워크 효율적인 API 디자인하기
10.1 네트워크 커뮤니케이션의 고려사항의 개요
10.1.1 장면 설정
10.1.2 문제 분석하기
10.2 프로토콜 레벨에서 네트워크 커뮤니케이션 효율성 보장하기
10.2.1 압축(Compression)과 지속적인 연결(Persistent connections) 활성화하기
10.2.2 캐싱(Caching)과 조건부 리퀘스트(Conditional request) 활성화 하기
10.2.3 캐시 정책 선택하기
10.3 디자인 레벨에서 네트워크 커뮤니케이션 효율성 확보하기
10.3.1 필터링(Filtering) 활성화 하기
10.3.2 목록 표현을 위한 연관된 데이터 선택하기
10.3.3 데이터 집합체 만들기(Aggregating)
10.3.4 다른 표현 제안하기
10.3.5 확장 활성화하기
10.3.6 쿼리 활성화하기
10.3.7 보다 연관성 있는 데이터와 목표 제공하기
10.3.8 다른 API 레이어 생성하기

11. 컨텍스트에 맞는 API 디자인하기
11.1 데이터와 목표와 성격에 맞는 커뮤니케이션 적용하기
11.1.1 처리 시간이 오래 걸리는 작업 관리하기
11.1.2 컨슈머에게 이벤트 알리기
11.1.3 이벤트 흐름 스트리밍(Streaming)하기
11.1.4 여러 요소(Element) 처리하기
11.2 전체 컨텍스트 이해하기
11.2.1 컨슈머의 기존 관행과 제약사항 숙지하기
11.2.2 프로바이더의 한계를 신중하게 고려하기
11.3 컨텍스트에 맞는 API 스타일 선택하기
11.3.1 리소스, 데이터, 함수 기반 API 비교
11.3.2 리퀘스트/리스폰스와 HTTP 기반의 API를 넘어서 생각하기

12. API 문서화 하기
12.1 참조 문서 만들기
12.1.1 데이터 모델 문서화
12.1.2 목표 문서화하기
12.1.3 보안 문서화하기
12.1.4 API의 개요 제공하기
12.1.5 세부구현에서 문서 추출하기: 장점과 단점
12.2 사용자 안내서 작성하기
12.2.1 유즈케이스 문서화하기
12.2.2 보안 문서화하기
12.2.3 일반적인 동작들과 원칙에 대한 개요 제공하기
12.2.4 정적(Static) 문서화를 넘어서 생각하기
12.3 구현 담당자에게 적절한 정보 제공하기
12.4 문서의 개정과 폐기

13. 성장하는 API
13.1 API 생명주기(Lifecycle)
13.2 API 디자인 지침 만들기
13.2.1 API 디자인 지침에 포함되는 내용들
13.2.2 지속적으로 지침 만들기
13.3 API 리뷰하기
13.3.1 요구사항에 도전하고 분석하기
13.3.2 디자인 린트하기(Linting)
13.3.3 프로바이더 관점에서 디자인 리뷰하기
13.3.4 컨슈머 관점에서 디자인 리뷰하기
13.3.5 구현 검증하기
13.4 소통하고 공유하기

저자소개

아노드 로렛 (지은이)    정보 더보기
프랑스에서 활동 중인 소프트웨어 아키텍트로 2002년부터 금융업계에서 웹 서비스와 API를 활용한 다중 연결 시스템을 설계해왔다. 로렛은 API 핸디맨이란 블로그와 API 스타일북이라는 웹 사이트를 운영 중이며 전세계에서 열리는 다양한 API 컨퍼런스에 강연자로 참여했다. 인간 중심의 소프트웨어 디자인을 지향하며 많은 사람들에게 최종 사용자뿐만 아니라 운영팀과 개발자까지 모든 이들이 훌륭한 경험을 할 수 있는 시스템을 만들기를 독려하고 있다.
펼치기
황건구 (옮긴이)    정보 더보기
한국 IBM에서 커리어를 시작해 지금은 LINE Plus에서 해외 서비스를 개발 중이다. ERP와 같은 내부 시스템부터 커머스의 다양한 업무 영역에서 개발과 운영을 경험해 왔다. 이 경험들을 안 물어봐도 안 궁금해 할지라도 공유하는 일을 여전히 멈추지 않고 있다. 지금은 시스템을 사람으로 비유하며 그들 간의 의사소통이 어떻게 이루어져야 하는지 설파하고 있다.
펼치기

책속에서



이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
이 포스팅은 제휴마케팅이 포함된 광고로 커미션을 지급 받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책