Thumbnail
BEST 개발 · 프로그래밍 웹 개발
실전! 스프링 데이터 JPA
(5.0)
215개의 수강평 ∙ 3003명의 수강생
88,000원

월 17,600원

5개월 할부 시
지식공유자 : 김영한
총 32개 수업˙총 7시간 17분
평생 무제한 수강
수료증 발급 강의
입문 초급 중급이상 대상
내 목록 추가 2458 공유
김영한 프로필
스프링 MVC 2편 강의 오픈 소식과 할인 공지
김영한 1달 전

안녕하세요. 여러분

스프링 MVC 2편 강의를 드디어 오픈했습니다.

오랜기간 기다려주신 모든분께 진심으로 감사합니다.

강의명: 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

강의 수: 126강

강의 자료: PDF 350장

강의 링크: https://www.inflearn.com/course/스프링-mvc-2

강의 소개

자바 백엔드(Java Backend) 웹 기술은 매우 방대하고 공부할 분량도 많습니다. 특히 스프링 MVC는 제공하는 기능도 많고, 구조도 복잡합니다. 이러한 웹 기술을 제대로 학습하기 위해서는 스프링 MVC의 핵심 원리와 구조를 먼저 이해하고, 그 기반 위에 방대한 웹 활용 기술들을 하나씩 정복해야 합니다.

MVC1편을 통해 웹 개발에 필요한 스프링 MVC의 핵심 원리와 구조를 이해했습니다.

이번 MVC2편에서는 그 기반 위에 실무에 꼭 필요한 뷰 템플릿, 메시지, 국제화, 검증, 쿠키, 세션, 필터, 인터셉터, 예외 처리, 타입 컨버터, 파일 업로드와 같은 방대한 웹 활용 기술들을 예제를 통해 완전히 정복할 수 있습니다.

감사합니다.

김영한 프로필
스프링 MVC 2편 오픈 예정 소식!
김영한 1달 전

스프링 MVC 2편 오픈 예정 소식!

안녕하세요. 여러분^^!
드디어 스프링 MVC 2편 강의가 오픈 준비에 돌입했습니다. 오랜기간 기다려주시고 응원해주셔서 고맙습니다.

MVC 2편에서는 MVC 1편의 기반 위에 실무에 꼭 필요한 뷰 템플릿, 메시지, 국제화, 검증, 쿠키, 세션, 필터, 인터셉터, 예외 처리, 타입 컨버터, 파일 업로드와 같은 방대한 웹 활용 기술들을 예제를 통해 완전히 정복할 수 있습니다.

다루는 내용도 방대하지만, 단순히 각 기술의 사용법만 설명하는 것이 아니라, 이 기술이 왜 필요하고, 어떻게 나왔는지 핵심 원리와 활용 방안들을 함께 설명드립니다.

그래서 이번 스프링 MVC 2편 강의는 강의 수도 가장 많고, 강의 시간도 가장 긴 강의입니다. 그만큼 오랜기간 심혈을 기울여서 준비한 강의입니다. 기대해주셔도 좋습니다.

출시일은 6/24(목) ~ 6/28(월) 사이에 MVC 2편이 출시될 예정입니다.

강의명: 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

강의 수: 126강

강의 시간: 21시간

강의 자료 PDF 350장

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 강의 소개

웹 애플리케이션 개발에 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. MVC 2편에서는 MVC 1편의 핵심 원리와 구조 위에 실무 웹 개발에 필요한 모든 활용 기술들을 학습할 수 있습니다.

강의 소개

백엔드 웹 기술을 학습하기 어려운 이유

자바 백엔드(Java Backend) 웹 기술은 매우 방대하고 공부할 분량도 많습니다. 특히 스프링 MVC는 제공하는 기능도 많고, 구조도 복잡합니다.
이러한 웹 기술을 제대로 학습하기 위해서는 스프링 MVC의 핵심 원리와 구조를 먼저 이해하고, 그 기반 위에 방대한 웹 활용 기술들을 하나씩 정복해야 합니다.
MVC1편을 통해 웹 개발에 필요한 스프링 MVC의 핵심 원리와 구조를 이해했습니다.
MVC2편에서는 그 기반 위에 실무에 꼭 필요한 뷰 템플릿, 메시지, 국제화, 검증, 쿠키, 세션, 필터, 인터셉터, 예외 처리, 타입 컨버터, 파일 업로드와 같은 방대한 웹 활용 기술들을 예제를 통해 완전히 정복할 수 있습니다.

강의 목표

목표: 실무 백엔드 웹 애플리케이션을 개발할 때 필요한 방대한 웹 활용 기술을 완성하는 것이 이 강의의 목표입니다.

웹 기초부터 실무까지: 실무 개발을 위한 내용이 많지만, 웹 애플리케이션 개발 경험이 없는 개발자도 적응할 수 있게 단계적으로 구성하였습니다. 참고로 MVC1 편을 먼저 듣고 MVC2 편을 학습해야 합니다.

개념부터 활용까지: 단순히 기술의 사용법을 설명하는 것이 아니라, 이 기술이 왜 필요하고, 어떻게 나왔는지 핵심 원리와 활용 방안을 함께 설명합니다.

