이미 소장하고 있다면 판매해 보세요.
[1부] RESTful 웹 서비스
▣ 01장: RESTful 웹 서비스 기본사항 기술 요구 사항 REST API 소개 __REST의 역사 __REST의 기본사항 리소스와 URI 다루기 __URI 구문 __URL이란 __URN이란 HTTP 메소드와 상태 코드 살펴보기 __POST __GET __PUT __DELETE __PATCH __HTTP 상태 코드 HATEOAS이란 REST API 설계 베스트 프랙티스 __엔드포인트 경로에서 리소스의 이름을 지정할 __동사형이 아닌 명사형 단어를 사용 __엔드포인트 경로에서 컬렉션 리소스의 이름을 지정할 때 복수형을 사용 __하이퍼미디어 사용(HATEOAS) __API 버전 관리 __중첩된 리소스 __API 보안 __문서 유지 관리 __권장되는 상태 코드 준수 __캐싱 보장 __단위시간당 요청량 제한(Rate limit) 유지 관리 전자 상거래 앱 소개 요약 질문 답변 추가 읽을거리 ▣ 02장: 스프링의 개념과 REST API 기술 요구 사항 스프링 패턴과 패러다임 이해하기 __IoC란 __DI란 __AOP란 IoC 컨테이너 이해하기 Bean과 그 범위 정의하기 __@ComponentScan 애노테이션 __Bean의 범위 자바를 사용하여 bean 설정 __@Import 애노테이션 __@DependsOn 애노테이션 DI 코딩 방법 __생성자로 의존성 정의 __설정자 메소드로 의존성 정의 __클래스 프로퍼티를 사용한 의존성 정의 애노테이션을 사용하여 bean의 메타데이터 설정 __@Autowired 사용 방법 __타입별 일치(Match by type) __한정자별 일치(Match by qualifier) __이름으로 일치(Match by name) __@Primary의 목적은 무엇일까? __@Value는 언제 사용할까? AOP용 코드 작성 스프링 부트를 사용하는 이유 서블릿 디스패처의 중요성 이해 요약 질문 답변 추가 읽을거리 ▣ 03장: API 명세 및 구현 기술 요구 사항 OAS로 API 설계 OAS의 기본 구조 이해 __OAS의 메타데이터 절 __OAS의 servers와 tags 절 OAS의 컴포넌트(components) 절 OAS의 경로(path) 절 OAS를 스프링 코드로 변환 OAS 코드 인터페이스 구현 전역 예외 처리기 추가 API 구현 테스트 요약 질문 답변 추가 읽을거리 ▣ 04장: API를 위한 비즈니스 로직 작성 기술 요구 사항 서비스 설계 개요 Repository 컴포넌트 추가 __@Repository 애노테이션 __데이터베이스 및 JPA 설정 __데이터베이스 및 시드 데이터 스크립트 __엔터티 추가 __리포지토리 추가 서비스 컴포넌트 추가 하이퍼미디어 구현 서비스와 HATEOAS로 컨트롤러 향상 API 응답에 ETag 추가 API 테스트 요약 질문 답변 추가 읽을거리 ▣ 05장: 비동기 API 설계 기술 요구 사항 리액티브 스트림 이해하기 __발행자(Publisher) __구독자(Subscriber) __구독(Subscription) __프로세서(Processor) 스프링 웹플럭스 살펴보기 __리액티브 API 이해 __리액티브 코어 DispatcherHandler 이해하기 __컨트롤러 __함수형 엔드포인트 전자 상거래 앱용 리액티브 API 구현 __리액티브 API용 OpenAPI Codegen 변경 __build.gradle에 리액티브 의존성 추가 __예외 처리 __컨트롤러에 대한 전역 예외 처리 __API 응답에 하이퍼미디어 링크 추가 __엔터티 정의 __리포지토리 추가 __서비스 추가 __컨트롤러 구현 추가 __애플리케이션에 H2 콘솔 추가 __애플리케이션 설정 추가 __리액티브 API 테스트 요약 질문 답변 추가 읽을거리 [02부] 보안, UI, 테스트, 배포 ▣ 06장: 권한부여와 인증을 통해 REST 엔드포인트 보호하기 기술 요구 사항 스프링 시큐리티 및 JWT를 사용한 인증 구현 __Gradle에 필요한 의존성 추가하기 __OAuth 2.0 리소스 서버를 사용한 인증 방법 __JWT의 구조 JWT로 REST API에 보안 적용하기 __새로운 API 추가하기 __데이터베이스 테이블에 리프레시 토큰 저장하기 __JWT 관리자 구현하기 새로운 API 구현 __findUserByUsername() 메소드 구현하기 __REST 컨트롤러 구현 __웹 기반 보안 설정 CORS와 CSRF의 구성 권한부여(authorization)에 대한 이해 __역할과 권한 보안 관련 테스트하기 요약 질문 답변 추가 읽을거리 ▣ 07장: 사용자 인터페이스 설계하기 기술 요구 사항 React 기초 __리액트 앱 만들기 __기본 구조와 파일에 대해 알아보자 __package.json 파일에 대한 이해 __React 앱의 부트스트랩 리액트 컴포넌트 및 기타 기능에 대해 알아보자 __JSX에 대해 알아보자 __리액트 훅에 대해 이해해보자 __테일윈드(Tailwind)를 사용해 컴포넌트 스타일링하기 프로덕션 배포에 불필요한 스타일을 제거하도록 설정 __리액트에 테일윈드 포함시키기 전자상거래 앱 컴포넌트 디자인하기 Fetch를 이용해 API 호출하기 __제품 정보를 가져오는 API 클라이언트 작성하기 __제품 목록 페이지 코딩하기 인증 기능 구현하기 __커스텀 useToken 후크 만들기 __Login 컴포넌트 작성 __커스텀 cart context의 구현 __Cart 컴포넌트 작성하기 __Order 컴포넌트 작성하기 __루트(App) 컴포넌트 작성 __애플리케이션 실행하기 요약 질문 답변 추가 읽을거리 ▣ 08장: API 테스트 기술 요구 사항 API와 코드를 수동으로 테스트하기 테스트 자동화 __단위 테스트 __AssertJ 어서션을 사용해 테스트하기 __코드 커버리지 __통합 테스트하기 요약 질문 답변 추가 읽을거리 ▣ 09장: 웹서비스 배포하기 기술 요구 사항 컨테이너화란 무엇일까? 도커(Docker) 이미지 빌드하기 __도커란 무엇인가? __이미지를 빌드하는 그래들 태스크 실행 쿠버네티스에 애플리케이션 배포하기 요약 질문 답변 추가 읽을거리 [03부] gRPC, 로깅, 모니터링 ▣ 10장: gRPC 시작하기 기술 요구 사항 gRPC 동작방식 __REST 대 gRPC __웹 브라우저와 모바일 앱에서 gRPC 서버를 호출할 수 있을까? __gRPC 아키텍처란 __gRPC가 Protocol Buffer를 사용하는 방법 서비스 정의의 이해 RPC 수명 주기 살펴보기 __수명 주기에 영향을 주는 이벤트 __gRPC 서버 및 gRPC 스텁 이해 에러 처리와 에러 상태 코드 요약 질문 답변 추가 읽을거리 ▣ 11장: gRPC API 개발 및 테스트 기술 요구 사항 API 작성 __프로젝트 설정 __결제 게이트웨이 기능 작성 gRPC 서버 개발 __gRPC 서버 구현 __gRPC 서버 클래스 구현 __gRPC 서버 테스트 에러 처리 구현 gRPC 클라이언트 개발 __gRPC 클라이언트 구현 __gRPC 서비스 테스트 마이크로서비스란? __전통적인 모놀리식 디자인 __서비스 기반 모놀리식 디자인 __마이크로서비스 디자인 요약 질문 답변 추가 읽을거리 ▣ 12장: 서비스에 로깅 및 트레이싱 추가 기술 요구 사항 ELK 스택을 활용한 로깅 및 트레이싱 ELK 스택의 이해 ELK 스택 설치 gRPC 코드에서 로깅 및 트레이싱 구현 __gRPC 서버 코드 변경 __gRPC 클라이언트 코드 변경 __로깅 및 트레이싱 변경사항 테스트 Zipkin과 Micrometer로 분산 트레이싱 하기 요약 질문 답변 추가 읽을거리 [04부] GraphQL ▣ 13장: GraphQL 시작하기 기술 요구 사항 GraphQL 알아보기 __GraphQL의 간략한 역사 __GraphQL과 REST 비교 GraphQL 기본 학습 __쿼리 타입 살펴보기 __뮤테이션 타입 살펴보기 __서브스크립션 타입 살펴보기 GraphQL 스키마 설계 __스칼라 타입의 이해 __프래그먼트 이해 __인터페이스 이해 __유니온 타입 이해 __인풋 타입 이해 __GraphQL 도구를 사용한 스키마 설계 GraphQL 쿼리와 뮤테이션 테스트 __N+1 문제 해결 __N+1 문제 이해란 무엇인가? N+1 문제의 솔루션 요약 질문 답변 추가 읽을거리 ▣ 14장: GraphQL API 개발 및 테스트 기술 요구 사항 GraphQL 용 워크플로우와 도구 GraphQL 서버 구현 __gRPC 서버 프로젝트 생성 __GraphQL DGS 의존성 추가 __GraphQL 스키마 추가 __커스텀 스칼라 타입 추가 __API 문서화 GraphQL 쿼리 구현 GraphQL 쿼리용 페처 작성 __Product용 데이터 페처 작성 __Product 컬렉션용 데이터 페처 작성 __데이터 페처 메소드를 사용한 필드 해석기 작성 __N+1 문제를 해결하기 위한 데이터 로더 작성 GraphQL 뮤테이션 구현 GraphQL 서브스크립션 구현 및 테스트 __GraphQL용 WebSocket 서브-프로토콜 이해 __Insomnia 웹소켓을 이용한 GraphQL 서브스크립션 테스트 GraphQL API 인스트루먼테이션 __커스텀 헤더 추가 __Micrometer와 통합 테스트 자동화 __GraphQL 쿼리 테스트 __GraphQL 뮤테이션 테스트 __자동화된 테스트 코드를 이용한 GraphQL 서브스크립션 테스트 요약 질문 답변 추가 읽을거리 |
저소라브 샤르마
관심작가 알림신청Sourabh Sharma
역김광영
관심작가 알림신청역문종민
관심작가 알림신청역박천구
관심작가 알림신청
★ 이 책에서 다루는 내용 ★
◎ 스프링과 자바를 사용한 엔터프라이즈 수준의 API 생성 ◎ 다양한 케이스에 사용 가능한 REST, gRPC, GraphQL 및 비동기 API의 이해와 구현 ◎ 설계부터 배포까지 실제 웹 API 및 서비스의 개발 ◎ API 사양 및 구현에 대한 베스트 프랙티스 학습 ◎ 인증 및 권한 부여를 통한 안전한 API 설계 및 구현 ◎ 워크플로 및 오케스트레이션 엔진을 사용한 마이크로서비스 기반 솔루션의 개발 ◎ API에 접근하는 사용자 인터페이스의 설계 및 테스트 능력 습득 ◎ 서비스 및 API에 대한 로깅 및 추적 메커니즘 구현 |