확장메뉴
주요메뉴


소득공제 베스트셀러

OpenAPI와 스웨거를 활용한 실전 API 설계

: 요구사항 분석부터 비즈니스 모델 설계, 문서화, 자동화, 테스트, API 확장과 진화까지

리뷰 총점10.0 리뷰 2건 | 판매지수 3,489
베스트
네트워크/해킹/보안 41위 | IT 모바일 top100 6주
정가
35,000
판매가
31,500 (10% 할인)
배송안내
서울특별시 영등포구 은행로 11(여의도동, 일신빌딩)
지역변경
  • 배송비 : 무료 ?
분철서비스 시작 시 알려드립니다. 분철서비스 알림신청
  •  해외배송 가능
  •  최저가 보상
  •  문화비소득공제 신청가능

품목정보

품목정보
발행일 2024년 01월 02일
쪽수, 무게, 크기 520쪽 | 966g | 185*240*25mm
ISBN13 9791189909581
ISBN10 1189909588

책소개 책소개 보이기/감추기

목차 목차 보이기/감추기

저자 소개 (3명)

출판사 리뷰 출판사 리뷰 보이기/감추기

추천평 추천평 보이기/감추기

지난 10년간 소프트웨어 개발자의 직무는 급격하게 바뀌었다. 싱글 사인온(single sign-on), 퍼시스턴스(persistence), 장치 간 동기화, 공유 같은 기능이 표준화됐고 일상적인 기능인 것처럼 인식되고 있다. 소규모 점포의 경우 이처럼 필수적이지만 부가적인 기능을 만드는 일이 점포 업무 자체를 다루는 애플리케이션을 만드는 것보다 더 많은 공수가 들기도 한다. REST API 덕분에 개발자는 핵심 가치에 훨씬 더 집중할 수 있게 됐고 부가 기능을 만드는 데 드는 노력을 줄일 수 있었다. 초기에는 API 맞춤형 문서와 클라이언트 라이브러리를 만드는 일을 API 제공자가 담당했다. 하지만 스웨거와 OpenAPI가 REST API를 기술하는 공통언어로 확실하게 자리 잡게 되자, API 문서를 훨씬 빠르고 효율적으로 작성하고 사용할 수 있게 됐다.

이 책에서 조시와 루카스는 총체적인 접근 방식으로 API 설계와 구현을 가르친다. 흥미롭고 적절한 예제를 사용해 기존 API를 OpenAPI 문법에 맞는 문서로 작성하는 방법을 먼저 가르치고, 이를 확장해서 설계 우선 기법을 소개한다. OpenAPI를 쉽게 사용할 수 있게 해주는 멋진 도구와 오픈소스 소프트웨어가 없다면 OpenAPI는 지금처럼 널리 사용되지 못했을 것이다. 이 책은REST API를 설계하고 구현하고 공유하고 탐구하는 데 많은 도움을 주는 강력한 도구도 함께 다룬다. 애플리케이션이 점점 더 복잡해지고 최종 사용자는 지속적으로 안정적인 기능을 기대함에 따라 OpenAPI를 비롯한 명세 기반의 표준에 대한 의존도는 불가피하게 계속 높아질 것이다. 이 책은 API를 다루는 모든 소프트웨어 개발자 경험을 향상할 수 있는 다양한 패턴과 기법을 명확하게 제시한다.
- 토니 탐 (Tony Tam, 스웨거 창시자이자 애플 아이클라우드(iCloud) 혁신 리드)
대부분의 소프트웨어 개발은 팀 협업의 결과물입니다. 물론 클라우드 등 인프라 서비스의 발달로 개발자들이 더더욱 핵심 로직 개발에 집중할 수 있는 환경이긴 합니다만, 예전이나 지금이나 이해하기 쉬운 코드와 문서화가 협업에 정말 중요하다는 사실은 변하지 않았다고 생각합니다. 사실 팀 협업뿐만 아니라 좋은 설계를 위해서도 코드를 문서화하는 방법은 매우 중요합니다. 설계/코딩을 하면서 혹은 그에 앞서 문서를 작성하고, 문서를 작성하는 과정에서 검토한 내용을 반영해서 다시 설계를 수정하기도 하니까요. 문서화는 소프트웨어 개발의 모든 라이프사이클의 마지막이 아닌 각 단계마다 포함되어야 하는 과정입니다.