실무 예제 중심: 실무에서 스프링으로 웹 애플리케이션을 개발할 때 필요한 모든 과정을 예제를 통해 자연스럽게 학습하며, 실무 베스트 프랙티스를 전수해드립니다.

간결함: 실무에서 사용하지 않는 오래된 스프링 MVC 기능은 과감하게 제외했습니다. 최신 실무에 주로 사용하는 내용 중심으로 설명합니다.

다루는 내용

타임리프
타임리프는 백엔드 개발자를 위한 서버 사이드 뷰 템플릿입니다. 타임리프를 사용하면 별도의 프론트엔드 개발자가 없어도 백엔드 개발자 만으로 쉽고 빠르게 동적인 HTML을 만들 수 있습니다. 강의에서는 타임리프의 기본 기능부터, 스프링과 통합, 체크 박스, 라디오 버튼, 셀렉트 박스와 같은 복잡한 폼 관리 기능까지 모든 것을 예제를 통해서 만들어가며 학습합니다.

메시지, 국제화
웹 애플리케이션이 크고 복잡해질수록, 사용하는 다양한 메시지들을 일관성 있게 한 곳에서 관리해야 합니다. 예를 들어서 "상품명" 이라는 단어를 "상품 이름"이라는 단어로 고치려면 수 많은 파일의 소스코드를 수정해야 합니다. 스프링이 제공하는 메시지 기능을 사용하면 이런 것을 한번에 관리하고 수정할 수 있습니다. 국제화는 영어를 사용하는 사람에게는 사이트가 영어로 나오고, 한국어를 사용하는 사람에게는 사이트가 한국어로 나오는 기능입니다. 스프링은 이미 이러한 국제화 기능을 제공합니다. 강의에서는 스프링이 제공하는 메시지와 국제화 기능을 실제 예제를 통해서 단계적으로 학습합니다.

검증(Validation)
고객이 회원 가입을 할 때 입력 폼에 잘못된 값을 입력해서 서버에 전송한다면, 서버는 그 값을 검증하고 고객에게 다시 입력 폼을 보여주면서 어떤 부분이 잘못 입력되었는지 친절하게 안내해야 합니다. 이런 방식은 모든 웹 서비스에 꼭 필요한 기능입니다. 강의에서는 먼저 이러한 검증 기능을 직접 개발해봅니다. 그리고 스프링이 제공하는 검증 기능도 사용해보고, 더 나아가서 애노테이션 하나로 매우 편리하게 검증기능을 수행하는 Bean Validation 기능까지 예제를 통해 단계적으로 학습합니다.

쿠키, 세션
HTTP는 무상태 프로토콜입니다. 따라서 로그인 기능을 유지하려면 쿠키와 세션과 같은 개념이 필요합니다. 강의에서는 먼저 쿠키만으로 로그인 기능을 만들어봅니다. 그리고 어떤 보안 문제점들이 있는지 확인한 다음에 세션을 직접 만들고 적용해봅니다. 이렇게 세션을 직접 만드는 과정을 통해서 쿠키와 세션의 동작 방식을 깊이있게 이해할 수 있습니다. 그리고 추가로 서블릿이 제공하는 세션을 학습하고 적용해봅니다.

필터, 인터셉터
서블릿이 제공하는 필터와 스프링이 제공하는 인터셉터를 예제를 통해서 학습합니다. 먼저 가장 단순한 모든 HTTP 요청을 로그로 남기는 기능을 필터와, 인터셉터로 만들어보고, 이후 인증 처리를 위한 기능도 필터와 인터셉터로 만들어봅니다. 이렇게 둘을 함께 사용해보면서 각각의 장단점을 명확히 이해할 수 있습니다.

예외 처리
웹 애플리케이션을 학습할 때 가장 이해하기 어려운 부분이 바로 이 예외 처리 입니다. 왜냐하면 서블릿 컨테이너(WAS)와 스프링 MVC가 각각 나름의 예외 처리 방법을 제공하기 때문입니다. 그리고 실제로는 이 둘이 섞여서 복잡하게 예외 처리 메커니즘이 동작합니다. 그래서 컨트롤러에서 예외가 발생했을 때 스프링과 서블릿 컨테이너가 각각 내부에서 어떻게 동작하는지 개발자가 정확하게 이해하고 사용하기는 매우 어렵습니다. 강의에서는 서블릿 컨테이너의 예외 처리 부터 스프링MVC의 예외 처리까지 하나씩 단계적으로 풀어서 설명해드립니다. 그래서 강의를 듣고 나면 실제 예외가 발생했을 때 서버 내부에서 어떻게 동작하고, 어떤 지점을 변경해야 할지 명확히 이해할 수 있습니다. 추가로 API를 사용할 때의 예외 처리도 함께 설명합니다.

스프링 타입 컨버터
문자를 숫자로 변환하거나, 반대로 숫자를 문자로 변환해야 하는 것 처럼 애플리케이션을 개발하다 보면 타입을 변환해야 하는 경우가 많습니다. 예를 들어서 HTTP 요청에서 문자 "10"이 전달되어도 스프링에서는 @RequestParam으로 Integer 타입인 숫자 10으로 받을 수 있습니다. 스프링은 타입 컨버터라는 기능을 제공해서 일관성 있는 타입 변환을 지원합니다. 타입 컨버터는 스프링을 학습하면 많이 언급되는 내용이지만, 실제 어떻게 작동하는지 깊이있게 이해하기는 쉽지 않습니다. 강의에서는 타입 컨버터의 기본에서 활용까지 예제를 통해 단계적으로 이해할 수 있습니다.

