강의

멘토링

커뮤니티

BEST
개발 · 프로그래밍

/

백엔드

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

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

(5.0) 수강평 145개

수강생 2,195명

  • 최태현

먼저 경험한 수강생들의 후기

이런 걸 배울 수 있어요

  • 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를 만들어 보셨어야 합니다!

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

안녕하세요
입니다.

10,368

수강생

765

수강평

781

답변

4.9

강의 평점

6

강의

안녕하세요 😊

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

 

  • (현) 캐치테이블[와드] 소프트웨어 엔지니어

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

  • (전) 배달의민족[우아한형제들] 소프트웨어 엔지니어

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

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

 

커리큘럼

전체

48개 ∙ (6시간 22분)

해당 강의에서 제공:

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

수강평

전체

145개

5.0

145개의 수강평

  • yohaninf [DEL] 231004012956940360님의 프로필 이미지
    yohaninf [DEL] 231004012956940360

    수강평 7

    평균 평점 5.0

    5

    54% 수강 후 작성

    It's so great! It was so refreshing that you even addressed the part I always wondered about (writing the constructor explicitly)! LOL Thank you for making such a great lecture <3 !!!!!

    • lannstark
      지식공유자

      Hello~!!! Humble Yohann ㅎㅎㅎㅎ Oh my~ Thank you for the good review ㅎㅎㅎ I will continue to work hard to create good content in the future!! Have a good day today!!! 🙏

  • zero13님의 프로필 이미지
    zero13

    수강평 2

    평균 평점 5.0

    5

    96% 수강 후 작성

    It was great! Thank you for the great lecture!

    • lannstark
      지식공유자

      Hello! asebn1!!! Wow~~~ You completed it so well ㅎㅎㅎㅎ Congratulations~!!! 🎉🎉 I hope you have a precious and happy day today after completing all the lectures! Thank you~ 😊

  • naekang님의 프로필 이미지
    naekang

    수강평 8

    평균 평점 5.0

    5

    96% 수강 후 작성

    It's so good!

    • lannstark
      지식공유자

      Hello Jinho~!! Oh my~ Thank you for the thoughtful review ㅋㅋㅋㅋㅋㅋㅋ It's so good~!!! Have a happy day!! ☺️

  • junuuu님의 프로필 이미지
    junuuu

    수강평 3

    평균 평점 5.0

    5

    100% 수강 후 작성

    I am writing a review after listening to half of the lecture. I will be working at a company that I will be joining soon and I happened to come across Kotlin through jojuldu's recommendation, but I think I am learning a lot. I think there are many people who have worked on test code, Enum, fetch join, and QueryDSL while working on personal projects, but there are many things to learn from the instructor's coding style, so I recommend it. And you can learn how to apply theories such as Kotlin's extension functions in this way. Also, the instructor is very kind in giving answers. I haven't listened to Kotlin Introduction for Java Developers yet, but I definitely want to listen to this lecture later. Thank you for the quality lecture~

    • lannstark
      지식공유자

      Hello~ j-nim!! Oh my~ Thank you so much for leaving a great review!!! ☺️ I also liked that j-nim left many sharp and interesting questions!! I will continue to work hard to create good content! Thank you!!! 🙏

  • heekng님의 프로필 이미지
    heekng

    수강평 10

    평균 평점 5.0

    5

    94% 수강 후 작성

    I'm taking this class because I've listened to about 1/3 of the lecture and want to write a review quickly! I'm taking this class right at the moment when I want to start a spring project after listening to the previous java to kotlin lecture. As expected, the explanations are very good, and the process of changing a Java spring project to Kotlin spring seems easier and more intuitive. The only regret is that the comments you made at the end of the lecture are gone. Thank you for the great lecture.

    • lannstark
      지식공유자

      Oh my, hello~ Heekng Ko ㅎㅎㅎㅎ First class review!!! Thank you so much~~ 😊 The comments I used to make at the end of each lecture were long, around 1 minute long, so I only did them in the last lecture of the section ㅎㅎㅎㅎ It was kind of a trademark, but I also felt regretful~ I respect and admire Heekng Ko, who has already listened to 1/3 of the way, and I hope you finish it!!! 🔥 Thank you~!!

₩77,000

최태현님의 다른 강의

지식공유자님의 다른 강의를 만나보세요!

비슷한 강의

같은 분야의 다른 강의를 만나보세요!