인프런 영문 브랜드 로고
인프런 영문 브랜드 로고
BEST
개발 · 프로그래밍

/

백엔드

실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)

Java + Spring Boot로 만들어진 웹 애플리케이션을 Kotlin + Spring Boot로 리팩토링 하고 추가 요구사항을 구현합니다. 이 과정에서 Junit5, SQL, JPA, Querydsl 을 사용할 뿐 아니라, 설계 및 구현 관점에서 다양한 방법의 장단점을 다루게 됩니다.

(5.0) 수강평 114개

수강생 1,872명

Thumbnail

초급자를 위해 준비한
[백엔드, 프로그래밍 언어] 강의입니다.

이런 걸
배워요!

  • Kotlin + Spring Boot + JPA를 함께 사용하는 방법

  • Kotlin을 이용한 테스트 기초(Junit5)와 Querydsl 사용법

  • 요구사항을 구현하는 다양한 방법과 Trade-Off 지점에 대한 이해

떠오르는 대세, 코틀린 백엔드! 👩‍💻 
자바 + 스프링부트 리팩토링으로 배워보세요.

지금, 왜 코틀린(Kotlin)일까요?

쉽고 간결한 
코드 

확연히 좋아진 
Null 안정성 

기존 자바와의 
완벽 호환 

이미 네카라쿠배는 코틀린 도입 중! 
자바를 대체할 매력적인 서버 개발 언어로 코틀린이 떠오르고 있습니다.

이 강의에서는 🔥

Java + Spring Boot로 미리 만들어진 도서 관리 애플리케이션을 Kotlin + Spring Boot로 완전히 리팩토링합니다. 모든 리팩토링이 끝나면 다음 세 가지 비즈니스 요구사항과 한 가지 기술적 요구사항을 코틀린 서버 위에 추가로 구현해 봅니다.

이러한 과정을 통해 설계 및 구현 관점에 필요한 다양한 고민을 해볼 수 있고, 여러 방법의 Trade-Off 및 장단점과 추가적인 기술에 대해 배울 수 있습니다. 앞서나가고 싶은 백엔드 개발자라면 함께 도전해봅시다!

강의에서 도전하는 요구사항 4-Step ✅

첫 번째 추가 요구사항

책 등록 시 분야를 구분, 선택할 수 있도록 합니다.

두 번째 추가 요구사항

유저 대출 현황 및 기록 조회를 보여줍니다.

세 번째 추가 요구사항

현재 대여 중인 책, 등록된 책에 대한 통계를 보여줍니다.

네 번째 추가 요구사항

JPQL을 대체하여 QueryDSL을 적용해 봅니다.


이런 분들께 
추천합니다 👩‍💻

  • Java + Spring Boot + JPA로 매우 간단한 CRUD API를 한 번 정도 만들어보신 분!
  • Kotlin 기초 문법을 알고 계신 분!

서버 개발자가 갖춰야 할 지식과 기술은 정말 다양합니다. 그러나 일반적인 강의에서는 ‘특정 주제’를 집중해서 다루고 있어 어느 부분의 역량을 다루고 있는지, 추가로 습득해야 하는 역량은 무엇인지 파악하기가 어렵습니다. 본 강의에서는 강의를 듣기 위해 필수적인 선수 지식을 제외하고는 모두 강의 내용에 녹일 수 있도록 노력하였습니다.

향후 로드맵에 추가되는 강의에서도 이전 강의의 내용을 중복해서 담지는 않되, 이전 강의에서 다룬 적이 없는 내용은 처음부터 차근차근 설명할 수 있도록 구성할 예정입니다. 
보다 자세한 이야기는 무료로 열려 있는 “강의 소개 영상”을 확인해주세요~! 😊


커리큘럼을 
확인해보세요 📚

Section #1.
Kotlin Spring Junit5 

  • Kotlin을 사용하기 위해 필요한 설정 방법을 알아봅니다.
  • 테스트란 무엇이고, 왜 중요한지 살펴봅니다.
  • Junit5의 기초 사용법을 익히고, Junit5와 Spring Boot를 함께 사용해 테스트를 작성하는 방법을 다룹니다.
  • 도서 관리 애플리케이션 API에 대한 테스트를 작성해 봅니다.