파일 업로드
인터넷에는 수 많은 파일 업로드 예제들이 있습니다. 강의에서는 단순히 파일 업로드의 기능을 설명하는 것을 넘어서, 파일 업로드를 위해 사용하는 프로토콜을 깊이있게 설명하고 어떤 원리로 HTTP에서 파일 업로드가 가능한지 설명합니다. 그리고 파일 업로드 기능을 서블릿부터 시작해서 스프링이 제공하는 편리한 방식의 파일 업로드까지 예제를 통해 단계적으로 학습합니다.

감사합니다.

김영한 프로필
스프링 MVC 강의 오픈 소식과 할인 공지
김영한 4달 전

안녕하세요. 여러분

스프링 MVC 강의를 드디어 오픈했습니다. 그동안 기다려주신 모든분께 진심으로 감사합니다.

강의 링크: https://www.inflearn.com/course/스프링-mvc-1

강의 목표

자바 백엔드 웹 애플리케이션을 개발할 때 필요한 실무 웹 기술 완성

강의 소개

현대의 애플리케이션은 대부분 웹 환경에서 동작하는 웹 애플리케이션입니다. 자바 백엔드 개발자는 웹 애플리케이션을 개발할 때, 대부분 스프링 MVC를 사용합니다.

스프링 MVC를 포함한 자바 백엔드 웹 기술은 20년이 넘는 오랜 기간 동안 수 많은 기능이 개선되고 발전하면서 너무 많은 것이 자동화되고, 추상화 되어버렸습니다. 그래서 최근에 웹 개발을 시작한 개발자들은 너무 많은 기능들 때문에, 어디서 부터 어떻게  시작해야 할지 혼란스럽습니다. 그리고 왜 이런 방식으로 기능을 제공하는지 과거 발전 과정의 문맥을 깊이있게 이해하고 사용하기는 어렵습니다.

이 강의는 20년 전으로 돌아갑니다. 자바 웹 기술의 기초라 할 수 있는 서블릿부터 시작해서 JSP, MVC 패턴, MVC 프레임워크, 그리고 스프링 MVC의 탄생부터 실무에서 주로 사용하는 최신 스프링 MVC의 사용법까지, 모든 것을 코드로 여러분과 함께 만들어보면서 단계적으로 알아갑니다. 과거에 어떤 불편한 점이 있어서 다음 기술이 탄생했고, 어떤 점들이 개선되었는지 그 이유를 직접 코딩하면서 자연스럽게 이해할 수 있습니다. 그리고 MVC 프레임워크를 직접 코드로 개발하는 과정을 통해 스프링 MVC의 내부 구조가 왜 이렇게 설계 되었는지 깊이있게 이해할 수 있습니다.

자바 웹 기술을 모두 설명하려면 수백시간도 부족합니다. 이 강의는 모든 것을 설명하기 보다는 자바 백엔드 웹 개발의 핵심 뼈대를 세우고, 그 위에 실무에 꼭 필요한 웹 기술을 위주로 설명합니다. 이 강의가 끝나면 여러분은 튼튼한 기반 지식을 바탕으로 스프링 백엔드 웹 애플리케이션을 자신있게 개발할 수 있습니다.

감사합니다.

김영한 프로필
스프링 MVC 오픈 예정 소식!
김영한 5달 전

스프링 MVC 오픈 예정 소식!

안녕하세요. 여러분^^!
드디어 스프링 MVC 강의가 오픈 준비에 돌입했습니다. 오랜기간 기다려주시고 응원해주셔서 감사합니다.

자바 웹 기술의 기초부터 스프링 MVC 전반을 다루다보니, 강의 분량이 100강을 넘을 정도로 많아졌습니다.
이대로 계속 준비하면 출시가 너무 늦어질 것 같아서 강의를 2개로 나누어 출시하기로 했습니다.

  • 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
  • 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

다음주 3월 8일(월) ~ 3월 12일(금) 사이에 스프링 MVC 1편이 출시될 예정입니다^^!
(2편은 5월 출시 예정입니다.)

이번 스프링 MVC 강의는 오랜기간 정말 심혈을 기울여서 준비한 강의입니다. 기대해주셔도 좋습니다.

  • 강의명: 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
  • 강의 수: 약 70강
  • 그림과 PPT: 약 80장
  • 강의 자료 PDF 200장

참고: HTTP 기본 지식 강의를 꼭 먼저 듣고 수강하시는 것을 추천합니다.

스프링 MVC 강의 소개

웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다.

가장 인기 있는 웹 프레임워크
현대의 애플리케이션은 대부분 웹 환경에서 동작하는 웹 애플리케이션입니다. 자바 백엔드 개발자는 이러한 웹 애플리케이션을 개발할 때, 대부분 스프링 MVC를 사용합니다. 스프링 MVC는 복잡한 웹 애플리케이션을 쉽고 빠르게 개발할 수 있게 도와주는, 가장 인기 있는 웹 프레임워크 입니다.

백엔드 웹 기술을 학습하기 어려운 이유

