실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
Java + Spring Boot로 만들어진 웹 애플리케이션을 Kotlin + Spring Boot로 리팩토링 하고 추가 요구사항을 구현합니다. 이 과정에서 Junit5, SQL, JPA, Querydsl 을 사용할 뿐 아니라, 설계 및 구현 관점에서 다양한 방법의 장단점을 다루게 됩니다.
이미 네카라쿠배는 코틀린 도입 중! 자바를 대체할 매력적인 서버 개발 언어로 코틀린이 떠오르고 있습니다.
이 강의에서는 🔥
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 리뷰어 다수 참여, 공기관 & 스타트업 경진대회 강사 및 멘토, 스파르타 코딩클럽 멘토
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 !!!!!
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!!! 🙏
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~ 😊
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~
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!!! 🙏
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.
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~!!