React.js, 스프링 부트, AWS로 배우는 웹 개발 101(2판)(웹 프로페셔널)
SPA, REST API 기반 웹 애플리케이션 개발
다수의 사용자를 지원하는 Todo 웹 애플리케이션을 구현하고 배포한다. 또한 현장에서 많이 사용하는 프론트엔드와 백엔드 서버가 분리된 아키텍처(Decoupled Architecture)를 구현한다. 또한 배포 시 단순히 로컬 환경이나 임시 HTTP 서버로 배포하는 데 그치지 않고, HTTPS 인증서 설정, 로드 밸런서, 오토 스케일링 그룹 등 AWS 클라우드 서비스를 사용해 실제 서비스 운영에 필요한 배포, 스케일링 기술을 전달한다. 이 책을 통해 스프링 부트와 리액트를 이용해 애플리케이션을 구현하면서 확장 가능한 아키텍처를 구축하고 운영해볼 수 있다. 2판에서는 OAuth 2.0를 이용해 소셜 로그인 기능을 구현하는 내용을 추가했다.
Couldn't load pickup availability
출판사 리뷰
출판사 리뷰
◆ REST 백엔드, React 프론트엔드, AWS를 이용한 간단한 Todo 애플리케이션 개발
◆ 스프링 부트, 그래들, 메이븐 리포지터리, 롬복, JPA 등 REST API 개발에 필요한 내용
◆ React.js의 원리와 프론트엔드 개발에 필요한 기초 지식
◆ React.js와 같은 싱글 페이지 애플리케이션(Single Page Application)의 동작 방식
◆ JWT를 이용한 인증 이론과 구현
◆ AWS 일라스틱 빈스톡을 이용해 애플리케이션을 배포하는 방법 및 배포 시 사용되는 EC2, 오토 스케일링 그룹, 로드 밸런서, RDS 등의 리소스
◆ Route 53에서 DNS를 등록하는 방법과 DNS를 로드 밸런서로 연결하는 방법
◆ OAuth 2.0를 이용해 소셜로그인 기능 구현
◈ 이 책의 대상 독자 ◈
◆ 스프링 MVC를 개발할 줄 알지만 다른 아키텍처를 경험해 보고 싶은 학생/주니어 개발자
◆ 프론트엔드와 백엔드가 분리된 아키텍처를 구축해 보고 싶은 학생/주니어 개발자
◆ 실제 웹 서비스를 작성하고 운영해 보고 싶은 학생/주니어 개발자
◆ AWS에서 웹 서비스를 운영해 보고자 하는 학생/주니어 개발자
◆ 서비스 스케일에 관심이 있는 학생/주니어 개발자
◆ 실무에서 많이 사용하는 아키텍처 패턴에 관심있는 학생/주니어 개발자
목차
목차
1.1 이 책을 읽는 방법
1.1.1 예제와 실습 코드
1.1.2 소스 코드
1.1.3 커맨드라인 인터페이스
1.1.4 정리
1.2 Todo 웹 애플리케이션
1.2.1 Todo 웹 애플리케이션 기능
1.2.2 Todo 웹 애플리케이션 아키텍처
1.2.3 기술과 구현 사이
1.2.4 정리
1.3 배경지식
1.3.1 하이퍼텍스트 트랜스퍼 프로토콜
1.3.2 자바스크립트 오브젝트 노테이션
1.3.3 서버란?
1.3.4 정적 웹 서버
1.3.5 동적 웹 서버
1.3.6 자바 서블릿 컨테이너/엔진
1.3.7 정리
2장. 백엔드 개발
2.1 백엔드 개발 환경 설정
2.1.1 Amazon Corretto 11 설치
2.1.2 이클립스 설치
2.1.3 스프링 프레임워크와 의존성 주입
2.1.4 스프링 프레임워크와 디스패쳐 서블릿
2.1.5 스프링 부트 프로젝트 설정
2.1.6 메인 메서드와 @SpringBootApplication
2.1.7 빌드 자동화 툴: Gradle과 라이브러리
2.1.8 디펜던시 라이브러리 추가
2.1.9 롬복
2.1.10 포스트맨 API 테스트
2.1.11 정리
2.2 백엔드 서비스 아키텍처
2.2.1 레이어드 아키텍처
2.2.2 모델, 엔티티, DTO
2.2.3 REST API
2.2.4 컨트롤러 레이어 : 스프링 REST API 컨트롤러
2.2.5 서비스 레이어 : 비즈니스 로직
2.2.6 퍼시스턴스 레이어 : 스프링 데이터 JPA
2.2.7 정리
2.3 서비스 개발 및 실습
2.3.1 Create Todo 구현
2.3.2 Retrieve Todo 구현
2.3.3 Update Todo 구현
2.3.4 Delete Todo 구현
2.3.5 정리
3장. 프론트엔드 개발
3.1 프론트엔드 개발 환경 설정
3.1.1 Node
3.1.2 비주얼 스튜디오 코드 설치
3.1.3 프론트엔드 애플리케이션 생성
3.1.4 material-ui 패키지 설치
3.1.5 브라우저의 작동 원리
3.1.6 React
3.1.7 정리
3.2 프론트엔드 서비스 개발
3.2.1 Todo 리스트
3.2.2 Todo 추가
3.2.3 Todo 삭제
3.2.4 Todo 수정
3.2.5 정리
3.3 서비스 통합
3.3.1 CORS
3.3.2 Effect Hook을 이용한 Todo 리스트 초기화
3.3.3 fetch
3.3.4 정리
4장. 인증 백엔드 통합
4.1 REST API 인증 기법
4.1.1 Basic 인증
4.1.2 토큰 기반 인증
4.1.3 JSON 웹 토큰
4.1.4 정리
4.2 User 레이어 구현
4.2.1 UserEntity
4.2.2 UserRepository
4.2.3 UserService
4.2.4 UserController
4.2.5 정리
4.3 스프링 시큐리티 통합
4.3.1 JWT 생성 및 반환 구현
4.3.2 스프링 시큐리티와 서블릿 필터
4.3.3 JWT를 이용한 인증 구현
4.3.4 스프링 시큐리티 설정
4.3.5 TodoController에서 인증된 유저 사용하기
4.3.6 패스워드 암호화
4.3.7 정리
5장. 인증 프론트엔드 통합
5.1 라우팅
5.1.1 react-router-dom
5.1.2 react-router-dom 라이브러리가 필요한 이유
5.1.3 로그인 컴포넌트
5.1.5 정리
5.2 로그인 페이지
5.2.1 로그인을 위한 API 서비스 메서드 작성
5.2.2 로그인에 성공
5.2.3 정리
5.3 로컬 스토리지를 이용한 액세스 토큰 관리
5.3.1 로컬 스토리지
5.3.2 액세스 토큰 저장
5.3.3 정리
5.4 로그아웃과 글리치 해결
5.4.1 로그아웃 서비스
5.4.2 네비게이션 바와 로그아웃
5.4.3 UI 글리치 해결
5.4.4 정리
5.5 계정 생성 페이지
5.5.1 계정 생성 로직
5.5.2 정리
6장. 프로덕션 배포
6.1 서비스 아키텍처
6.1.1 EC2
6.1.2 라우트 53 - DNS
6.1.3 애플리케이션 로드 밸런서
6.1.4 오토 스케일링 그룹
6.1.5 VPC와 서브넷
6.1.6 일래스틱 빈스톡
6.1.7 정리
6.2 AWS CLI와 EB CLI 설치
6.2.1 AWS 계정 생성
6.2.2 파이썬 설치
6.2.3 AWS CLI 설치
6.2.4 AWS CLI 설정
6.2.5 pip을 이용해 EB CLI 설치
6.2.6 윈도우 사용자를 위한 환경 변수 설정
6.2.7 정리
6.3 AWS 일래스틱빈스톡을 이용한 백엔드배포
6.3.1 일래스틱 빈스톡이란?
6.3.2 eb init을 이용해 애플리케이션 생성
6.3.3 백엔드 애플리케이션 설정
6.3.4 eb create를 이용해 AWS에 환경 생성
6.3.5 애플리케이션 배포
6.3.6 환경 구성
6.3.7 엔드포인트 테스팅
6.3.8 프론트엔드 통합 테스팅
6.3.9 정리
6.4 AWS 일래스틱빈스톡을 이용한 프론트엔드 배포
6.4.1 eb init을 이용해 애플리케이션 생성
6.4.2 eb create을 이용한 애플리케이션 배포
6.4.3 크로스-오리진 문제
6.4.4 정리
6.5 Route53 도메인 설정
6.5.1 도메인 구매
6.5.2 호스팅 영역 생성
6.5.3 백엔드 재배포
6.5.4 프론트엔드 재배포
6.5.5 정리
6.6 백엔드/프론트엔드 AWS Certificate Manager를 이용한 https 설정
6.6.1 인증서 요청
6.6.2 백엔드 애플리케이션 HTTPS 설정
6.6.3 프론트엔드 애플리케이션 HTTPS 설정
6.6.3 정리
7장. OAuth 2.0와 소셜 로그인 개발
7.1 OAuth 20
7.1.1 다른 애플리케이션과의 통합
7.1.2 OAuth 2
7.1.3 OAuth 2
7.1.4 정리
7.2 소셜 로그인 백엔드 구현
7.2.1 소셜 로그인 사이트에서 클라이언트 애플리케이션 생성하기
7.2.2 OAuth 2
7.2.3 application-dev
7.2.4 Todo 백엔드 OAuth 2
7.2.5 소셜 로그인 후 자동으로 회원가입
7.2.6 Todo 애플리케이션 토큰 발행
7.2.7 정리
7.3 소셜 로그인 프론트엔드 구현
7.3.1 백엔드 AuthenticationEntryPoint 설정
7.3.2 소셜 로그인 엔드포인트 추가
7.3.3 소셜 로그인 기능 추가
7.3.4 프론트엔드로 Bearer 토큰 전달하기
7.3.5 임의의 프론트엔드로 토큰 전달하기
7.3.6 정리
저자
저자
Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.

