책소개
풀스택 개발을 시작하려면 무엇부터 시작할지 혼란스럽게 느껴질 수 있다. 스프링 부트와 리액트 같은 최고의 툴에 익숙한 개발자라도 고급 요소를 마스터하는 것은 고사하고 기초를 파악하기도 어려울 수 있다.
이 책에서는 스프링 부트와 리액트를 활용한 풀스택 개발이라는 광범위한 영역에서 초보자가 숙련자의 길로 들어서기 위한 방향을 안내한다. 먼저 강력한 백엔드를 구축하기 위한 스프링 부트의 최신 기능을 안내하고, 환경 설정과 종속성 주입, 보안과 테스트에 이르는 모든 것을 다루는 실용적인 접근 방식을 설명한다.
리액트 기반의 프런트엔드 개발로 넘어가서는 맞춤형 후크, 서드파티 컴포넌트, MUI과 관련해서 기본적으로 알아야 할 모든 내용을 이 책에서 배울 수 있다. 더불어 스프링 부트, 리액트를 비롯해 최첨단 기술의 모든 최신 툴을 이용해 애플리케이션을 개발, 테스트, 보호, 배포하는 데 필요한 모든 내용을 배운다.
이 책을 끝까지 읽고 나면 최신 풀스택 애플리케이션을 구축하는 데 필요한 이론을 배우는 것은 물론 모든 환경에서 활용 가능한 귀중한 기술을 터득하게 될 것이다.
목차
[01부] 스프링 부트를 이용한 백엔드 프로그래밍
▣ 01장: 환경과 툴 설정 - 백엔드
기술 요구 사항
이클립스 설치
메이븐의 이해
스프링 이니셜라이저 활용
__프로젝트 만들기
__프로젝트 실행
__스프링 부트 개발 툴
__로그와 문제 해결
MariaDB 설치
요약
문제
▣ 02장: 의존성 주입 이해하기
기술 요구 사항
의존성 주입 소개
스프링 부트에서 의존성 주입 이용
요약
문제
▣ 03장: JPA를 이용한 데이터베이스 생성 및 접근
기술 요구 사항
ORM, JPA, 하이버네이트 기초
엔티티 클래스 만들기
CRUD 리포지터리 만들기
테이블 간의 관계 추가
MariaDB 데이터베이스 설정
요약
문제
▣ 04장: 스프링 부트로 RESTful 웹 서비스 만들기
기술 요구 사항
REST 기초
RESTful 웹 서비스 만들기
스프링 데이터 REST 이용하기
요약
문제
▣ 05장: 백엔드 보호 및 테스트
기술 요구 사항
스프링 시큐리티 이해
JWT로 백엔드 보호
스프링 부트 테스트
단위 테스트 만들기
요약
문제
[02부] 리액트를 이용한 프런트엔드 프로그래밍
▣ 06장: 환경과 툴 설정 - 프런트엔드
기술 요구 사항
Node.js 설치
VS Code 설치
__VS Code 확장
리액트 앱 만들기 및 실행
__리액트 앱 수정
요약
문제
▣ 07장: 리액트 시작하기
기술 요구 사항
리액트 컴포넌트를 만드는 방법
유용한 ES6 기능
__상수 및 변수
__화살표 함수
__템플릿 리터럴
__클래스와 상속
JSX와 스타일링
프롭과 상태
__프롭
__상태
상태 비저장 컴포넌트
조건부 렌더링
리액트 후크
__useState
__useEffect
__useRef
맞춤형 후크
컨텍스트 API
리액트로 목록 처리
리액트로 이벤트 처리
리액트로 폼 처리
요약
문제
▣ 08장: 리액트로 REST API 이용하기
기술 요구 사항
프로미스 이용
fetch API 이용
axios 라이브러리 이용
실용적인 예제
OpenWeatherMap API
요약
문제
▣ 09장: 유용한 리액트용 서드파티 컴포넌트
기술 요구 사항
서드파티 리액트 컴포넌트 이용
AG Grid 이용
MUI 컴포넌트 라이브러리 이용
리액트에서 라우팅 관리
요약
문제
[03부] 풀스택 개발
▣ 10장: 스프링 부트 RESTful 웹 서비스를 위한 프런트엔드 설정
기술 요구 사항
UI 모형 제작
스프링 부트 백엔드 준비
프런트엔드를 위한 리액트 프로젝트 만들기
요약
문제
기술 요구 사항
▣ 11장: CRUD 기능 추가하기
목록 페이지 작성
삭제 기능
추가 기능
편집 기능
다른 기능
요약
문제
▣ 12장: 리액트 MUI로 프런트엔드 꾸미기
기술 요구 사항
Button 컴포넌트
IconButton 컴포넌트
TextField 컴포넌트
요약
문제
▣ 13장: 프런트엔드 테스트하기
기술 요구 사항
Jest 사용하기
테스트에서 이벤트 생성
스냅샷 테스트의 이해
요약
문제
▣ 14장: 애플리케이션 보호하기
기술 요구 사항
백엔드 보호
프런트엔드 보호
요약
문제
▣ 15장: 애플리케이션 배포하기
기술 요구 사항
백엔드 배포
프런트엔드 배포
도커 컨테이너 이용
요약
문제
▣ 16장: 모범 사례
다음으로 배울 내용
__HTML
__CSS
__HTTP
__자바스크립트
__백엔드 프로그래밍 언어
__프런트엔드 라이브러리와 프레임워크
__데이터베이스
__버전 관리
__유용한 툴
__보안
모범 사례
__코딩 규칙
__올바른 툴의 선택
__올바른 기술의 선택
__코딩의 양 줄이기
요약
문제
▣ 모범 답안