김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
김영한
데이터베이스 설계를 개념적, 논리적, 물리적 3단계로 체계적으로 배우고, 실무 중심 쇼핑몰 프로젝트로 역량을 강화합니다. 현대적 설계 기법과 최신 트렌드를 통해 실전 노하우를 익힙니다.
초급
SQL, MySQL, DBMS/RDBMS
Spring beginners can grasp core principles and solidify basics via examples.
Spring Basic Features
Spring Core Principles
Object-Oriented Design
Understand the core principles of Spring,
Become a growing backend developer!
📢 Please check before taking the class!
Spring Core Principles - Basics Current Lecture
Spring Core Principles - Advanced
Simply learning and using Spring's features isn't difficult. However, truly understanding and utilizing its core values and principles presents a significant challenge. This is because understanding not only vague terms like IoC (Inversion of Control) and DI (Dependency Injection) but also principles of good object-oriented design (SOLID), such as SRP, OCP, and DIP, is crucial to truly grasping Spring's core principles.
Spring's true core value lies in object-oriented programming (OOP). And it's precisely this object-oriented nature that makes Spring so difficult to grasp. To advance to the next level as a backend developer, a deep understanding of the core values and principles Spring provides is essential .
This lecture begins by going back 20 years, before Spring even existed, and explaining why it was created. We then go back to that time and create a sample application using pure Java code, without Spring. As requirements change, problems are discovered one by one, and we solve them by applying good object-oriented principles to the code one by one. In this process, you will naturally understand good object-oriented principles (SOLID), IoC, and DI through code, and realize why the Spring container is necessary .
Rather than simply understanding the core principles of Spring theoretically, you will naturally understand them through the process of developing example applications with your own code.
The first part of the lecture (Parts 1-3) explains the core principles of object-orientation and Spring. Starting with Part 4: Spring Containers and Spring Beans, the lecture delves into the core features offered by Spring. This section focuses on why each core feature was created, why it's needed, and, most importantly, how it's used in practical applications.
So, beyond simply using Spring's features, you can properly understand and use how to best utilize them in practice .
This lecture isn't simply a one-by-one explanation of the features found in the Spring reference documentation. Beyond the features themselves, it explains why Spring was created, why it provides these features, and the core principles behind them .
By the end of this course, you will not only be able to use Spring's basic features effectively, but also gain a profound understanding of its core principles . Understanding the fundamentals of Spring is tantamount to understanding the fundamentals of object-oriented design. Therefore, you can evolve from a developer who simply uses Spring's features to one who considers the design and architecture of object-oriented applications at all levels .
Spring first
Developers in contact
Spring core principles
Developers who want to understand
Object-oriented design
Developers in trouble
Kim Young-han's Spring Introduction
students
This course on Spring's core principles is designed for developers new to Spring, as well as those who already use Spring in their work but want to understand and apply its core principles. It's also helpful for developers struggling with object-oriented design.
We're preparing a series designed to help you master Spring completely. We'll focus on core Spring features used in real-world applications, boldly omitting obsolete or outdated features, and provide practical know-how.
Who is this course right for?
New Spring developer
Aspiring developer
Developer eager to grasp Spring via code
Developer who studied Spring but gave up due to its difficulty.
Professional Spring user wanting to fully grasp and apply its core principles.
Need to know before starting?
Java language
560,365
Learners
37,067
Reviews
8,987
Answers
5.0
Rating
25
Courses
교육자
전: 우아한형제들 기술이사, 카카오, SK플래닛
진짜 실무에 필요한 제대로 된 개발자가 될 수 있도록, 교육하는 것이 저의 목표입니다.
EO 인터뷰 영상
개발바닥 - 시골 청년 개발왕 되다
All
65 lectures ∙ (12hr 5min)
Course Materials:
All
4,573 reviews
5.0
4,573 reviews
Reviews 205
∙
Average Rating 5.0
5
스프링을 처음 공부했을 때 이게 왜 필요한지, 어디에-어떻게-어떨 때 쓰는지 이해가 잘 가지 않아 책이며 인터넷 강의며 많은 자료들을 찾으면서 공부하였는데요. 스프링 공부를 시작할 때 영한 님의 강의가 있었다면 제가 처음 스프링 공부할 때 겪었던 어려움과 고생이 줄지 않았을까 생각합니다. 스프링 강의가 스프링 강의 전, 객체지향으로 시작하는 구성은 처음 봤는데 영한님은 개발뿐만 아니라 가르침에도 엄청난 능력이 있으신 거 같아요. 영한님 강의 구성을 통해 무엇이 핵심이고 본질인지 파악했고, 그것을 강의 시작으로 녹여낸다는 게 정말 대단하단 말밖에 나오지 않네요. 만약 강의를 다 보고도 이해가 잘 가지 않거나, 강의가 정말 좋은가?라고 의문을 품고 계시다면 책, 인터넷 등을 활용해서 공부하시고 나서 복습하시면 시야가 넓어지면서 전에는 이해하지 못 했던 게 다시 보면 이해되고 이걸 이렇게 쉽게 설명해 주셨다고 느끼는 부분들이 있을 거예요(이 점이 인강의 장점이라 생각하고, 제가 영한님 jpa 강의 보고 느낀 경험담입니다..ㅎㅎ) 그리고 강의에서 다루는 bdd 스타일, assertj 등은 처음 보시면 낯설 텐데 키워드 던져주시는 것들 구글링해서 학습하시면 많은 도움 될 거라 생각합니다. 다음 강의도 기대하겠습니다.
OMG님의 멋진 수강평을 들으니, 이번 강의를 준비하면서 고민했던 저의 솔직한 이야기를 남기고 싶네요. 사실 이번 강의는 정말 고민이 많았습니다. 단순히 스프링의 기능을 하나하나 풀어서 설명하는 강의는 쉽게 만들 수 있다 생각합니다. 그런데 이 강의는 제가 스프링을 통해서 느낀 스프링의 진정한 가치를 전달하고 싶었습니다. 스프링의 기능을 단순히 사용하는 것을 넘어 객체지향의 진정한 가치를 이해하고 객체지향과 스프링을 통해 애플리케이션을 디자인하고 설계하는 즐거움이 무엇인지 알려드리고 싶었습니다. 그럴려면 스프링의 기능을 하나하나 풀어서 설명하는게 아니라, 결국 객체지향 이야기 부터 시작해야 합니다. 특히 객체지향 자체의 이야기를 쉽게 풀어내고 그걸 스프링과 엮어야 하는데, 스프링에 입문 하신 분들께 객체 지향을 어떻게 하면 최대한 쉽게 풀어서 설명할지, 그리고 그걸 어떻게 스프링과 엮어서 설명할지가 정말 어려웠습니다. 결국 몇달동안 제 머리속의 퍼즐을 이렇게 맞추어보고, 저렇게 맞추어보고, 예제코드도 이렇게 만들고 저렇게 만들어보면서 기본흐름을 완성했습니다. 그리고 스프링에 입문 하신 분들이 이 내용을 이해할 수 있을까? 고민하면서 최대한 이해하기 쉽게 다듬고 또 다듬었습니다. 제가 강의를 만들 때는 노트북 앞에 앉아서 강의를 만들기도 하지만, 큰 흐름을 만들 때는 주로 산책을 하면서 생각하는게 좋더라구요. 그래서 이번 강의는 참 많이 걸어다녔어요 ㅎㅎ 덕분에 많이 건강해졌습니다. ㅋㅋㅋ OMG님께서 제가 고민한 흔적들을 알아봐주셔서 그게 참 고맙습니다.
일과병행을하다가보니중간부터듣지못했는데연장을해주시면안될까요너무좋은강의라생각됩니다
Reviews 2
∙
Average Rating 5.0
5
말이 필요있을까요? 뛰어난 강의력, 철저한 강의 준비, 인터넷 강의 들으면서 이렇게 잘 준비된 pdf 자료나 지루하지 않은 수업을 들어본적은 없는거 같네요 ㅎㅎ. 취업하기이전 면접을 준비하던때 이 강의를 들었다면 적토마를 탄 여포가 되어 면접을 보았을텐데 ㅎㅎ.. 강의 잘 들었습니다. 후속편도 나오면 바로 들으러 가겠습니다!.
고맙습니다. 태양님. 면접관들이 스프링 관련 질문을 많이 물어보았나보네요. ㅎㅎ 저는 그럼 다음 적토마 준비하러 가겠습니다^^!
Reviews 2
∙
Average Rating 5.0
5
스프링 입문부터 시작해서 DB 2편 강의보고 있습니다. 아마 조만간 로드맵을 모두 완료하지 않을까 싶네요. 사실 김영한님 로드맵 전체에 대한 수강평인데, 여기 기본편에다 남기는게 맞나 싶긴 합니다만 그래도 여기에 쓰겠습니다. 본인이 3년차 이하 주니어다? `무조건` 들으세요. 비하할 생각은 없지만 자신의 회사가 중소기업 또는 si 다? `무조건` 들으세요. 김영한님의 로드맵은요 그냥 단순한 지식 제공을 떠나 진짜 개발자의 사고방식을 레벨업 시키는 명품강의입니다. 현업에서 개발하시는 분들 공감하실겁니다. 이 개발자라는 직업이 사실은, 지식의 빈부격차가 정말 심한 직업입니다. 다시 말해 똑똑한 개발자들은 정말 너무 똑똑하고요. 무식한 개발자는요 솔직히 코더라는 멸칭도 있을만큼 그냥 생각없이 적당히 복사, 붙여넣기하며 하루하루 버티며 일을 합니다. 그런데 여기서 중요한 것은 무식한 개발자라고 해서 본인이 원해서 무식한 개발자가 된 사람은 없을거라는거에요. 자신이 부족하다는 걸 알아도 도무지 `어떻게 공부해야 하는지`자체를 모릅니다. 인터넷 검색으로 뒤져가면서 공부한다? 솔직히 틀린 말이라고 생각합니다. 기술 블로그라고 해서 올라오는 것들 보면 맞는 말도 있겠지만, 틀린 정보도 너무 많고 단편적인 내용이 많아서 진지한 학습에는 도움이 안됩니다. 또 책을 사서 공부해보려고 하니 다들 출간된지 2, 3년은 지난 책들이고 그 사이 버전업에 따른 차이라든지, 기술 스펙 변화라든지 이런게 너무 많아서 현실적으로 트렌드를 따라가지 못한다는 느낌이 듭니다. 그리고 이런 상황에서 개발자도 직장인이라 주어진 업무해야 합니다. 꾸역꾸역 어떻게든 돌아가는 코드를 만들고 또 다음 업무를 하고.. 그렇게 일상은 반복되고 어느 순간부터는 그저 관성적으로 하루하루를 버티는 개발자가 되는거죠. 그런데 김영한님의 강의를 들으면서 느꼈던 것은 `어떻게 공부해야` 좋은 개발을 할 수 있는지 그 공부 방법을 깨닫게 되면서 깊은 감명이 있었다는 겁니다. 또한 강의 중간에 말씀해주시는 실무에서 겪는 문제들과 해결 방법 같은 소소한 팁들.. 이건 말로 어떻게 설명해야 될지 모르겠네요. 진짜 어디가서 돈 주고도 못 배우는 귀중한 노하우들입니다. 소위 네카라쿠배라고 불리는 탑티어 IT 회사들의 개발자들은 어떻게 고민하고 문제를 풀어나가는지를 배울 수 있는 아주 소중한 지식이라고 말하고 싶네요.. 그러니 개발자 취업을 준비하시는 분이라면 꼭 들으시구요. 현직에 계신 분들도 꼭 듣기를 추천하는 바입니다. 가끔 수강료 때문에 고민하시는 분들 있는데.. 사람마다 경제적 상황은 다르니 쉽게 말할 수 없지만 그래도 꼭 들으십시오. 진짜 후회 안합니다.. 그리고 마지막으로 김영한님. 선생님 같은 분이 계셔서 저 같은 개발자도 사람될 수 있었습니다. 앞으로도 건승하시고 강의 많이 찍어주시길..
Rammus님 수강평을 보니 제가 강의하기를 참 잘했다는 생각이 드네요. 저도 좋지 않은 회사나 힘든 SI 프로젝트에서 많이 고생을 해보아서, 말씀하신 지식의 빈부의 격차라는 것이 어떤 것인지 잘 이해하고 있습니다. 제가 소위 말하는 좋은 서비스 회사에서 일할 때 보면, 생각보다 많은 개발자들이 처음부터 좋은 회사에 취업한 것이 아니라, 작은 회사나 SI 부터 시작해서 올라오신 분들도 많이 있습니다. 그 분들의 공통점은 모두 좋은 개발자가 되기 위해, 어떻게 하면 더 나은 방법으로 개발할 수 있는지 끊임없이 고민한 분들이었습니다. Rammus님은 지금 상황이 어떻든 간에 더 좋은 개발자가 되기 위해 지속적으로 노력하시는 분이라는 생각이 듭니다. 응원합니다. 그리고 크게 성장하는 2024년 되시길 바래요 :)
$68.20
Check out other courses by the instructor!
Explore other courses in the same field!