자바 백엔드 웹 기술은 매우 방대하고 공부할 분량도 많습니다. 특히 스프링 MVC는 제공하는 기능도 많고, 구조도 복잡합니다. 이런 웹 기술을 학습하기 어려운 이유는 다음 3가지 때문입니다.

1. HTTP 기반 지식이 약하다
모든 웹 기술은 HTTP를 기반으로 합니다. 따라서 HTTP 기반 지식이 약하면 웹 기술을 깊이있게 학습하기 어렵습니다. HTTP 기반 지식이 약하다면 이 강의를 학습하기 전에 먼저 모든 개발자를 위한 HTTP 웹 기본 지식 강의를 학습하기 바랍니다.

2. 자바 백엔드 웹 개발의 역사가 너무 오래 되었다
자바 백엔드 웹 개발의 역사는 이미 20년이 넘었습니다. 오랜시간 동안 불편한 점들을 개선하고, 발전하면서 너무 많은 것이 자동화 되고, 추상화 되었습니다. 특히 최근에 웹 개발을 시작한 개발자들은 웹 프레임워크가 제공하는 기능들을 사용할 때, 왜 이런 방식으로 기능을 제공하는지 정확한 이유를 모르고, 단순히 사용법 위주로 학습하게 됩니다. 왜 이런 방식으로 사용하지? 라고 의문을 가져도 과거에 어떤 불편한 문제 때문에 지금 이런 방식으로 개선되고 사용하는지, 과거의 문맥을 제대로 이해하고 사용하기는 어렵습니다.

3. 스프링 MVC가 제공하는 기능이 너무 방대하다
스프링 MVC는 백엔드 웹 기술에 필요한 거의 모든 기능을 제공합니다. 그만큼 방대하고, 학습할 내용도 많습니다. 자바 백엔드 웹 기술의 발전과 함께 스프링 MVC도 수 많은 기능이 추가되고 발전했습니다. 하지만 스프링 MVC 프레임워크의 기본 구조는 탄탄하게 잘 설계되어서, 지금까지 수 많은 기능이 추가 되어도 그 기본 구조는 거의 변하지 않았습니다. 따라서 스프링 MVC의 기본 구조를 확실하게 이해하는 것이 매우 중요합니다.

강의 특징

자바 웹 기술의 시작부터 최신 실무 기술까지
이 강의는 20년 전으로 돌아갑니다. 자바 웹 기술의 기초라 할 수 있는 서블릿부터 시작해서 JSP, MVC 패턴, MVC 프레임워크, 그리고 스프링 MVC의 탄생부터 실무에서 주로 사용하는 최신 스프링 MVC의 사용법까지, 모든 것을 코드로 여러분과 함께 만들어보면서 단계적으로 알아갑니다. 과거에 어떤 불편한 점이 있어서 다음 기술이 탄생했고, 어떤 점들이 개선되었는지 그 이유를 직접 코딩하면서 자연스럽게 이해할 수 있습니다.

MVC 프레임워크를 직접 코드로 개발
스프링으로 웹 애플리케이션을 제대로 개발하려면, 스프링 MVC의 핵심 구조를 한번은 제대로 파악해야 합니다. 그런데 스프링 MVC에는 수 많은 기능이 자동화되고, 추상화되어 있기 때문에 핵심 구조를 파악하기가 쉽지 않습니다.
여러분과 저는 스프링 없이 직접 스프링 MVC의 핵심 기능을 만들어봅니다. 단순히 머리로 MVC 프레임워크를 이해하는 것이 아니라, 완전히 처음부터 MVC 프레임워크를 새로 개발합니다. 그리고 단계적으로 MVC 프레임워크를 발전시켜 나가는 과정을 통해 자연스럽게 스프링 MVC의 내부 구조가 왜 이렇게 설계되었는지 깊이있게 이해할 수 있습니다.

강의 목표

  • 목표: 실무 백엔드 웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 완성하는 것이 이 강의의 목표입니다.
  • 웹 기초부터 실무까지: 실무 개발을 위한 내용이 많지만, 웹 애플리케이션 개발 경험이 없는 개발자도 적응할 수 있게 단계적으로 구성하였습니다.
  • 자바 웹 기술 이야기: 서블릿, JSP 처럼 자바 기본 웹 기술부터 시작해서 왜? 스프링 MVC가 나오게 되었는지를 설명합니다. 
  • 실무 예제 중심: 실무에서 스프링으로 웹 애플리케이션을 개발할 때 필요한 모든 과정을 예제를 통해 자연스럽게 학습하며, 실무 베스트 프랙티스를 전수해드립니다.
  • 간결함: 실무에서 사용하지 않는 오래된 스프링 MVC 기능은 과감하게 제외했습니다. 최신 실무에 주로 사용하는 내용 중심으로 설명합니다.

자바 웹 기술을 모두 설명하려면 수백시간도 부족합니다. 이 강의는 모든 것을 설명하기 보다는 자바 백엔드 웹 개발의 핵심 뼈대를 세우고, 그 위에 실무에 꼭 필요한 웹 기술을 위주로 설명합니다. 이 강의가 끝나면 여러분은 튼튼한 기반 지식을 바탕으로 스프링 백엔드 웹 애플리케이션을 자신있게 개발할 수 있습니다.

스프링 MVC 강의 구성