그러므로 문서화를 개발 사이클에 녹여넣는 도구의 선택은 단순히 도구의 효율성 문제가 아니라 설계 과정이나 코딩 방식에 큰 영향을 미치는 선택입니다. 약 20년 전 제가 개발자로서의 경력을 막 시작한 즈음, 가장 큰 영향을 준 도구 역시 C 코드를 분석해서 API 문서를 생성해주는 doxygen이라는 문서화 도구였습니다. 문서와 설계 의도, 코드의 동작을 상시적으로 동기화시키는 것은 한번 겪게 되면 빠져나올 수 없는 경험이어서 팀내 도입을 진행한 바 있습니다. 그리고 각자 자기만의 주석 컨벤션을 가지고 있던 시절이다 보니 팀에서 주석 컨벤션을 일치시킬 수 있었던 것도 매우 큰 개선이었습니다.

당시 팀에 문서화 도구를 도입하는 과정은 기존 관습을 깨는 작은 혁명 같은 것이었고 자료가 적다 보니 조금 고생을 하기도 했습니다. 최근 OpenAPI와 OpenAPI 생태계에 포함된 좋은 도구들을 보면서 지금 시점에 개발자 커리어를 시작하는 분들이 부러웠는데, OpenAPI의 사용법을 친절하게 설명해주는 책이 나왔다니 더욱 반가운 소식이 아닐 수 없습니다. 이 책에서는 1부에서 API 사용법을 설명한 다음에 특히 2부부터는 문서화 도구를 잘 활용한 소프트웨어 설계 방법을 적절한 사례를 들어가며 설명하는데, 이야말로 도구와 시대를 가리지 않는 지혜이므로 설계 과정의 문서화 도입에 조금이라도 고민하던 분이라면 꼭 이 책을 잘 참고해서 활용해보시길 바랍니다.
- 양석호 (라인야후(LY Corporation) 데이터그룹 CTO)
엔터프라이즈 개발을 수행하다 보면 고민이 되는 부분이 한두 가지가 아니지만, 깔끔한 해법이 없어서 가장 고민하던 부분이 바로 API 설계와 문서화, 테스트였다. 스타트업 백엔드 개발자이자 CTO로서 회사 프로젝트에 스프링 REST Docs를 써보기도 하고 직접 마크다운을 사용해 문서를 작성해봤지만, API 명세를 기술하고, 테스트 스텁이나 테스트 코드를 자동으로 생성하며, 만들어진 문서의 품질도 깔끔한, 만족스러운 해법을 찾기는 어려웠다. 그러던 중 몇 년 전 스웨거와 OpenAPI를 활용하면서 API 설계부터 구현, 테스트, 공개에 이르는 전 과정을 다른 해법들보다 훨씬 깔끔하게 수행할 수 있었고 결과물도 상당히 만족스러웠다.

