본문 바로가기

추천 검색어

실시간 인기 검색어

React.js, 스프링 부트, AWS로 배우는 웹 개발 101

웹 프로페셔널
김다정 지음
에이콘출판

2022년 10월 11일 출간

국내도서 : 2022년 09월 30일 출간

(개의 리뷰)
( 0%의 구매자)
eBook 상품 정보
파일 정보 pdf (24.54MB)
ISBN 9791161756974
지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
교보eBook App 듣기(TTS) 가능
TTS 란?
텍스트를 음성으로 읽어주는 기술입니다.
  • 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를 읽을 수 있습니다.
  • 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.

PDF 필기가능 (Android, iOS)
  • sam 무제한 이용불가
  • sam 프리미엄 이용가능

이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.

작품소개

이 상품이 속한 분야

다수의 사용자를 지원하는 Todo 웹 애플리케이션을 구현하고 배포한다. 또한 현장에서 많이 사용하는 프론트엔드와 백엔드 서버가 분리된 아키텍처(Decoupled Architecture)를 구현한다. 또한 배포 시 단순히 로컬 환경이나 임시 HTTP 서버로 배포하는 데 그치지 않고, HTTPS 인증서 설정, 로드 밸런서, 오토 스케일링 그룹 등 AWS 클라우드 서비스를 사용해 실제 서비스 운영에 필요한 배포, 스케일링 기술을 전달한다. 이 책을 통해 스프링 부트와 리액트를 이용해 애플리케이션을 구현하면서 확장 가능한 아키텍처를 구축하고 운영해볼 수 있다. 2판에서는 OAuth 2.0를 이용해 소셜 로그인 기능을 구현하는 내용을 추가했다.
1장. 개발을 시작하기 전에
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 정리

◈ 이 책에서 다루는 내용 ◈

◆ 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에서 웹 서비스를 운영해 보고자 하는 학생/주니어 개발자
◆ 서비스 스케일에 관심이 있는 학생/주니어 개발자
◆ 실무에서 많이 사용하는 아키텍처 패턴에 관심있는 학생/주니어 개발자

작가정보

저자(글) 김다정