스프링 MVC 강의는 1,2편으로 나누어져 있습니다.
본 강의는 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술입니다.

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
자바 웹 기술과 스프링 MVC의 핵심 개념을 다지고, 스프링 MVC의 기본 기능을 이해합니다.
1편은 먼저 자바 백엔드 웹 기술을 소개하고, 서블릿, JSP, MVC 패턴, MVC 프레임워크까지 웹 기술 전반을 학습합니다. 이렇게 웹 기술의 배경을 이해한 다음에 스프링 MVC의 핵심 개념을 단단히 다집니다. 이후 스프링 MVC의 기본 기능 기능을 학습하고, 스프링 MVC를 사용해서 기본 CRUD가 가능한 웹 페이지도 개발합니다.

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 (5월 출시 예정)
스프링 MVC의 다양한 활용 기술을 학습합니다. 
2편은 타임리프, 메시지, 국제화, 검증(Validation), 쿠키, 세션, 필터, 인터셉터, 예외 처리와 공통 기능, 확장 포인트를 하나의 예제를 점진적으로 발전시키면서, 스프링 MVC의 다양한 활용 기술을 코드로 학습합니다.

감사합니다.

다른 댓글 보기(1)
김영한 프로필
HTTP 웹 기본 지식 강의 오픈
김영한 7달 전

안녕하세요. 여러분

드디어 HTTP 웹 기본 지식 강의를 드디어 오픈했습니다.

  • 강의명: 모든 개발자를 위한 HTTP 웹 기본 지식
  • 강의 수: 40강
  • 강의자료: PPT 350장

링크: https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC

지금 시대는 모든 것을 HTTP로 전송합니다. 우리가 잘 아는 HTML, 이미지, 영상, 파일뿐만 아니라 API로 앱과 서버가 통신할 때, 또 서버와 서버가 통신할 때도 대부분 HTTP를 사용합니다.

그래서 모바일 앱 개발자, 웹 프론트엔드 개발자, 백엔드 개발자는 모두 HTTP를 필수로 잘 알고 사용해야 합니다. 특히 백엔드 개발자는 스프링(Spring) 웹 MVC, JSP, PHP, ASP.NET, Node.js, 파이썬 장고, 루비 온 레일즈와 같은 웹 프레임워크나 기술들을 사용하는데, 이러한 웹 기술들은 모두 HTTP를 기반으로 구현되어 있습니다.

사실 스프링 웹 MVC 강의를 준비하면서 고민이 많았습니다. 스프링 웹 MVC도 결국 HTTP를 기반으로 구현되어 있기 때문에, HTTP 자체를 먼저 잘 이해해야, 스프링 MVC도 깊이있게 이해할 수 있습니다. 그래서 스프링 웹 MVC 강의 전에 먼저 기반을 확실히 다지기 위해 HTTP 강의를 준비했습니다. (스프링 웹 MVC는 다음 강의로 바로 준비중입니다.)

그리고 실무에서 일하는 웹 애플리케이션 개발자도 HTTP 자체를 잘 이해하지 못해서 고민하거나 잘못된 선택을 하는 경우를 많이 보았습니다. API URL을 이렇게 설계하는 게 맞을까? 언제 POST를 사용하고 PUT를 사용해야 할까? HTTP 상태코드는 어떤 것을 선택하는 게 좋을까? HTTP를 명확하게 이해하지 못하면, 이런 고민을 계속하게 됩니다.

웹 애플리케이션 개발자는 평생 HTTP 기반 위에서 개발하게 됩니다. 실무 개발에 꼭 필요한 HTTP 핵심 내용을 이 강의로 확실히 정리해드립니다.

감사합니다.

김영한 프로필
우아한테크콘서트 공유
김영한 7달 전

안녕하세요. 여러분^^!

오늘은 처음으로 홍보?를 목적으로 새로운 소식을 하나 공유드립니다.

제가 다니는 우아한형제들에서 기술 세미나를 진행하고, 저도 세션을 하나 진행합니다.
(온라인, 무료입니다!)

배달의 민족 마이크로서비스 여행기(김영한)

거대한 모놀리틱 서비스를 마이크로서비스로 이전한 지난 5년간의 여정을 공유합니다.지난 5년간 배달의민족 백엔드 애플리케이션 아키텍처가 어떻게 변화하고 성장했는지 공유합니다.
생각해보니 저도 우아한형제들에서 보낸 시간이 5년이 다 되어 가네요.

그 외에도 백엔드 개발자에게 도움이 되는 세션이 많으니 참은 참가 부탁드려요^^

링크: https://www.woowacon.com

김영한 프로필
스프링 핵심 원리 강의 오픈!
김영한 10달 전

스프링 핵심 원리 강의 오픈

안녕하세요. 스프링 입문 강의를 출시하고, 많은 분들이 응원해주신 덕분에 드디어 스프링 핵심 원리 강의를 오픈했습니다!

강의소개: 스프링 핵심 원리 - 기본편

이 강의는 스프링이 없던 20년 전으로 돌아가서 스프링이 왜 만들어졌는지 그 이유부터 시작합니다. 그리고 우리도 그때로 돌아가서 스프링 없는 순수한 자바 코드로 예제 애플리케이션을 만들어봅니다. 요구사항이 변경 됨에 따라 문제점들이 하나씩 발견되고, 그 문제를 해결하기 위해 좋은 객체 지향 원리들을 하나씩 코드에 적용하면서 문제를 해결해나갑니다. 이렇게 애플리케이션 예제 코드를 개발하는 과정을 통해 자연스럽게 좋은 객체지향의 원리(SOLID)와 IoC, DI에 대해서 이해하고, 또 스프링 컨테이너가 왜 필요한지 깨달을 수 있습니다.