이 책은 단순히 스웨거 UI나 도구를 사용하는 방법을 설명하는 데 그치지 않고, API를 설계하고 구현하고 테스트하며 공유하는 각 단계를 스웨거와 OpenAPI를 통해 어떻게 좀 더 편리하게 수행할 수 있는지를 보여주면서 다양한 문제점을 해결하는 방법도 소개해주기 때문에, API는 물론이거니와 '애플리케이션 전반의 설계와 구현에 대한 안내서'라고도 할 수 있다. 무엇보다도, 늘 믿고 읽을 수 있는 명운님의 깔끔한 번역이 책의 내용을 더 명확하게 이해할 수 있게 해준다. 스웨거와 OpenAPI를 배우고 싶은 개발자분들뿐 아니라 도메인 모델과 API를 중심으로 애플리케이션을 설계하고 갱신해 나가는 과정을 살펴보고 배우고 싶은 분들에게도 이 책을 권하고 싶다.
- 오현석 ((주)모빌리티42 CTO, 기술 번역가)
OpenAPI를 이렇게 잘 설명한 책은 여태 보지 못했다. 개발의 결과물이 API가 아닌 API의 결과물이 개발인 이유를 알려주는 책이다. HTTP 프로토콜 기반 API로 다양한 서비스 간 연결을 구성해 복잡하고 다양한 도메인을 만들어 가는 전반적인 과정과 방법을 조목조목 알려준다. API를 가지고 협업하거나 개발하는 방식이 표준이 있는 것도 아니라 환경과 팀의 스타일에 따라 제각각인 것이 현실이다. 그래서 다들 우리가 하고 있는 API 개발 방식과 협업하는 방식이 제대로 하고 있는 것인지 의문을 가지곤 하는데, 이 책은 코드 한 줄 없이 API를 정의하고 명세하고 문서화하는 방법을 제시하고 있다. 게다가 초기 협업부터 가독성 높게 API 명세를 문서화하는 방법과 협업을 통한 도메인 모델링을 다루는 다양한 방법 등, 실무에서 적용하거나 활용할 만한 내용으로 가득하다. ‘API의 정의와 설계 그리고 검증을 잘 하고 싶다’, ‘가독성 높고 퀄리티 있는 API 문서화를 하고 싶다’, ‘API 기반으로 효율적인 협업을 하고 싶다’ 와 같은 현실을 마주하고 있다면 이 책은 해결 방법과 실마리를 제공해 줄 것이다.
- 오창훈 ((주)토스증권 CTO)
모바일 앱 혹은 웹 서비스를 만드는 일은 간단하게 정리하면 1) 뭘 만들지 결정하고, 2) 열심히 개발한 뒤, 3) 사용하는데 문제가 없는지 테스트하고, 4) 배포하는 과정을 밟아가는 일입니다. 이 과정에서 1)과 2) 사이에 반드시 진행하는 일이 서버와 클라이언트 사이의 API를 결정하는 것입니다. 이제는 너무 자연스럽게 진행하는 작업이라 특별히 중요한 작업이라 생각하지 않는 경우가 많지만 실제로 이 API는 서버와 클라이언트 모두에게 큰 영향을 미칩니다.

API의 모습에 따라서 로직의 위치가 서버나 클라이언트 중 한 곳으로 정해지기도 합니다. 이에 따라 단 한 번의 클라이언트 요청으로 모든 작업을 처리할 수도 있고, 하나의 작업을 처리하게 위해 여러 번의 요청을 클라이언트에서 보내야 할 수도 있습니다. 결과적으로 서비스를 이용할 때 사용자가 체감하는 품질에까지 영향을 미칠 수도 있습니다. 어떨 때는 API에 따라 클라이언트의 작업이 많아질 수도 있고, 반대로 서버의 작업이 많아질 수도 있으니 API를 결정할 때 개발해야 할 분량이나 이후 운영할 때의 업무량을 고려하여 양쪽 사이에 신경전이 벌어지는 경우가 발생한다고 해도 이상하지 않을 것 같습니다(물론 제가 겪은 개발자들은 각자 전문성을 발휘하여 사용자에게 가장 좋은 선택을 하는 경우가 대부분이었습니다).

여기서 끝이 아닙니다. 서비스를 시작하고 난 후에는 이런 API가 점점 쌓여가기 마련입니다. 기억을 떠올려 보면 서비스의 배포 횟수만큼 기능이 추가되고 그만큼 API가 늘어나는 것 같기도 합니다. 한번 만들고 나면 수정이 쉽지 않다는 것도 API를 만들 때 고려해야 할 점인데 종종 모바일 앱을 업데이트하지 않는 사용자가 있기 때문입니다. 서비스를 운영하는 입장에서는 어제까지도 잘 사용했던 서비스를 오늘 갑자기 사용하지 못하게 되는 경험을 피하고 싶기 때문에 서비스를 이용하는 데 문제가 될 수 있는 API의 수정은 가급적 피하고 새로운 API를 도입하는 경우가 많습니다. 이렇듯 점점 늘어나는 API가 개발자에게는 때때로 부담스럽기도 합니다.

