HOME / CATALOG / 오픈소스 & 웹
오픈소스 & 웹

실전! 스프링 부트 3 & 리액트로 시작하는 모던 웹 애플리케이션 개발

스프링 부트 3와 리액트를 활용한 실습 중심의 풀스택 웹 애플리케이션 개발
지은이 주하 힌쿨라
옮긴이 변영인
도서 정보
출간일
2024년 12월 12일
쪽수
404쪽
판형
188*240*17mm
ISBN
9791158395315
시리즈
오픈소스 & 웹 시리즈_119
정가
30,000원
난이도
도서 소개
저자 소개
역자 소개
목차
예제 코드
정오표

도서 소개

스프링 부트와 리액트의 풍부하고 다양한 도구들을 활용해 최신 풀스택 애플리케이션 개발 비법을 배워보자!

이 책은 풀스택 개발자로 전환하고자 하는 자바 개발자나 새 프런트엔드 프레임워크를 배우고 싶은 사람을 위한 간결한 리액트 입문서다. 이 책은 세 부분으로 되어 있으며, 스프링 부트 백엔드, 리액트 프런트엔드를 만들고 이를 함께 배포하는 과정을 다룬다.

이번 개정판은 스프링 부트 3에 맞춰 업데이트되었으며, 보안과 테스트에 관한 내용을 좀 더 자세히 다루고 있다. 그리고 최근 인기가 높은 타입스크립트를 활용한 리액트 개발에 관한 내용이 추가됐다. REST API 생성, 애플리케이션 테스트, 보안 및 배포에 필요한 요소들을 알아보고 커스텀 훅, 서드파티 컴포넌트, MUI에 대해서도 배울 수 있다.

이 책을 통해 최신 도구와 최근 모범 사례를 통해 풀스택 애플리케이션 개발 능력을 기를 수 있을 것이다.

★ 이 책에서 다루는 내용 ★

  • 스프링 데이터 REST로 빠르고 RESTful한 웹서비스 개발
  • ORM, JPA, 하이버네이트 등을 이용한 데이터베이스 생성 및 관리
  • 단위 테스트와 스프링 시큐리티를 이용한 JWT
  • 리액트 훅, 프롭, 상태 등을 이용하여 프런트엔드 개발
  • 머티리얼 UI 컴포넌트 라이브러리로 프런트엔드 커스터마이징
  • fetch API, Axios, 리액트 쿼리를 통한 네트워킹
  • 애플리케이션에 CRUD 기능 추가
  • AWS와 Docker를 이용한 애플리케이션 배포

 

도서 소개

저자 소개

주하 힌쿨라 (Juha Hinkula)

주하 힌쿨라는 핀란드 Haaga-Helia 대학교 응용과학부의 소프트웨어 개발 강사로서 헬싱키 대학교에서 컴퓨터공학 석사 학위를 받은 18년차 소프트웨어 개발자다. 최근 몇 년 동안에는 최신 풀스택 개발에 집중했으며, 안드로이드 네이티브 기술과 리액트 네이티브를 이용한 모바일 개발에도 관심이 많다.

역자 소개

변영인

2021년부터 프로그래밍을 가르치고 있다. 데이터 분석, 웹 애플리케이션, 크로스플랫폼 개발 등에 관심이 많다. 단순히 최신 기술을 따라가기보다는 상황과 환경에 적정한 기술이 무엇인지 고민하는 법을 나누려 한다.

