
김영한의 실전 자바 - 기본편
김영한
₩44,000
초급 / Java, 객체지향
5.0
(2,170)
실무에 필요한 자바 객체 지향의 핵심 개념을 예제 코드를 통해 쉽게 학습합니다.
초급
Java, 객체지향

백엔드 개발에 필요한 DB 데이터 접근 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 DB 접근 기술의 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다.

먼저 경험한 수강생들의 후기
5.0
이한빈
보통 인터넷에 리뷰를 다는 편은 아닌데, 많은 도움을 받아서 글을 남깁니다. 지식공유자님의 다른 강의들이 그렇듯이, 강사님 본인의 개발 실력뿐만 아니라 철저한 준비가 기반이 된 좋은 강의입니다. 내용적으로도 정말 도움이 되지만, 항상 강의를 듣는 사람을 기준으로 어떻게 잘 전달해야 하느냐에 대한 고민이 녹아들어 있어 특히 추천할만한 강의입니다. 적절한 시점에 소스코드나 공식 문서를 뜯어 보여주시면서도 딱 그 시점에 필요한 만큼만 진행해주시고, 늘 그렇듯이 현업에서의 사용 경험 이야기도 도움이 됩니다. DB 접근기술을 공부하던 중이었는데, 기저에 있는 원리들에 대해서, 자연스럽게 나올 수밖에 없는 의문들에 대해서 큰 도움을 얻었습니다. 덕분에 시간을 크게 절약할 수 있었습니다. 특히 예외 처리 문제를 다룬 것이 정말 도움이 많이 되었습니다. JDBC를 학습하면서 예외에 대해 상당히 혼란스러웠던 상황이었는데, 1. 자바 예외 개념에 대해서 기초부터 탄탄하게 짚어 주시고, 2. 현업에서 사용 추세를 전달, 어떻게 사용하라는 것에 대한 지침을 명확히 주셔서 특히나 도움이 되었습니다. 사실상 독학으로 개발을 시작해서 구구단만 칠 줄 알던 시절부터 영한님 강의로 공부해온지 8개월 정도 지났는데, 강의 하나하나가 정말 도움이 되었습니다. 특히 강사님의 라이브 코딩으로 진행되는 수업이기에, IDE 이용과 좋은 코드 작성법에 대한 지식도 습득할 수 있다는 점도 추천하고 싶습니다. 항상 감사합니다.
5.0
spring
자바 문법만 공부하고 JPA -> Spring 로드맵 순서로 영한님 강의 전부 본 취준생 입니다. (순서가 바뀐것 같지만 제가 시작할 당시엔 스프링 기초편만 있었어요 ㅠㅠ) 고대 개발자들이 어떤 문제를 느껴서 어떻게 발전 했는지 처음 프로그래밍을 하는 저도 이해할 수 있게 쉽게 풀어서 설명 해 주셔서 큰 어려움 없이 여기까지 온 것 같아요. 이번 강의는 전에 고급편을 듣고 와서 그런지 템플릿, 콜백, 프록시, AOP 같은 개념이 나왔을때 이렇게 활용 되는구나 하고 재미있게 들었네요. 나중에 제가 기능을 만들때도 반복되는 코드나 의존성 문제가 생기면 패턴을 도입 해야겠다는 생각이 들었습니다. 스프링으로 만드는 프로젝트 같은 책으로 시작을 했다면 그저 스프링을 사용하는 것에 만족했을 수도 있었겠다는 생각이 들어서 영한님 강의로 시작하길 잘한것 같아요 :) DB 2편을 기다리면서 말씀 해 주신 것처럼 공부하는 단계를 넘어서 체득하는 단계로 가려고 하는데 어떻게 시작해야 할지 막막하긴 하지만 영한님의 조언대로 작은 프로젝트부터 차근차근 만들어 볼 생각입니다. 강의도 물론 좋지만 마지막에 나아가야 할 방향을 제시 해 주시는게 저한테 큰 동기부여가 되는 것 같아요 정말 감사합니다^^
5.0
OMG
회사 코드에 throws exception이 도배되어 있거나, 트랜잭션 개념이 부족한 분들에게 적극 추천드립니다 :) 국내 백엔드 개발자의 평균 실력을 올려주는 유일무이한 좋은 강의 제공해주셔서 감사합니다!!
스프링 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 기본 지식
582,285
명
수강생
40,220
개
수강평
9,072
개
답변
5.0
점
강의 평점
26
개
강의
교육자
전: 우아한형제들 기술이사, 카카오, 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
전체
1,016개
5.0
1,016개의 수강평
수강평 6
∙
평균 평점 4.3
5
자바 문법만 공부하고 JPA -> Spring 로드맵 순서로 영한님 강의 전부 본 취준생 입니다. (순서가 바뀐것 같지만 제가 시작할 당시엔 스프링 기초편만 있었어요 ㅠㅠ) 고대 개발자들이 어떤 문제를 느껴서 어떻게 발전 했는지 처음 프로그래밍을 하는 저도 이해할 수 있게 쉽게 풀어서 설명 해 주셔서 큰 어려움 없이 여기까지 온 것 같아요. 이번 강의는 전에 고급편을 듣고 와서 그런지 템플릿, 콜백, 프록시, AOP 같은 개념이 나왔을때 이렇게 활용 되는구나 하고 재미있게 들었네요. 나중에 제가 기능을 만들때도 반복되는 코드나 의존성 문제가 생기면 패턴을 도입 해야겠다는 생각이 들었습니다. 스프링으로 만드는 프로젝트 같은 책으로 시작을 했다면 그저 스프링을 사용하는 것에 만족했을 수도 있었겠다는 생각이 들어서 영한님 강의로 시작하길 잘한것 같아요 :) DB 2편을 기다리면서 말씀 해 주신 것처럼 공부하는 단계를 넘어서 체득하는 단계로 가려고 하는데 어떻게 시작해야 할지 막막하긴 하지만 영한님의 조언대로 작은 프로젝트부터 차근차근 만들어 볼 생각입니다. 강의도 물론 좋지만 마지막에 나아가야 할 방향을 제시 해 주시는게 저한테 큰 동기부여가 되는 것 같아요 정말 감사합니다^^
민규님 제가 딱 의도한 대로 공부를 하셨군요^^! 취준생인데, 벌써 이정도 고민을 하셨다면 실무 개발자가 되었을 때 분명 좋은 개발자가 되실 것이라 확신합니다. 응원합니다!
수강평 1
∙
평균 평점 5.0
5
"객체 지향의 이념을 강의에 적용하다" 김영한 님의 강의는 그저 "스프링부트에서의 DB 접근 기술"이라는 개념을 머릿속에 구현체로 넣어주는 강의가 아닙니다. 이 강의는 수강생들의 머릿속에 "애플리케이션에서의 DB 접근 기술"이라는 인터페이스를 만들어주십니다. 그리고 수강생들은 그 인터페이스를 Java 환경에서 구현한 구현체인 "JDBC"를 얻어 가는 강의입니다. 그래서, 이 강의를 들은 수강생분들은 Java 기반 Spring을 사용하시다가, 만약 Node 기반의 Nest.js로 프레임워크를 변경한다 해도 다시 처음부터 공부할 필요가 없습니다. 이미 머릿속에 탄탄한 인터페이스가 잡혀있기에, 단지 단기간의 습득으로 해당 환경에서의 구현체만 넣어주면 되는 것입니다. 이 강의를 듣고 이해했습니다. 왜 기업에서는 어느 한 프레임워크에 매료되어 구현만 할 줄 아는 기술자는 필요 없다고 하는지, 요즘같이 매년 기술이 휙휙 변하는 시대에는 어느 한 완벽한 구현체를 가지고 있는 것보다(아 물론 중요합니다ㅋㅋ..) 전반적인 인터페이스가 잘 잡혀있는 개발자가 중요하다고 느꼈습니다. 그래서 큰 기업들은 CS 지식을 중요하게 생각하는 까닭일 것이고요. 이 강의를 들으며 여태껏 모든 개념에 대해 Java 환경에서의 구현체로만 가지고 있던 저 자신은 큰 깨달음을 얻었습니다 "왜 나는 항상 객체 지향 언어를 사용하면서 머릿속을 객체 지향적으로 프로그래밍 할 생각을 못 했을까?" 저의 이 발전 과정에 도움을 주신 김영한 님에게 정말 큰 감사의 말씀 남깁니다. + 가끔 저처럼 JPA 강의를 들었는데 이 강의도 들어야 될까? 라고 고민하시는 분들은 무조건 들으세요. 다만, 스프링 부트를 사용하여 프로젝트를 한 번도 진행해 보지 않은 분들은 어느 주제든 먼저 진행해 보시고 오시는 것을 추천합니다 제가 앞서 말했다시피 이 강의는 인터페이스라는 추상적인 개념을 머릿속에 집어넣는 과정이기 때문에 처음에는 이해가 잘 안될 수도 있습니다. 프로젝트로 한번 깨져보고나서 듣게된다면 여러분들은 "아~ 이게 이래서 되는거였구나~" 라는 감탄사와 함께 즐기며 강의를 들을 수 있을것입니다.
조태님 앞서 말씀하신 것 처럼 특정 프레임워크만 사용할 줄 아는 개발자가 되는 것이 아니라 핵심 개념을 잘 파악하고, 그래서 다른 언어나 구현에서도 좋은 방향으로 설계하고 개발할 줄 아는 것이 좋은 개발자라 생각합니다. 제가 준비한 방향들을 잘 이해하고 파악해주셔서 저도 준비한 보람이 있네요^^ 응원합니다!
수강평 1
∙
평균 평점 5.0
5
보통 인터넷에 리뷰를 다는 편은 아닌데, 많은 도움을 받아서 글을 남깁니다. 지식공유자님의 다른 강의들이 그렇듯이, 강사님 본인의 개발 실력뿐만 아니라 철저한 준비가 기반이 된 좋은 강의입니다. 내용적으로도 정말 도움이 되지만, 항상 강의를 듣는 사람을 기준으로 어떻게 잘 전달해야 하느냐에 대한 고민이 녹아들어 있어 특히 추천할만한 강의입니다. 적절한 시점에 소스코드나 공식 문서를 뜯어 보여주시면서도 딱 그 시점에 필요한 만큼만 진행해주시고, 늘 그렇듯이 현업에서의 사용 경험 이야기도 도움이 됩니다. DB 접근기술을 공부하던 중이었는데, 기저에 있는 원리들에 대해서, 자연스럽게 나올 수밖에 없는 의문들에 대해서 큰 도움을 얻었습니다. 덕분에 시간을 크게 절약할 수 있었습니다. 특히 예외 처리 문제를 다룬 것이 정말 도움이 많이 되었습니다. JDBC를 학습하면서 예외에 대해 상당히 혼란스러웠던 상황이었는데, 1. 자바 예외 개념에 대해서 기초부터 탄탄하게 짚어 주시고, 2. 현업에서 사용 추세를 전달, 어떻게 사용하라는 것에 대한 지침을 명확히 주셔서 특히나 도움이 되었습니다. 사실상 독학으로 개발을 시작해서 구구단만 칠 줄 알던 시절부터 영한님 강의로 공부해온지 8개월 정도 지났는데, 강의 하나하나가 정말 도움이 되었습니다. 특히 강사님의 라이브 코딩으로 진행되는 수업이기에, IDE 이용과 좋은 코드 작성법에 대한 지식도 습득할 수 있다는 점도 추천하고 싶습니다. 항상 감사합니다.
이한빈님 열심히 공부하시고, 또 이렇게 강의의 장점을 하나하나 풀어서 이야기해주시니 정말 고맙습니다. 자바 예외의 기초에 대해서 여기에 포함할까 고민을 좀 많이 했었는데, 이런 부분에서 도움을 드려서 저도 보람이 있네요. 고맙습니다!
월 ₩15,400
5개월 할부 시
₩77,000