이 책은 API를 사이에 두고 다른 개발자와 함께 일하는 분들이 꼭 읽어보면 좋겠습니다. OpenAPI 규격을 기반으로 API를 만드는 방법을 설명하는 이 책은 OpenAPI 이해와 API 설계라는 기술적인 면에 한정하지 않고, 서버와 클라이언트 개발자가 함께 API를 만들고 활용하는 방법까지 안내합니다. 이 책을 통해 OpenAPI를 처음 접한다면 OpenAPI 규격을 지원하는 다양한 도구를 활용해 업무를 편리하게 수행할 수 있다는 점은 추가로 얻게 되는 장점이라고 하겠습니다. 이 책을 읽으시는 모든 개발자가 더 좋은 API를 만들 수 있기를 바랍니다. 그리고 API를 활용하는 많은 개발자가 즐거운 마음으로 개발하고, 사용자들은 멋진 서비스를 이용하게 되면 좋겠습니다. 덕분에 저도 훌륭한 서비스를 이용할 수 있기를 기대합니다. :)
- 장정환 (카카오 FE플랫폼팀 기술이사)

회원리뷰 (0건) 회원리뷰 이동

  등록된 리뷰가 없습니다!

첫번째 리뷰어가 되어주세요.

한줄평 (2건) 한줄평 이동

총 평점 10.0점 10.0 / 10.0

배송/반품/교환 안내

배송 안내
반품/교환 안내에 대한 내용입니다.
배송 구분 예스24 배송
  •  배송비 : 무료배송
포장 안내

안전하고 정확한 포장을 위해 CCTV를 설치하여 운영하고 있습니다.

고객님께 배송되는 모든 상품을 CCTV로 녹화하고 있으며, 철저한 모니터링을 통해 작업 과정에 문제가 없도록 최선을 다 하겠습니다.

목적 : 안전한 포장 관리
촬영범위 : 박스 포장 작업

  • 포장안내1
  • 포장안내2
  • 포장안내3
  • 포장안내4
반품/교환 안내

상품 설명에 반품/교환과 관련한 안내가 있는경우 아래 내용보다 우선합니다. (업체 사정에 따라 달라질 수 있습니다)

반품/교환 안내에 대한 내용입니다.
반품/교환 방법
  •  고객만족센터(1544-3800), 중고샵(1566-4295)
  •  판매자 배송 상품은 판매자와 반품/교환이 협의된 상품에 한해 가능합니다.
반품/교환 가능기간
  •  출고 완료 후 10일 이내의 주문 상품
  •  디지털 콘텐츠인 eBook의 경우 구매 후 7일 이내의 상품
  •  중고상품의 경우 출고 완료일로부터 6일 이내의 상품 (구매확정 전 상태)
반품/교환 비용
  •  고객의 단순변심 및 착오구매일 경우 상품 반송비용은 고객 부담임
  •  직수입양서/직수입일서중 일부는 변심 또는 착오로 취소시 해외주문취소수수료 20%를 부과할수 있음

    단, 아래의 주문/취소 조건인 경우, 취소 수수료 면제

    •  오늘 00시 ~ 06시 30분 주문을 오늘 오전 06시 30분 이전에 취소
    •  오늘 06시 30분 이후 주문을 익일 오전 06시 30분 이전에 취소
  •  직수입 음반/영상물/기프트 중 일부는 변심 또는 착오로 취소 시 해외주문취소수수료 30%를 부과할 수 있음

    단, 당일 00시~13시 사이의 주문은 취소 수수료 면제

  •  박스 포장은 택배 배송이 가능한 규격과 무게를 준수하며, 고객의 단순변심 및 착오구매일 경우 상품의 반송비용은 박스 당 부과됩니다.
반품/교환 불가사유
  •  소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
  •  소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 : 예) 화장품, 식품, 가전제품, 전자책 단말기 등
  •  복제가 가능한 상품 등의 포장을 훼손한 경우 : 예) CD/LP, DVD/Blu-ray, 소프트웨어, 만화책, 잡지, 영상 화보집
  •  소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
  •  디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  •  eBook 대여 상품은 대여 기간이 종료 되거나, 2회 이상 대여 했을 경우 취소 불가
  •  중고상품이 구매확정(자동 구매확정은 출고완료일로부터 7일)된 경우
  •  LP상품의 재생 불량 원인이 기기의 사양 및 문제인 경우 (All-in-One 일체형 일부 보급형 오디오 모델 사용 등)
  •  시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  •  전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
소비자 피해보상
  •  상품의 불량에 의한 반품, 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 준하여 처리됨
환불 지연에
따른 배상
  •  대금 환불 및 환불 지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리
  •  쿠폰은 결제 시 적용해 주세요.
1   31,500
뒤로 앞으로 맨위로 공유하기