상세정보
React.js, 스프링 부트, AWS로 배우는 웹 개발 101 : SPA, REST API 기반 웹 애플리케이션 개발
- 저자
- 김다정 저
- 출판사
- 에이콘출판사
- 출판일
- 2021-12-10
- 등록일
- 2022-06-21
- 파일포맷
- PDF
- 파일크기
- 28MB
- 공급사
- YES24
- 지원기기
-
PC
PHONE
TABLET
웹뷰어
프로그램 수동설치
뷰어프로그램 설치 안내
책소개
다수의 사용자를 지원하는 Todo 웹 애플리케이션을 구현하고 배포한다. 또한 현장에서 많이 사용하는 프론트엔드와 백엔드 서버가 분리된 아키텍처(Decoupled Architecture)구현한다. 또한 배포 시 단순히 로컬환경이나 임시의 HTTP 서버로 배포하는 데 그치지 않고, HTTPS 인증서 설정, 로드발란서, 오토스케일링 그룹 등 AWS 클라우드 서비스를 사용해 실제 서비스 운영에 필요한 배포, 스케일링 기술을 전달한다. 이 책을 통해 스프링부트와 리액트를 이용해 애플리케이션을 구현하면서 확장 가능한 아키텍처를 구축하고 운영해 볼 수 있다.
저자소개
건국대학교 컴퓨터 공학부를 졸업한 후 미국 LA에서 웹 개발을 시작했다. 현재는 아마존 웹 서비스에서 서버리스 서비스를 구현하는 분산 시스템을 개발하고 있다. 여가 시간에는 블로그 삐멜 소프트웨어 엔지니어링(http://cselabnotes.com/kr/)을 통해 개발에 관련된 여러 가지 소프트웨어 엔지니어링 관련 기술과 지식을 나누고 있다.
목차
1장. 개발을 시작하기 전에1.1 Todo 웹 애플리케이션 1.1.1 Todo 웹 애플리케이션 기능1.1.2 Todo 웹 애플리케이션 아키텍처1.1.3 기술과 구현 사이1.1.4 정리1.2 배경 지식1.2.1 하이퍼텍스트 트랜스퍼 프로토콜1.2.2 자바스크립트 오브젝트 노테이션1.2.3 서버란?1.2.4 정적 웹 서버1.2.5 동적 웹 서버1.2.6 자바 서블릿 컨테이너/엔진1.2.7 정리2장. 백엔드 개발2.1 백엔드 개발 환경 설정2.1.1 자바 8 설치2.1.2 이클립스 설치2.1.3 스프링 프레임워크와 의존성 주입2.1.4 스프링 프레임워크와 디스패처 서블릿(중제목)2.1.5 스프링 부트 프로젝트 설정2.1.6 메인 메서드와 @SpringBootApplication2.1.7 빌드 자동화 툴: Gradle과 라이브러리2.1.8 디펜던시 라이브러리 추가2.1.9 롬복2.1.10 포스트맨 API 테스트2.1.11 정리2.2 백엔드 서비스 아키텍처2.2.1 레이어드 아키텍처2.2.2 모델, 엔티티, DTO2.2.3 REST API2.2.4 컨트롤러 레이어 : 스프링 REST API 컨트롤러2.2.5 서비스 레이어 : 비즈니스 로직2.2.6 퍼시스턴스 레이어 : 스프링 데이터 JPA2.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 Node3.1.2 비주얼 스튜디오 코드 설치3.1.3 프론트엔드 애플리케이션 생성3.1.4 material-ui 패키지 설치3.1.5 브라우저의 작동 원리3.1.6 React3.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 componentDidMount3.3.2 CORS3.3.3 fetch3.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 UserEntity4.2.2 UserRepository4.2.3 UserService4.2.4 UserController4.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-dom5.1.2 react-router-dom 라이브러리가 필요한 이유5.1.3 로그인 컴포넌트5.1.4 접근 거부 시 로그인 페이지로 라우팅하기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 EC26.1.2 라우트 53 - DNS6.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.4 정리맺음말