Section #2.
Kotlin Spring JPA (1) 

  • Java Spring Boot를 Kotlin Spring Boot로 리팩토링하며 다양한 리팩토링 방법을 배웁니다.
  • Kotlin + Spring + JPA를 함께 사용하는 방법과 주의할 점을 알아봅니다.
  • Spring Application에서 Kotlin의 언어적 특성을 활용하는 방법을 다룹니다.

Section #3.
Kotlin Spring JPA (2) 

  • Type, Status 등을 서버에서 관리하는 두 가지 방법과 각각의 장단점을 살펴봅니다.
  • Text Fixture의 필요성과 구성 방법을 다룹니다.
  • Kotlin에서 Enum + JPA + Spring Boot를 활용할 수 있는 방법을 알아봅니다.

Section #4.
Kotlin Spring JPA SQL

  • 새로운 기능을 추가할 때 위치에 관한 고민과, 각각의 선택에 따른 장단점을 알아봅니다.
  • 복잡한 기능을 추가할 때 테스트 코드를 작성하는 방법을 배웁니다.
  • SQL의 inner join, left join을 이해하고, N + 1 문제를 해결하기 위해 fetch join을 사용해 봅니다.

Section #5.
Kotlin Spring SQL

  • SQL의 다양한 기능을 이해하고, 간결한 함수형 프로그래밍 기법에 익숙해져 봅니다.
  • 동일한 기능을 애플리케이션과 DB로 구현해 보고, 특징과 장단점에 대해 이해합니다.

Section #6.
Kotlin Spring QueryDSL

  • JPQL과 QueryDSL의 장단점을 알아봅니다.
  • QueryDSL을 Kotlin + Spring Boot와 함께 이해하고, 2가지 방식의 장단점을 이해합니다.
  • QueryDSL의 기본적인 사용법을 익힙니다.
  • QueryDSL을 사용해 기존 Repository를 리팩토링해봅니다.

수강생 여러분을 위해 준비한 
이 강의만의 키 포인트 🔑

Point 1

무한 복습을 위한 강의 자료 

강의 내용을 완벽하게 정리한 142페이지 분량의 핸드북과 468페이지 분량의 PPT를 드립니다.

Point 2

서버 개발에 집중하세요 

서버 개발에만 집중할 수 있도록 도서 관리 애플리케이션을 위한 웹 UI를 제공해드립니다.

Point 3

이해를 돕는 꼼꼼한 설명

강의 내용 이해를 돕기 위해 다양한 시각 자료를 준비했습니다!

Point 4

실전 서버 개발 레벨 업! 

실습형 수업에 걸맞게 함께 코드를 작성합니다. 
리팩토링은 물론 추가 요구사항 구현까지 완성해 나갑니다! 


함께 보면 좋은 강의 📺

평균 별점 5.0! 생생한 수강평을 확인해보세요 🚩

이번 강의에서도 Java + Spring Boot가 Kotlin + Spring Boot에서 어떻게 변경되고, 어떤 의미를 갖는지 꼼꼼하게 담았습니다. 여러분의 성공적인 코틀린 서버 개발 입문을 응원합니다! 💪

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • Kotlin으로 웹 애플리케이션 개발을 해보고 싶으신 분

  • 웹 애플리케이션 개발 과정에서 다양한 선택지와 각각의 장단점을 알아가고 싶으신 분

선수 지식,
필요할까요?

  • Java, Kotlin 기초 문법을 알고 계셔야 합니다!

  • Spring Boot로 아주 간단한 CRUD API를 만들어 보셨어야 합니다!

  • 필수적인 선수지식 외의 내용은 모두 설명드립니다!

안녕하세요
최태현입니다.

수강생 수

8,486

수강평 수

531

강의 평점

5.0

강의 수

6

안녕하세요 😊

제가 아는 내용을 이해하기 쉽고, 재미있게 설명드려 여러분들이 성장하실 때 행복함을 느끼는 개발자 최태현입니다.

 

  • (현) 와드 소프트웨어 엔지니어

  • (전) 스타트업 소프트웨어 엔지니어

  • (전) 우아한형제들 소프트웨어 엔지니어

  • (교육활동) Next Step 리뷰어 다수 참여, 공기관 & 스타트업 경진대회 강사 및 멘토, 스파르타 코딩클럽 멘토

  • 한국과학기술원 (KAIST) 졸업

 

 

커리큘럼

전체

48개 ∙ (6시간 22분)

수업 자료

가 제공되는 강의입니다.

강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!