
Kim Young-han's Practical Java - Fundamentals
yh
₩34
100%
₩0
초급 / Java, oop
5.0
(1,531)
Easily learn the core concepts of Java object-oriented programming needed in practice through example code.
초급
Java, oop
백엔드 개발에 필요한 DB 데이터 접근 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 DB 접근 기술의 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다.
스프링 DB 접근 기술
스프링을 통해 DB를 사용하는 다양한 방법
스프링을 통해 DB를 사용하는 내부 원리
백엔드 개발자라면 반드시 알아야하는
스프링 데이터 접근 기술 Part.1
📣 확인해주세요!
본 강의는 자바 스프링 완전 정복 시리즈의 6번째 강의입니다. 우아한형제들 최연소 기술이사 김영한의 스프링 완전 정복 로드맵을 먼저 확인해주세요.
• 로드맵 링크: https://www.inflearn.com/roadmaps/373 (클릭하면 바로가기)
현대의 애플리케이션은 대부분 웹 환경에서 동작하는 웹 애플리케이션입니다. 단순하게 생각하면 웹 애플리케이션은 크게 3가지 기능을 수행합니다.
우리는 앞서 스프링 MVC 강의를 통해 클라이언트의 요청을 받아서 처리하는 방법을 학습했습니다. 이번에는 그 이후 단계인 비즈니스 로직을 수행하는 서비스와 수행 결과를 데이터베이스에 보관하고 관리하는 리포지토리에 대해 깊이있게 학습합니다.
클라이언트의 요청을 받아서 처리하는 기능은 스프링 MVC를 사용합니다. 비즈니스 로직을 수행하는 기능은 순수한 자바 코드로 만들어집니다. 마지막으로 수행 결과를 데이터베이스에 보관하고 관리하는 기능은 JDBC, JdbcTemplate, MyBatis, JPA와 같은 다양한 기술들을 선택해서 사용합니다. 그리고 스프링이 제공하는 DB 데이터 접근 기술을 사용하면 이러한 기술들을 스프링과 통합해서, 매우 편리하게 사용할 수 있습니다.
애플리케이션에서 데이터베이스에 데이터를 보관하고 관리하기 위해서는 다양한 데이터 접근 기술을 학습해야 합니다. 이러한 데이터 접근 기술을 학습하기 어려운 대표적인 이유는 다음 3가지 때문입니다.
모든 데이터 접근 기술은 데이터베이스에 데이터를 보관하고 관리하기 위한 것입니다. 따라서 데이터베이스에 대한 기본 이해가 필요합니다. 이 강의를 학습하기 전에 데이터베이스와 SQL에 대한 기본 내용을 학습하시길 바랍니다.
JDBC부터 시작해서 SQL 매퍼라고 불리는 JdbcTemplate이나 MyBatis 같은 기술부터 ORM 기술인 JPA, 스프링 데이터 JPA, Querydsl 같은 최신 기술까지 정말 다양한 데이터 접근 기술들이 있습니다. 너무 다양한 기술들이 존재해서, 각각의 기술들이 어떤 장단점이 있고, 어떤 상황에 어떤 기술들을 사용하면 좋은지 명확하게 이해하고 사용하기는 쉽지 않습니다.
JDBC부터 시작한 데이터 접근 기술은 이미 20년이 넘었습니다. 그동안 데이터 접근 기술의 발전은 물론이고, 스프링은 이러한 데이터 접근 기술들을 더욱 편리하게 사용하도록 돕기 위해 수많은 기능을 발전시키고, 개선해왔습니다. 그래서 지금은 너무 많은 것이 자동화되고, 추상화 되어버렸습니다. 특히 최근에 개발을 시작한 백엔드 개발자들은 데이터 접근 기술을 사용할 때 왜 이런 방식으로 기능이 동작하는지 정확한 이유를 모르고, 단순히 사용법 위주로 사용하게 됩니다. 왜 이런 방식으로 사용하지?라고 의문을 가져도 과거에 어떤 불편한 문제 때문에 지금 이런 방식으로 개선되고 사용하는지 과거의 문맥을 제대로 이해하고 사용하기는 어렵습니다.
이 강의는 20년 전으로 돌아갑니다. 데이터 접근 기술의 시작인 JDBC를 시작으로, 커넥션, 커넥션 풀, 데이터소스, 트랜잭션 개념, 그리고 스프링이 지원하는 데이터 접근 기술까지, 모든 것을 코드로 여러분과 함께 만들어보면서 단계적으로 진행합니다. 과거에 어떤 불편한 점이 있어서 다음 기술이 탄생했고, 어떤 점들이 개선되었는지 그 이유를 찾고 직접 코딩하면서 하나씩 이해할 수 있습니다.
그리고 2편을 통해 MyBatis, JPA 같이 실무에서 주로 사용하는 데이터 접근 기술들도 함께 학습하게 됩니다.
데이터 접근 기술을 학습할 때는 여러가지 기본기가 중요합니다. 이 강의에서는 실무에서는 많이 사용되지만 학습하기는 쉽지 않은 트랜잭션과 자바 예외에 대한 기본기도 함께 다룹니다. 그리고 이렇게 학습한 내용들이 실무에서 어떻게 활용되는지 코드로 학습할 수 있습니다.
이 강의는 데이터 접근 기술에 대한 모든 내용을 설명하지 않습니다. 데이터 접근 기술을 위해 필요한 핵심 뼈대를 세우고, 그 위에 실무에 꼭 필요한 기술을 위주로 설명합니다. 이 강의가 끝나면 여러분은 튼튼한 기반 지식을 바탕으로 스프링 백엔드 애플리케이션을 자신있게 개발할 수 있습니다.
스프링 DB 강의는 1, 2편으로 나누어져 있습니다.
본 강의는 스프링 DB 1편 - 데이터 접근 핵심 원리입니다.
데이터 접근 기술의 핵심 개념을 다지고, 스프링이 제공하는 데이터 접근 기술의 기본 원리를 이해합니다.
1편은 먼저 스프링 없이 순수한 데이터 접근 기술인 JDBC, 커넥션, 커넥션 풀, 데이터소스, 트랜잭션 같은 기반 기술의 핵심 개념을 먼저 학습합니다. 이렇게 기반을 다진 다음에, 그 위에 스프링 데이터 접근 기술이 이 기능들을 얼마나 편리하게 사용할 수 있도록 도와주는지 단계별로 깊이있게 학습합니다.
1편의 기반 위에 다양한 활용 기술들을 학습합니다.
JdbcTemplate, MyBatis 같은 SQL 매퍼 기술 부터, JPA, 스프링 데이터 JPA, Querydsl 같은 최신 ORM 기술을 학습하고 각 기술들의 장단점을 이해합니다. 그리고 데이터 접근 계층의 테스트 방법과 스프링 트랜잭션에 대한 다양한 기능들도 깊이있게 학습합니다.
학습 대상은
누구일까요?
스프링을 통해 DB에 접근하고, 데이터를 관리하고 싶은 개발자
개발자 취업 준비생
스프링 DB 접근 기술을 깊이있게 이해하고 싶은 현업 개발자
스프링으로 웹 애플리케이션을 만들고 싶은 개발자
선수 지식,
필요할까요?
자바 언어
스프링 기본 지식
DB 기본 지식
528,237
명
수강생
32,826
개
수강평
8,844
개
답변
5.0
점
강의 평점
22
개
강의
교육자
전: 우아한형제들 기술이사, 카카오, SK플래닛
진짜 실무에 필요한 제대로 된 개발자가 될 수 있도록, 교육하는 것이 저의 목표입니다.
EO 인터뷰 영상
개발바닥 - 시골 청년 개발왕 되다
전체
57개 ∙ (10시간 4분)
해당 강의에서 제공:
4. 프로젝트 생성
03:13
5. H2 데이터베이스 설정
05:02
6. JDBC 이해
09:09
8. 데이터베이스 연결
16:04
9. JDBC 개발 - 등록
19:57
10. JDBC 개발 - 조회
14:42
11. JDBC 개발 - 수정, 삭제
12:45
12. 정리
05:02
13. 커넥션 풀 이해
08:41
14. DataSource 이해
06:10
17. DataSource 적용
13:54
18. 정리
03:23
전체
837개
5.0
837개의 수강평
수강평 5
∙
평균 평점 4.2
5
I am a job seeker who studied only Java grammar and watched all of Younghan's lectures in the order of JPA -> Spring roadmap. (I think the order changed, but when I started, there was only the Spring basics ㅠㅠ) I think I was able to get here without much difficulty because he explained in an easy way that even I, a beginner in programming, could understand what problems ancient developers felt and how they developed. I think it was because I had listened to the advanced lecture before, so when concepts like templates, callbacks, proxies, and AOP came out, I found them interesting and thought that they were used in this way. Later, when I was creating a function, I thought that I should introduce patterns when I had repetitive code or dependency problems. If I had started with a book like Projects with Spring, I might have been satisfied with just using Spring, so I think it was a good decision to start with Younghan's lecture :) As you said while waiting for DB Part 2, I am trying to move beyond the study stage to the acquisition stage, but I don't know where to start, but I plan to follow Younghan's advice and create small projects step by step. Of course the lecture is good, but I think the direction you give me at the end is a great motivation for me. Thank you so much^^
Min-gyu, you studied exactly as I intended^^! You're a job seeker, but if you've already thought about it this much, I'm sure you'll be a good developer when you become a working developer. I'm rooting for you!
수강평 25
∙
평균 평점 5.0
5
Not only the lecture content, but also the good words in the last video gave me a lot of strength. Recently, I feel like I've been studying after work out of inertia without any particular goals, so I wondered if this was really right? Is this really not my path? Many of the parts that were frustrating have been resolved. Thank you!
KoorunG, in the end, consistent effort is the most important. I feel like my hard work paid off. Thank you.
수강평 1
∙
평균 평점 5.0
5
I don't usually write reviews on the internet, but I'm writing this because it helped me a lot. Like other lectures by Knowledge Sharer, this is a good lecture based on thorough preparation as well as the instructor's own development skills. It is really helpful in terms of content, but it is especially recommended because it always considers how to convey the lecture well based on the listener. While showing the source code or official documents at the appropriate time, it only goes as far as necessary at that time, and as always, the stories of usage experiences in the field are also helpful. I was studying DB access technology, and it helped me a lot with the underlying principles and the questions that naturally came up. Thanks to this, I was able to save a lot of time. In particular, the exception handling issue was really helpful. I was quite confused about exceptions while learning JDBC, but 1. You covered the basics of Java exception concepts in a solid manner, 2. You conveyed usage trends in the field and gave clear instructions on how to use them, which was especially helpful. In fact, I started developing on my own and have been studying with Younghan's lectures since I only knew how to do the multiplication table. It's been about 8 months since I started studying with Younghan's lectures, and each lecture has been really helpful. In particular, since the lecture is conducted through the instructor's live coding, I would like to recommend it because you can also acquire knowledge about using IDEs and writing good codes. Thank you always.
Thank you, Mr. Lee Han-bin, for studying hard and explaining the merits of the lecture one by one. I thought a lot about whether to include the basics of Java exceptions here, and I feel rewarded for helping you in this area. Thank you!
수강평 205
∙
평균 평점 5.0
5
I highly recommend this to those who have thrown exceptions in their company code or lack the concept of transactions :) Thank you for providing a unique and excellent lecture that raises the average skill level of domestic backend developers!!
OMG, I really sympathize with the part where the company code is full of throws exceptions and such. Thank you for listening so intently!
수강평 20
∙
평균 평점 4.7
5
Kim Young-han!! Kim Young-han!! Kim Young-han!!
Mr. Lee Seok-jun, thank you for listening so attentively!
₩42
29%
₩77,000