단순히 스프링 레퍼런스 문서에 있는 기능을 하나하나 설명하기 보다는, 왜 스프링을 만들었고, 왜 스프링이 이런 기능을 제공하는지 그 이유와 핵심 원리에 대해서 설명합니다. 학습이 끝나면 스프링이 제공하는 기능을 잘 사용하는 것은 물론이고, 스프링과 객체 지향 설계의 본질에 대해서 깊이 이해할 수 있습니다. 그래서 실무에서 스프링 핵심 기술을 제대로 이해하고 활용할 수 있습니다.

감사합니다^^!

강의 링크: https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8

김영한 프로필
스프링 핵심 원리 오픈 예정 소식!
김영한 10달 전

안녕하세요. 여러분

드디어 기나긴 강의 준비 기간이 끝나고, 지난주부터 촬영에 들어갔습니다.

강의는 다음주 9/21(월)~22(화) 사이에 오픈 예정입니다^^!

이번 스프링 핵심 원리 강의는 제가 올해 초 부터 6개월 동안 정말 심혈을 기울여서 준비한 강의입니다. 기대해주셔도 좋습니다!

  • 강의명: 스프링 핵심 원리 - 기본편
  • 준비 기간: 2020년 2월 ~ 2020년 9월
  • 강의 수 60강
  • 스프링과 객체지향을 설명하는 PPT 65장
  • 설명을 위한 그림 50장 이상
  • 강의 자료 PDF 159장

스프링 핵심 원리 - 기본편 강의 소개

단순히 스프링이 제공하는 기능을 배우고 사용하는 것은 어렵지 않습니다. 그런데 스프링이 제공하는 핵심 가치와 원리를 제대로 이해하고 사용하려면 큰 난관에 부딪힙니다. 왜냐하면 IoC(제어의 역전), DI(의존관계 주입) 같은 알듯말듯한 용어부터, SRP, OCP, DIP 같은 소위 SOLID라 불리는 좋은 객체 지향 설계의 원칙들도 함께 이해해야 비로소 스프링의 핵심 원리를 제대로 파악할 수 있기 때문입니다. 

스프링의 진정한 핵심 가치는 바로 객체 지향 프로그래밍에 있습니다. 그리고 스프링을 제대로 이해하기 어려운 이유도 이 객체 지향 때문입니다. 다음 단계의 백엔드 개발자로 성장하려면, 스프링이 제공하는 핵심 가치와 원리를 반드시 깊이있게 이해해야 합니다.

이 강의는 스프링이 없던 20년 전으로 돌아가서 스프링이 왜 만들어졌는지 그 이유부터 시작합니다. 그리고 우리도 그때로 돌아가서 스프링 없는 순수한 자바 코드로 예제 애플리케이션을 만들어봅니다. 요구사항이 변경 됨에 따라 문제점들이 하나씩 발견되고, 그 문제를 해결하기 위해 좋은 객체 지향 원리들을 하나씩 코드에 적용하면서 문제를 해결해나갑니다. 이 과정속에서 여러분은 자연스럽게 좋은 객체지향의 원리(SOLID)와 IoC, DI에 대해서 이해하고, 또 스프링 컨테이너가 왜 필요한지 깨달을 수 있습니다.

스프링의 핵심 원리를 단순히 이론적으로 이해하는 것이 아니라, 예제 애플리케이션을 직접 코드로 개발하는 과정 속에서 자연스럽게 이해하게 됩니다.

강의 목차

  • 1. 객체 지향 설계와 스프링
  • 2. 스프링 핵심 원리 이해1 - 예제 만들기
  • 3. 스프링 핵심 원리 이해2 - 객체 지향 원리 적용
  • 4. 스프링 컨테이너와 스프링 빈
  • 5. 싱글톤 컨테이너
  • 6. 컴포넌트 스캔
  • 7. 의존관계 자동 주입
  • 8. 빈 생명주기 콜백
  • 9. 빈 스코프

강의의 1,2,3 앞부분은 이렇게 객체 지향과 스프링의 핵심 원리에 대해서 설명합니다. 그리고 이후 4. 스프링 컨테이너와 스프링 빈 부터는 스프링이 제공하는 핵심 기능들을 설명합니다. 스프링이 제공하는 기능을 단순히 설명하는 것을 넘어서, 이 기능이 왜 만들어졌는지, 어디에 왜 필요한지, 그리고 가장 중요한 실무에서 어떤 방식으로 사용되는지, 이 부분에 초점을 맞추어 설명합니다.

그래서 스프링의 기능을 단순히 사용하는 단계를 넘어서, 실무에서 어떻게 활용하는게 좋은 방법인지, 제대로 이해하고 사용할 수 있습니다.

이 강의를 듣고 나면

이 강의는 단순히 스프링 레퍼런스 문서에 있는 기능을 하나하나 설명하는 강의가 아닙니다. 기능을 넘어서 왜 스프링을 만들었고, 왜 스프링이 이런 기능을 제공하는지 그 이유와 핵심 원리에 대해서 설명하는 강의입니다.