목차

  • 01부] 스프링 부트를 이용한 백엔드 프로그래밍
  •  
  • ▣ 01장: 환경과 툴 설정 - 백엔드
  • 기술 요구 사항
  • 이클립스 설치
  • 그레이들의 이해
  • 스프링 이니셜라이저 활용
  • MariaDB 설치
  • 요약
  • 문제
  • 추가 자료
  •  
  • ▣ 02장: 의존성 주입 이해하기
  • 기술 요구 사항
  • 의존성 주입 소개
  • 스프링 부트에서 의존성 주입 이용
  • 요약
  • 문제
  • 추가 자료
  •  
  • ▣ 03장: JPA를 이용한 데이터베이스 생성 및 접근
  • 기술 요구 사항
  • ORM, JPA, 하이버네이트 기초
  • 엔티티 클래스 만들기
  • CRUD 리포지터리 만들기
  • 테이블 간의 관계 추가
  • MariaDB 데이터베이스 설정
  • 요약
  • 문제
  • 추가 자료
  •  
  • ▣ 04장: 스프링 부트로 RESTful 웹 서비스 만들기
  • 기술 요구 사항
  • REST 기초
  • 스프링 부트로 RESTful 웹 서비스 만들기
  • 스프링 데이터 REST 이용하기
  • RESTful API 문서화
  • 요약
  • 문제
  • 추가 자료
  •  
  • ▣ 05장: 백엔드 보호
  • 기술 요구 사항
  • 스프링 시큐리티 이해
  • JWT으로 백엔드 보호하기
  • 로그인 보호하기
  • 다른 요청 보호하기
  • 예외 처리하기
  • CORS 필터 추가하기
  • 역할 기반 보안
  • 스프링 부트를 통한 OAuth 2 이용하기
  • 요약
  • 질문
  • 추가 자료
  •  
  • ▣ 06: 백엔드 테스트하기
  • 기술 요구 사항
  • 스프링 부트에서의 테스트
  • 테스트 케이스 만들기
  • 그레이들로 테스트하기
  • 테스트 주도 개발
  • 요약
  • 문제
  • 참고자료
  •  
  • 02부] 리액트를 이용한 프런트엔드 프로그래밍
  •  
  • ▣ 07장: 환경과 툴 설정 - 프런트엔드
  • 기술 요구 사항
  • Node.js 설치
  • Visual Studio Code 설치
  • VS Code 확장
  • 리액트 앱 만들기 및 실행
  • 리액트 앱 수정하기
  • 리액트 앱 디버깅하기
  • 요약
  • 문제
  • 참고자료
  •  
  • ▣ 08장: 리액트 시작하기
  • 기술 요구 사항
  • 리액트 컴포넌트를 만드는 방법
  • 첫 번째 리액트 앱 살펴보기
  • 유용한 ES6 기능
  • JSX와 스타일링
  • 조건부 렌더링
  • 리액트 훅
  • 컨텍스트 API
  • 리액트로 목록 처리
  • 리액트로 이벤트 처리
  • 리액트로 폼 처리
  • 요약
  • 문제
  • 참고자료
  •  
  • ▣ 09: 타입스크립트 입문
  • 기술 요구 사항
  • 타입스크립트 이해하기
  • 리액트에서 타입스크립트 기능 이용
  • 타입스크립트로 리액트 앱 만들기
  • 비트와 타입스크립트
  • 요약
  • 문제
  • 참고자료
  •  
  • ▣ 10: 리액트로 REST API 이용하기
  • 기술 요구 사항
  • 프로미스
  • fetch API 이용
  • axios 라이브러리 이용
  • 경쟁 조건 처리
  • 리액트 쿼리 라이브러리 이용
  • 요약
  • 문제
  • 참고자료
  •  
  • ▣ 11장: 유용한 리액트용 서드파티 컴포넌트
  • 기술 요구 사항
  • 서드파티 리액트 컴포넌트 설치
  • AG Grid 이용
  • 머티리얼 UI 컴포넌트 이용 라이브러리
  • 리액트 라우터로 라우팅 관리
  • 요약
  • 문제
  • 참고자료
  •  
  • 03부] 풀스택 개발
  •  
  • ▣ 12장: 스프링 부트 RESTful 웹 서비스를 위한 프런트엔드 설정
  • 기술 요구 사항
  • UI 모형 제작
  • 스프링 부트 백엔드 준비
  • 프런트엔드용 리액트 프로젝트 생성하기
  • 요약
  • 문제
  • 참고자료
  •  
  • ▣ 13장: CRUD 기능 추가하기
  • 기술 요구 사항
  • 목록 페이지 만들기
  • 백엔드에서 데이터 가져오기
  • 환경 변수 이용
  • 페이징, 필터링, 정렬 추가하기
  • 삭제 기능 추가하기
  • 토스트 메시지 표시
  • 확인 대화 상자 창 추가하기
  • 생성 기능 추가하기
  • 수정 기능 추가하기
  • CSV로 데이터 내보내기
  • 요약
  • 문제
  • 참고자료
  •  
  • ▣ 14장: 리액트 MUI로 프런트엔드 꾸미기
  • 기술 요구 사항
  • MUI Button 컴포넌트 이용하기
  • MUI 아이콘과 IconButton 컴포넌트 이용하기
  • MUI TextField 컴포넌트 이용
  • 요약
  • 문제
  • 참고자료
  •  
  • ▣ 15장: 리액트 앱 테스트하기
  • 기술 요구 사항
  • Jest 이용하기
  • 리액트 테스팅 라이브러리 이용하기
  • Vitest 이용하기
  • 엔드투엔드 테스트
  • 요약
  • 문제
  • 참고자료
  •  
  • ▣ 16장: 애플리케이션 보호하기
  • 기술 요구 사항
  • 백엔드 보호하기
  • 프런트엔드 보호하기
  • 요약
  • 문제
  • 참고자료
  •  
  • ▣ 17장: 애플리케이션 배포하기
  • 기술 요구 사항
  • AWS로 백엔드 배포하기
  • Netlify로 프런트엔드 배포하기
  • 도커 컨테이너 이용
  • 요약
  • 문제
  • 참고자료

정오표

  • 243쪽, 페이지 하단 예제 코드를 교체

    return (
    <div className="App">
      <input value={keyword}
        onChange={e => setKeyword(e.target.value)} />
      <button onClick={fetchData}>Fetch</button>
      <div className="ag-theme-material"
        style={{height: 500, width: 850}}>
        <AgGridReact
          rowData={repodata}
        />
        </div>
      </div>
    );

    ==>

    return (
      <>
        <input
          value={keyword}
          onChange={e => setKeyword(e.target.value)} />
        <button onClick={handleClick}>Fetch</button>
        <div className="ag-theme-material"
          style={{height: 500, width: 850}}>
          <AgGridReact
            rowData={repodata}
          />
        </div>
      </>
    );
WHERE TO BUY · 정가 30,000원
WHERE TO BUY · 정가 30,000원