김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
김영한
데이터베이스 설계를 개념적, 논리적, 물리적 3단계로 체계적으로 배우고, 실무 중심 쇼핑몰 프로젝트로 역량을 강화합니다. 현대적 설계 기법과 최신 트렌드를 통해 실전 노하우를 익힙니다.
초급
SQL, MySQL, DBMS/RDBMS
Develop APIs using Spring Boot and JPA. And learn how to optimize JPA's extreme performance.
Understand the right way to develop APIs using Spring Boot and JPA.
Understand how to tune API query performance using Spring Boot and JPA.
Understand how to optimize practical performance using Spring Boot and JPA.
Want to use Spring Boot effectively in practice?
Develop the power to solve even complex problems.
🚩 This course is a roadmap course.
In the Java world, developing web applications using Spring Boot and JPA is a global trend. Consequently, many developers are learning and using these two technologies. However, effectively utilizing these technologies in diverse and complex real-world situations while also considering performance is not as easy as it might seem.
In practice, you need to go beyond functional development to solve technical problems. You need to develop applications that optimize performance in complex, data-intensive situations while also being easy to maintain.
While Part 1 focused on implementing features while developing web applications, Part 2 goes beyond functional development and focuses on solving technical issues . We'll cover how to implement them properly , what performance issues typically arise in practice, and how to address them. We'll also help you resolve technical issues.
Implement the API properly
Even when developing a single API, using JPA introduces the concept of entities, leading to numerous concerns. Should entities be exposed directly to the API? Or should they be created as separate objects and returned? How should lazy loading be handled when returning entities? These questions often arise. We'll share practical know-how on how to implement these in a safe and maintainable way.
Understanding JPA Extreme Query Performance Optimization
In practice, complex situations often arise where multiple tables must be joined to quickly retrieve data. However, this often requires the addition of collection data with one-to-many relationships, and additional paging may be required. This complicates the problem significantly, making it difficult to resolve with simple table joins. This article will share practical know-how on how to optimize these complex query performance issues with JPA and its limitations.
Performance tuning by coding complex examples in six steps.
We've prepared a six-step guide to help you develop an underperforming API, analyze why it's failing, and tune it step-by-step through coding . By following this guide, you'll naturally learn how to address complex performance issues in real-world situations.
Solving 90% of practical JPA performance issues
This course covers a variety of performance issues that frequently arise in practice, helping you resolve 90% of practical JPA performance issues. I've seen countless developers working on Spring Boot and JPA projects successfully implement functionalities, but struggle with performance issues at the end of the project. So, when I went to help them, I often found they didn't know how to optimize JPA performance.
I've seen a wide range of scenarios, from people who pulled all-nighters trying to figure out a solution, to those who, unsure of a solution, manually rewrote SQL instead of JPA and converted countless codes into SQL. However, when I actually went to help, it took less than five minutes to tune the system for optimal performance. I can still vividly see the look on the developer's face as they saw a query that used to take an hour, despite days of hard work, reduced to tens of seconds by adjusting JPA query options and making a few minor code changes. JPA inherently provides a wide range of performance tuning options , so with just a few options and code modifications, you can experiment with various performance optimizations.
If you understand what I'm talking about in this lecture, you'll be able to solve 90% of your practical performance problems.
These days, rather than using view templates to directly generate HTML on the server and respond, many developers are loading JSON data into APIs and returning it. The goal of this article is to understand the considerations and proper design guidelines for developing APIs using Spring Boot and JPA, and to complete the API with performance in mind.
Part 2 develops a REST API based on the domain created in Part 1. We then step by step optimize the performance of the query API. This process provides a thorough and comprehensive explanation of JPA query tuning, a crucial practice.
This course is largely hands-on . Therefore, you'll get the most out of it by following the lecture from beginning to end, coding on your own .
Please note that this course is intended for those who have some familiarity with Spring Boot and JPA and are capable of developing simple web applications. The goal is to help these individuals develop a deep technical understanding beyond functional implementation. Therefore, if you lack a solid understanding of Spring Boot and JPA, we recommend taking Part 1 first.
💻 Check out the player lecture!
Java ORM Standard JPA Programming - Basics
This is a prerequisite course for understanding JPA-based technologies.
Real-World! Using Spring Boot and JPA 1 - Web Application Development
Design and develop real-world web applications with Spring Boot and JPA.
Spring Data JPA in Practice!
Learn Spring JPA from basics to practice.
Real-world! Querydsl
Solve complex and dynamic query problems with Querydsl.
The book is for those who want to study more in-depth content.
You can think of it as a reference book.
(Even if you don't have a book, separate materials for the lecture will be provided.)
Who is this course right for?
For those who use Spring Boot and JPA in their work but want to get better use out of the technology
I know Spring Boot and JPA, but I want to understand the correct way to develop APIs.
Those who know Spring Boot and JPA, but want to understand the performance optimization techniques required for practical use
I know Spring Boot and JPA, but I want to understand the in-depth content that is essential for practical use.
Need to know before starting?
JAVA language
Spring Framework
Relational database basics
JPA
558,104
Learners
36,590
Reviews
8,965
Answers
5.0
Rating
25
Courses
교육자
전: 우아한형제들 기술이사, 카카오, SK플래닛
진짜 실무에 필요한 제대로 된 개발자가 될 수 있도록, 교육하는 것이 저의 목표입니다.
EO 인터뷰 영상
개발바닥 - 시골 청년 개발왕 되다
All
24 lectures ∙ (6hr 35min)
Course Materials:
All
1,277 reviews
5.0
1,277 reviews
Reviews 2
∙
Average Rating 5.0
5
JPA 기본편과 활용 1, 2편까지 완강 했습니다. 배속 재생을 하지 않으면 듣기 힘들정도로 지루한 강의 들이 많았는데 영한님 강의는 배속 재생을 할 수가 없었습니다. 그만큼 내용이 알차게 담겨있고 강의 텐션도 좋으셔서 집중해서 모든 강의를 들을 수 있었습니다. 좋은 강의 감사합니다~!~!
크! 고맙습니다. 정원님. 사실 저도 텐션이 중요하다고 생각해서, 텐션이 죽으면 다시 찍습니다 ㅋㅋㅋ 이 부분을 상당히 많이 노력했는데, 알아주시는 좋은 피드백을 받아서 기분이 좋네요 ㅎㅎ
Reviews 5
∙
Average Rating 5.0
5
* best practice를 알려주시되 bad practice도 함께 설명해주시니 개선된 것들이 왜 best practice가 되는지 알 수 있었습니다. * 개발편의, 성능, 유지보수 등의 트레이드 오프에 대해 자세히 설명해주십니다. 아직까지 많은 트래픽을 경험한적이 없지만 서비스가 커지고 트래픽이 늘었을 때 백엔드 개발자가 성능 개선을 위해 어떤 점을 고려해야 하는지 알 수 있었습니다. * 성능 개선을 위해 작업 했을 때 SQL 쿼리를 하나씩 보여주시면서 어떻게 성능 최적화가 되는지, 항상 이런 방식의 성능 최적화가 은탄환이 아님도 함께 알려주십니다. Spring Data JPA, QueryDSL 설명을 듣다보니 DB와 JPA의 기본을 더욱 탄탄히 다지고 싶다는 생각이 듭니다. 실무에서의 경험을 멋진 강의로 풀어내주셔서 감사합니다:)
강의를 정말 제대로 습득하셨네요^^! 멋진 수강평보다 깊이있게 학습하셔서 제가 더 보람이 있습니다. 항상 응원하겠습니다.
Limited time deal ends in 10:12:51
$61,600.00
30%
$68.20
Check out other courses by the instructor!
Explore other courses in the same field!