강의가 끝나면 여러분은 스프링의 기본 기능을 잘 사용하는 것은 물론이고, 스프링의 본질에 대해서 깊이있는 이해를 하게 됩니다. 스프링의 본질을 이해한다는 것은 객체 지향 설계의 본질을 이해하는 것과 같습니다. 따라서 단순히 스프링의 기능만 사용하는 개발자에서 객체 지향 애플리케이션의 설계와 아키텍처 레벨까지 고민하는 개발자로 성장할 수 있습니다.

강의 대상

스프링 핵심 원리 강의는 스프링을 처음 접하는 개발자부터, 실무에서 스프링을 사용하지만 스프링의 핵심 원리를 제대로 이해하고 사용하고 싶은 개발자 분들을 위해서 준비했습니다. 그리고 객체지향 설계에 고민이 많은 개발자 분들에게도 도움이 됩니다.

강의명: 스프링 핵심 원리 - 중급편

  • 기본편은 객체 지향 설계와 스프링의 핵심 원리, 그리고 스프링을 사용할 때 필수로 알아야 하는 핵심 기능들을 다룹니다.
  • 중급편은 기본편에서 다루지 않은, 컨테이너 확장 포인트, AOP 동작 원리 같은 스프링의 난이도 있는 내용들을 주로 다룰 예정입니다. 따라서 기본편을 완전히 숙지하고 들어야 합니다. 출시 일정과 자세한 내용은 어느정도 정리가 되면 다시 공유드리겠습니다.

기대해주세요. 감사합니다^^

김영한 프로필
수강생 1만명 감사 할인 이벤트
김영한 11달 전

안녕하세요. 김영한입니다.

자바/스프링/JPA 강의를 시작한지 이제 1년이 조금 지났는데, 어느덧 확인해보니 수강생이 1만명을 넘었네요.
제 강의를 듣고 응원해주신 개발자분들께 진심으로 고맙다는 인사를 드립니다.

지난시간을 돌이켜 보면, 낮에는 회사일을 하고 저녁에는 아이들 재우고 남는 시간에 강의를 준비하면서 참 힘든 순간들이 많았습니다. 그나마 아내의 배려 덕분에 시간을 쪼개서 강의를 계속 준비할 수 있었습니다.

여러분 덕분에 지난 1년간 수강생 1만명을 포함해서 많은 일들을 이루었습니다.

자바 스프링 분야 수강평점 1위

힘들때 마다 여러분이 남겨주신 수강평과 질문에서 큰 힘을 얻었습니다.

어쩌면 그냥 지나칠 수도 있는데, 따뜻하고 소중한 수강평을 남겨주신 분들께 고마움을 전합니다. 강의를 듣고 현업에 잘 적용하고 있다는 개발자 분들의 이야기, 덕분에 개발이 더 재미있어졌다는 이야기, 취업준비에 도움이 되었다는 이야기, 신입 개발자인데 강의 덕분에 현업에 잘 적응했다는 이야기를 들으면서, 큰 보람을 느끼고 또 다음 강의를 준비할 힘을 얻습니다. 참 그리고 여러분 덕분에 자바 스프링 분에서 수강평점 1위를 달리고 있습니다. 진심으로 고맙습니다.

질문 답변 1000개

질문을 통해서 시니어, 주니어, 신입 개발자, 취업 준비생, 대학생 등등 다양한 계층의 개발자 분들과 소통하는 것도 저에게는 큰 즐거움입니다. 저도 신입, 주니어 시절에 어떻게 해야 개발을 더 잘 할 수 있을까? 항상 진지한 고민을 많이 했습니다. 비슷한 고민을 하고 또 질문하는 개발자 분들을 보면서 저도 다시 열정이 살아나고, 또 그분들께 제 경험을 나눌 수 있어서 기쁩니다. 방금 지금까지 질문에 답변한 글을 세어보니 약 1000개 정도 되네요.

여러분 사실 저는 개발을 정말 좋아하고, 여러분에게 하고 싶은 개발 이야기도 정말 많습니다. 제 개발 경험을 더 많이 나누고 싶고, 실무 최전선에서 있으면서 자바 스프링으로 진짜 제대로 개발하는 재미를 더 많이 보여 드리고 싶습니다.

할인 이벤트

지난 1년간 응원해주셔서 고맙습니다. 여러분의 감사에 보답하는 가장 좋은 방법은 할인이라 생각했습니다.
인프런 자체 할인 이벤트를 제외하고는 지금까지 20% 까지만 할인 했는데, 처음으로 25% 할인을 진행하겠습니다^^!

할인 기간: 지금부터 ~ 9월 13일(일요일)
할인율: 전 강의 25%
링크: https://www.inflearn.com/instructors/74366/courses

P.s: 스프링 핵심 원리 강의 소식

스프링 핵심 원리 강의는 정말 열심히 준비하고 있습니다. 현재 약 45강 정도 준비했고, 약 60강 정도로 마무리 될 것 같습니다. 어느정도 규모가 있지만, 진짜 핵심 원리를 깊이있게 파서 한방에 끝내는 것을 목표로 하고 있습니다.

모두 고맙습니다!!