건국대학교 컴퓨터 공학부를 졸업한 후 미국 LA에서 웹 개발을 시작했다. 현재는 아마존 웹 서비스에서 서버리스 서비스를 구현하는 분산 시스템을 개발하고 있다. 여가 시간에는 블로그 삐멜 소프트웨어 엔지니어링(http://cselabnotes.com/kr/)을 통해 개발에 관련된 여러 가지 소프트웨어 엔지니어링 관련 기술과 지식을 나눈다.

작가의 말

이 책에 나오는 기술은 필자가 주니어 시절 실무 현장에서 혼자 익히고 배운 기술들이다. 스프링 부트나 React.js, JWT, AWS, OAuth2.0 모두 많이 알려진 기술이며 따로따로 배우면 어렵지 않다. 그러나 이를 합쳐서 하나의 서비스를 만드는 것은 쉬운 일이 아니다.
필자는 출시 가능한 서비스를 만드는 방법을 몰랐다. 주니어 시절에 일했던 회사에서는 대부분 인프라가 이미 구축된 상태여서 서비스 운영에 필요한 것이 무엇인지 알지 못한 채 컴포넌트 개발만 했다. 게다가 필자가 궁금했던 것은 사설망이나 로드 밸런서, API 게이트웨이, 인증 등 네트워크나 보안 관련 기술이었는데 권한이 없어 접근조차 할 수 없었다. 그 결과 로컬에서는 다양한 기술을 많이 사용해봤는데도 실제 서비스로 운영하는 방법은 알지 못했다. 당시에는 무엇을 공부해야 하는지도 모른 채 이 기술 저 기술을 주먹구구식으로 배웠다.
이 책은 주니어 시절의 필자 같은 학생이나 개발자를 위한 책이다. Node.js로 백엔드와 프론트엔드를 개발하고 Spring MVC와 Thymeleaf를 이용한 실습만 해봤는데 막상 회사에 들어가니 전부 마이크로서비스 기반이라거나, 로컬에서 돌아가는 웹 서비스는 하루에 10개도 만들 수 있지만 인증이나 배포에서 늘 막히는 경우에 도움이 되고자 한다.
또 프론트엔드와 백엔드가 분리된 아키텍처를 경험해 보고 싶거나 아이디어가 있는데 어떻게 서비스를 만들어야 할지 모를 때 이 책을 통해 먼 길 돌아가지 않고 필요한 기술을 배우고, 또 이후 배워야 할 기술을 발굴하는 기회가 됐으면 하는 바다.

이 상품의 총서

Klover리뷰 (0)

Klover리뷰 안내
Klover(Kyobo-lover)는 교보를 애용해 주시는 고객님들이 남겨주신 평점과 감상을 바탕으로, 다양한 정보를 전달하는 교보문고의 리뷰 서비스입니다.
1. 리워드 안내
구매 후 90일 이내에 평점 작성 시 e교환권 100원을 적립해 드립니다.
  • - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • - 리워드는 1,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다. (5,000원 이상 상품으로 변경 예정, 2024년 9월 30일부터 적용)
  • - 리워드는 한 상품에 최초 1회만 제공됩니다.
  • - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
2. 운영 원칙 안내
Klover리뷰를 통한 리뷰를 작성해 주셔서 감사합니다. 자유로운 의사 표현의 공간인 만큼 타인에 대한 배려를 부탁합니다. 일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
  • 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
  • 도서와 무관한 내용의 리뷰
  • 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
  • 의성어나 의태어 등 내용의 의미가 없는 리뷰

구매 후 리뷰 작성 시, e교환권 100원 적립

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여 주는 교보문고의 새로운 서비스 입니다. 교보eBook 앱에서 도서 열람 후 문장 하이라이트 하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 ‘좋아요’ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보없이 삭제될 수 있습니다.
리워드 안내
  • 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
  • e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • 리워드는 1,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다. (5,000원 이상 eBook으로 변경 예정, 2024년 9월 30일부터 적용)
  • 리워드는 한 상품에 최초 1회만 제공됩니다.
  • sam 이용권 구매 상품 / 선물받은 eBook / 오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.

구매 후 문장수집 작성 시, e교환권 100원 적립

    교보eBook 첫 방문을 환영 합니다!

    신규가입 혜택 지급이 완료 되었습니다.

    바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
    지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!

    교보e캐시 1,000원
    TOP
    신간 알림 안내
    React.js, 스프링 부트, AWS로 배우는 웹 개발 101 웹툰 신간 알림이 신청되었습니다.
    신간 알림 안내
    React.js, 스프링 부트, AWS로 배우는 웹 개발 101 웹툰 신간 알림이 취소되었습니다.
    리뷰작성
    • 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
    • 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
    • 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
    감성 태그

    가장 와 닿는 하나의 키워드를 선택해주세요.

    사진 첨부(선택) 0 / 5

    총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.

    신고/차단

    신고 사유를 선택해주세요.
    신고 내용은 이용약관 및 정책에 의해 처리됩니다.

    허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
    있으니 유의하시어 신중하게 신고해주세요.


    이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.

    문장수집 작성

    구매 후 90일 이내 작성 시, e교환권 100원 적립

    eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.

    P.
    React.js, 스프링 부트, AWS로 배우는 웹 개발 101
    저자 모두보기
    저자(글)
    낭독자 모두보기
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 프리미엄 이용권입니다.
    선물하실 sam이용권을 선택하세요.
    결제완료
    e캐시 원 결제 계속 하시겠습니까?
    교보 e캐시 간편 결제
    sam 열람권 선물하기
    • 보유 권수 / 선물할 권수
      0권 / 1
    • 받는사람 이름
      받는사람 휴대전화
    • 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
    • 열람권은 1인당 1권씩 선물 가능합니다.
    • 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
    • 선물한 열람권의 등록유효기간은 14일 입니다.
      (상대방이 기한내에 등록하지 않을 경우 소멸됩니다.)
    • 무제한 이용권일 경우 열람권 선물이 불가합니다.
    이 상품의 총서 전체보기
    네이버 책을 통해서 교보eBook 첫 구매 시
    교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 네이버 책을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)
    구글바이액션을 통해서 교보eBook
    첫 구매 시 교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 구글바이액션을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)