김영한 프로필
실전! Querydsl 오픈 소식
김영한 2020.02.27

안녕하세요^^!

드디어 실전 시리즈를 완성하는 마지막 강의인 실전! Querydsl이 오픈 했습니다!

Querydsl은 스프링과 JPA에 이어서 제가 실무에서 가장 좋은 하는 기술 중 하나입니다. 

링크: https://www.inflearn.com/course/Querydsl-%EC%8B%A4%EC%A0%84

로드맵: https://www.inflearn.com/roadmaps/149

최신 자바 백엔드는 주로 스프링 부트와 JPA, 스프링 데이터 JPA를 조합해서 사용합니다. 그런데 이런 조합으로 해결하지 못하는 한계점이 바로 복잡한 쿼리동적 쿼리 문제입니다.

Querydsl은 자바 언어의 한계를 넘어서, 쿼리를 문자가 아니라 진짜 자바 코드로 작성할 수 있게 도와줍니다. 정말 많은 개발자들이 고민해온 동적 쿼리 문제를 깔끔하게 해결할 뿐만 아니라, 문법 오류도 컴파일 시점에 모두 잡아줍니다

복잡한 실무에서 스프링 데이터 JPA와 Querydsl의 조합은 선택이 아니라 필수입니다. Querydsl의 완전 기초부터 다양한 실무 프로젝트에서 쌓은 노하우들을 까지 Querydsl에 관한 모든 내용을 전달해 드립니다.

공유 많이 부탁드립니다^^!

추가로 학습계획을 위한 로드맵도 새로 구성했습니다^^!

로드맵을 등록해두시면 학습방향과 추가 강의 등록을 바로 확인할 수 있습니다. (할인 쿠폰도 가끔 나옵니다. ㅎㅎ)

로드맵: https://www.inflearn.com/roadmaps/149

김영한 프로필
실전! Querydsl 오픈 예정 소식
김영한 2020.01.02

안녕하세요. 김영한입니다.

드디어 실전 시리즈의 마지막 강의인 실전! Querydsl 오픈 예정 소식을 전해드립니다^^

강의: 실전! Querydsl

오픈: 1월 중순(예정)

최근 자바 백엔드는 주로 스프링 부트와 JPA, 스프링 데이터 JPA를 조합해서 사용합니다. 그런데 이런 조합으로 해결하지 못하는 한계점이 바로 복잡한 쿼리와 동적 쿼리 문제입니다.

Querydsl은 자바 언어의 한계를 넘어서, 쿼리를 문자가 아니라 진짜 자바 코드로 작성할 수 있게 도와줍니다. 정말 많은 개발자들이 고민해온 동적 쿼리 문제를 깔끔하게 해결할 뿐만 아니라, 문법 오류도 컴파일 시점에 모두 잡아줍니다.

스프링 부트와 JPA라는 기반 위에, 스프링 데이터 JPA와 Querydsl이라는 두 환상적인 프레임워크를 더하면 개발이 정말 즐거워집니다. 지금까지 조금이라도 단순하고 반복이라 생각했던 개발 코드들이 확연히 줄어듭니다. 개발자는 핵심 비즈니스 로직을 개발하는데, 집중할 수 있습니다. 그리고 Querydsl 덕분에 쿼리를 작성하는 것 조차도 자바 코드로 작성할 수 있어서 즐겁습니다. 복잡한 실무에서 스프링 데이터 JPA와 Querydsl의 조합은 선택이 아니라 필수입니다.

실무에서 Querydsl을 어떻게 사용하면 좋은지 다양한 실무 프로젝트에서 쌓은 노하우들을 모두 전달해 드립니다. 기대해주세요^^!

querydsl이 궁금하신 분들은 2012년 한국 스프링 사용자 모임에서 제가 발표한 내용을 들어보세요. (너무 소시적이라 좀 부끄럽네요. 아직 서울말 패치 되기 전입니다. ㅎㅎ querydsl 버전도 과거 버전인 점은 감안해주세요.)

발표링크: https://www.youtube.com/watch?v=9Zu5SThOFKw

김영한 프로필
실전! 스프링 데이터 JPA 오픈! 공지
김영한 2019.12.10

안녕하세요^^!

11월말 오픈으로 약속드린 실전! 스프링 데이터 JPA 강의를 오픈했습니다.

실전! 스프링 데이터 JPA

최근에 스프링 부트와 JPA에 대한 실무 활용 강의를 출시하고, 많은 분들이 스프링 데이터 JPA도 실무에서 어떻게 활용하는지 문의를 주셨습니다.

그래서 실무에서 스프링 데이터 JPA를 재대로 사용할 수 있는 강의를 만들었습니다.

실무에 꼭 필요한 기능 위주로 설명하고, 실무에 사용하기 부족한 기능은 과감하게 내용을 줄였습니다.

스프링 데이터 JPA를 처음 사용하거나 실무 활용법을 배우고 싶은 많은 분들께 도움이 되었으면 합니다.

공유 많이 부탁드립니다^^!

88,000원

월 17,600원

5개월 할부 시
내 목록 추가 2458 공유
지식공유자 : 김영한
총 32개 수업˙총 7시간 17분
평생 무제한 수강
수료증 발급 강의
입문 초급 중급이상 대상
수강 전 궁금한 점이 있나요?
문의하기
문의
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의를
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스