Thumbnail
BEST
개발 · 프로그래밍 백엔드

스프링과 JPA 기반 웹 애플리케이션 개발 대시보드

(4.8)
101개의 수강평 ∙  1613명의 수강생
330,000원

월 66,000원

5개월 할부 시
지식공유자: 백기선
총 96개 수업 (18시간 12분)
수강기한: 무제한
수료증: 발급
난이도: 
입문
-
초급
-
중급이상
지식공유자 답변이 제공되는 강의입니다
폴더에 추가 공유
중급자를 위해 준비한
[웹 개발, 백엔드] 강의입니다.

이 강좌에서 여러분은 실제로 운영 중인 서비스를 스프링, JPA 그리고 타임리프를 비롯한 여러 자바 기반의 여러 오픈 소스 기술을 사용하여 웹 애플리케이션을 개발하는 과정을 학습할 수 있습니다. 이 강좌를 충분히 학습한다면 여러분 만의 웹 서비스를 만들거나 취직에 도움이 될만한 포트폴리오를 만들 수 있을 겁니다.

✍️
이런 걸
배워요!
스프링, JPA, 타임리프를 익힐 수 있습니다.
스프링과 JPA를 사용해서 실제 웹 서비스를 개발할 수 있습니다.

🙆🏻‍♀ 스프링과 JPA 기반 웹 애플리케이션 프로그래밍 🙆🏻‍♂

이 강좌는 다양한 기술을 사용해 웹 서비스를 개발합니다.
가칭, '스터디올래'라는 스터디 모임 관리 서비스를 개발합니다.

 
여러분도 따라 만들어 보시고 자신만의 서비스 또는 취직에 사용할 포트폴리오를 만들어 보세요.


이제는 진짜로
만들어 봅시다.

실습형 강좌

이 강좌는 이론형 강좌와 달리 사용하는 기술의 원리 이해가 목적이 아닌 기능 구현을 목적으로 만들었습니다.
따라서, 이 강좌를 따라하며 학습하시면 여러분도 분명히 웹 서비스를 만들 수 있습니다.


이 강의는 스터디 모임 관리 서비스의 주요 기능을 구현합니다.


대신, 기술에 대한 충분한 이해가 따르지 않는다면 동작 원리 이해가 부족하여 문제 해결 능력, 응용 능력이 떨어질 수 있습니다.실습형 강좌에서 이론적인 지식까지 보충하기에는 분량이나 시간적으로 여유치 않으니 선수지식을 반드시 참고해 주시기 바랍니다.

 
선수지식 : 자바 / 스프링, 스프링 부트, 스프링 데이터 JPA / HTML, CSS, JavaScript

반드시 필요한 선수지식

HTML, CSS, 자바스크립트에 대한 지식을 갖추고 있어야 합니다.
본 강좌는 "웹" 애플리케이션을 개발합니다. 따라서 위 세가지 기술에 대한 이해가 없이는 본 강좌를 학습하는 것이 불가능합니다.

자바, 스프링, JPA를 학습한 경험이 있어야 합니다.

완벽히 알고 있진 않아도 괜찮지만, 처음 학습하시는 분들에게 이 강좌는 그저 따라하니까 되네? 정도로 그칠 겁니다. 의미없는 학습입니다.반드시 인터넷 강좌나 책으로 한번 쯤 학습을 해 본 개발자 또는 학생만 이 강좌를 수강하시기 바랍니다. 

이 강의에서 배우는 것들

이번 강좌는 대부분의 웹 애플리케이션이 기본으로 갖추고 있는 기능을 구현합니다.

• 회원 가입 / 로그인 / 로그아웃
• 도메인 데이터 CRUD
• 페이징 및 정렬
• 예외 처리
• 테스트

간단한 기능들이긴 하지만 진짜는 디테일에 있습니다.

회원 가입을 Account 또는 User 객체를 만들어 저장하고 끝낸다면 실전 또는 실제 웹 서비스라고 할 수 있을까요?


이메일로 회원 가입 인증 처리, 비밀 번호를 잊은 경우에 대한 처리, 로그인 시 비밀 번호가 틀린 경우 등 다양한 경우를 고려해야 합니다.

CRUD도 마찬가지로, 모든 데이터를 수정할 것인지, 일부 데이터만 수정할 것인지, 스터디에 배너 이미지를 제공하거나, 다른 연관 관계 있는 데이터를 어떻게 추가하며 삭제할 것인지를 고민해야 합니다.
조회는 가장 간단해 보이지만 사실 가장 성능에 치명적일 수 있는 기능입니다.
어떤 데이터를 가져와서 어떻게 제공하느냐 따라 애플리케이션 성능에 많은 영향을 줍니다.
강의를 통해 여러분은 성능을 고려하며 개발하는 방법도 학습할 수 있습니다


여기서 다루는 툴

인텔리J IDEA, 부트스트랩, 제이쿼리, 타임리프
스프링, 스프링 부트, 스프링 데이터 JPA, 스프링 시큐리티
JPA, QueryDSL, PostgreSQL, JUnit 5

🙋🏻‍♂️ 예상되는 질문 QnA

Q. 비전공자도 들을 수 있나요?
A. 네, 선수 지식을 갖추셨다면 가능합니다. 전공 여부는 중요하지 않습니다. 반대로 전공자여도, 자바, 스프링, JPA 그리고 HTML, CSS, 자바스크립트에 대한 학습이 부족하면 특히, 자바와 웹 기술에 대한 공부가 부족하신 분들은 수강하기 힘들 수 있습니다.

Q. 이 강의만의 특별한 장점이 있을까요?
A. 유튜브에서 개발자 고민 상담을 하며, 많은 취준생 분들이 포트폴리오를 어떻게 만들지 고민하고 있다는 사실을 알게 되었습니다. 이 강의에서 다루는 웹 서비스 수준의 포르폴리오를 이해하며 만들고 개선해 나갈 수 있는 실력을 갖춘다면 취직에 유리할 겁니다.

Q. 이 강의 소스 코드를 포트폴리오로 써도 될까요?
A. 안됩니다. 본인의 포트폴리오는 전적으로 본인이 작성해야 하며 같은 코드를 "따라서" 작성한 코드는 본인의 것이라 말하기 어려울 겁니다. 이 강의를 충분히 이해했다면 분명히 여러분 만의 웹 서비스를 개발할 수 있을 겁니다. 그리고 그 과정을 직접 겪어야 더 성장할 수 있습니다

강좌는 계속 
이어집니다.



이 강좌는 스터디올래라는 서비스를 통해 여러분에게 실전과 비슷한 다양한 경험과 학습을 제공하기 위한 시작점입니다. 이후에도 동일 서비스를 기반으로 여러 강좌를 구상해 두었으니 기대해 주시기 바랍니다.

이런 분들께 추천드려요!

🎓
학습 대상은
누구일까요?
포트폴리오를 만들고 있는 개발자 또는 학생
스프링 기반 자바 웹 서비스를 개발하고 싶은 개발자 또는 학생
스프링 부트, 스프링 핵심 기술, 스프링 MVC, 스프링 시큐리티, 스프링 데이터 JPA를 수강한 개발자 또는 학생
📚
선수 지식,
필요할까요?
자바
스프링, 스프링 부트, 스프링 데이터 JPA
HTML, CSS, JavaScript

안녕하세요
백기선 입니다.
백기선의 썸네일

네이버와 아마존을 거쳐 현재 Microsoft에서 시니어 소프트웨어 엔지니어로 일하고 있습니다.

아인슈타인은 "교육이란 사실을 가르치는 것이 아니라, 생각할 수 있는 힘을 기르는 것이다."라고 말했습니다. 그리고 저도 그 말에 깊이 공감하며 강의를 만들고 있습니다.

유튜브:
'백기선' 채널에서 개발자 고민 상담 및 개발자에게 유용한 지식 공유
번역: 스프링 및 하이버네이트 관련 서적 다수 번역
저술: 쉽게 따라하는 자바 웹 개발

커리큘럼 총 96 개 ˙ 18시간 12분의 수업
이 강의는 영상, 수업 노트, 첨부 파일이 제공됩니다. 미리보기를 통해 콘텐츠를 확인해보세요.
섹션 0. 시작하기
섹션 1. 회원 가입
계정 관리 기능 미리보기 미리보기 05:00
프로젝트 만들기 06:36
계정 도메인 08:05
회원 가입 컨트롤러 14:16
회원 가입 뷰 20:37
회원 가입 폼 서브밋 검증 17:03
회원 가입 폼 서브밋 처리 11:40
회원 가입 리팩토링 및 테스트 18:42
회원 가입 패스워드 인코딩 13:00
회원 가입 인증 메일 확인 20:40
회원 가입 인증 메일 확인 테스트 및 리팩토링 09:08
회원 가입 완료 후 자동 로그인 09:58
회원 가입 메인 네비게이션 메뉴 09:32
프론트엔드 라이브러리 설정 16:40
뷰 중복 코드 제거 11:49
첫 페이지 보완 10:56
현재 인증된 사용자 정보 참조 14:56
가입 확인 이메일 재전송 07:36
로그인 로그아웃 14:41
로그인 로그아웃 테스트 11:48
로그인 기억하기 18:28
프로필 뷰 16:21
Open EntityManager (또는 Session) In View 필터 09:15
섹션 2. 계정 설정
프로필 수정 폼 미리보기 09:50
프로필 수정 처리 15:43
프로필 수정 테스트 18:45
프로필 이미지 변경 13:35
패스워드 수정 15:59
패스워드 수정 테스트 04:28
알림 설정 07:24
ModelMapper 적용 10:07
닉네임 수정 04:47
패스워드를 잊어버렸습니다. 04:45
섹션 3. 관심 주제와 지역 정보
관심 주제와 지역 정보 관리 기능 미리보기 미리보기 03:27
관심 주제 도메인 05:49
관심 주제 등록 뷰 12:55
관심 주제 등록 기능 구현 13:09
관심 주제 조회 06:57
관심 주제 삭제 04:12
관심 주제 자동완성 05:44
관심 주제 테스트 14:41
지역 도메인 13:53
지역 정보 추가 삭제 및 테스트 08:37
섹션 4. DB와 이메일 설정
PostgreSQL 설치 및 설정 07:13
인텔리J 데이터베이스 탭 07:34
SMTP 설정 08:07
EmailService 추상화 14:13
HTML 이메일 전송하기 13:14
섹션 5. 스터디
스터디 관리 기능 미리보기 미리보기 04:50
스터디 도메인 06:48
스터디 개설 25:14
스터디 조회 21:30
스터디 구성원 조회 03:15
스터디 설정 - 소개 수정 16:33
스터디 설정 - 배너 11:20
스터디 설정 - 태그/지역 17:55
스터디 설정 - 상태 변경 15:25
스터디 설정 - 경로 및 이름 수정 05:57
스터디 삭제 05:36
스터디 참여 및 탈퇴 05:02
섹션 6. 모임
모임 관리 기능 미리보기 미리보기 08:31
모임 도메인 16:48
모임 만들기 뷰 15:07
모임 만들기 폼 서브밋 16:03
모임 조회 15:42
모임 목록 조회 07:51
모임 수정 08:24
모임 취소 08:14
모임 참가 신청 및 취소 19:14
모임 참가 신청 수락, 취소 및 출석 체크 14:43
섹션 7. 패키지 및 테스트 코드 정리
패키지 구조 정리 13:17
테스트 클래스 정리 04:11
테스트 DB를 PostgreSQL로 전환 10:40
섹션 8. 알림
알림 기능 미리보기 미리보기 02:38
알림 도메인 03:57
알림 인프라 설정 21:59
스터디 개설 알림 21:36
알림 아이콘 변경 17:28
알림 목록 조회 및 삭제 10:55
스터디 변경 알림 12:55
모임 관련 알림 03:36
섹션 9. 검색 및 첫 페이지
검색 기능 미리보기 미리보기 02:16
검색 기능 구현 17:01
N+1 Select 문제 해결 15:04
페이징 적용 17:11
검색 뷰 개선 19:51
[과제1] 로그인 전 첫 페이지 08:51
[과제 2] 로그인 후 첫 페이지 19:00
섹션 10. 에러 처리 및 배포 준비
에러 핸들러 및 뷰 추가 06:34
배포시 고려할 것 16:53
강의 게시일 : 2020년 03월 16일 (마지막 업데이트일 : 2020년 03월 12일)
수강평 총 101개
수강생분들이 직접 작성하신 수강평입니다.
4.8
101개의 수강평
5점
4점
3점
2점
1점
VIEW 좋아요 순 최신 순 높은 평점 순 낮은 평점 순 평점 순 높은 평점 순 낮은 평점 순
dsdsd thumbnail
동영상에 강의 내용외에 다른 소리가 너무 큰거같아요 ㅠ
2020-04-05
지식공유자 백기선
아.. 이건 제가 정말 죄송합니다. 가급적이면 조용한 시간에 만들려고 해도.. 변명이지만 애들이 뛰어놀고 부모님까지 방문하신 시기에도 강의 만드는걸 멈추고 싶지 않아서 계속 만들었는데 제 생각보다 소음이 심했나 봅니다. 강의 들으시는데 불편을 드려 죄송합니다.
2020-12-30
이카루스 thumbnail
하아... (최범균) 스프링 5.0 책, (김영환) JPA 책 을 여러번 읽었음에도 불구하고...해당 강의를 못따라 가겠습니다. "여러분 이런건 다 알고 있어야 해요" 이 한 마디로...모든걸 다 대신하는게 과연 맞나 싶습니다. 실제로 DB, HTML, JS, CSS, Vue.JS 등은 중급 정도 수준임에도.... 해당 강의를 언제나 따라갈 수 있을런지요... 이 모든게 다 수강자 잘못인지는 잘 모르겠네요.
2021-10-17
휴식중인 숭어 thumbnail
이 강의는 "매우 불편합니다". "강의 자료"는 다방면적으로 제한적입니다. 짧은 시간내에 집고 넘어 갈 수 있는 부분도 "지금은 {해당}시간이 아니기에...", "선행학습...."등의 이유로 넘어갑니다. 풀프로젝트(실습형) 강좌로서 내용이 많이 부족하는것에 대한 입증입니다. 개인평으로 절대로 "선행학습이 부족해서" 이 강의가 어려운것이 아니다. 라고 단언합니다. "풀 프로젝트를 따라하면서 back-end front-end 모두를 학습하고 내 프로젝트를 진행하겠다."를 목표를 가지고 본 강의를 결제&수강하신다면 절대로 추천하고 싶지 않습니다. spring에 대해서 필요한 파트들에 대해서 알아보고 해당 파트들을 개별적으로 학습하거나 다른 "풀 프로젝트 강의"를 수강하길 권합니다. - 개별 파트별로 spring을 학습 했다면 개인 프로젝트가 가능 합니다. - 이 강의 하나가 모든 파트별 강의의 내용을 담고 충분히 설명하고 있지 않습니다. ※ 즉, 파트별 spring에 대한 학습이 끝난 개발자가 이 강의로 나아질것이 없다는 의미입니다. 백기선님의 개인 프로젝트에 설명하고 싶은 부분만 설명하는 [기록장]에 가깝습니다. - 그래도 "국가지원 교육과정"과 같은 강의보다는 좋습니다.
2020-12-30
지식공유자 백기선
이 강의 하나로 어떻게 스프링과 JPA 모든 것을 담아 설명할까요. 본인에게 이 정도 수준의 강의가 어려웠다면 선행 학습이 부족한게 맞습니다. 본인은 거부할지 모르겠지만... 현재 13% 수강하신걸로 보이는데 그 뒤로는 더 어려워질겁니다. 그러니 지금이라도 이 수강을 멈추고 다른 강의를 먼저 듣고 필요한 선행 학습을 충분히 하신 다음에 다시 들으시거나, 아니면 환불을 원하신다면 인프런과 이야기해 환불해 드리겠습니다. 기본적으로 어느 강사가 수강하는 학생들한테 불편하라고 강의를 만들겠습니까... ※ 이 피드백을 보고 고민하실 여러분에게 저도 할 말이 있습니다. ※ 이 분은 "회원 가입 폼 서브밋 처리" 수업까지 수강하시고 이런 피드백을 남기셨습니다. 이런 일이 여러분에게도 벌어질 수 있으니 주의하시기 바랍니다. 강의 소개에 적힌대로 이 강의는 "스프링 부트, 스프링 핵심 기술, 스프링 MVC, 스프링 시큐리티, 스프링 데이터 JPA"를 모두 수강한 이후에 듣는 강의입니다. 즉 이론적인 학습을 한 이후에 실제로 그 이론적인 개념을 어떻게 간단한 (하지만 현실적인) 웹 애플리케이션을 개발하는데 활용할지에 대한 강의입니다. 이 강의는 이론 학습만으로는 경험하기 어려운 지식들을 담고자 만들었습니다. 실제로 스프링과 JPA를 써서 웹 애플리케이션을 개발하면서 고민하는 것들 그리고 여러 선택지, 그 중에서 어떤 방법으로 각각의 문제를 해결할 수 있는지 왜 그런 선택을 했는지에 대한 이야기를 담았습니다. 변명으로 들으시는 분들도 계실지 모르겠지만 그런 지식을 담으면서 그 배경이되는 모든 이론적인 개념들까지 설명하기에는 강의 주제에서 벗어나며 강의 시간도 훨씬 더 늘어나고 무엇보다 이미 여러 다른 강의에서 설명한 것들이니 중복 수업이라고 판단이 들어 제거한 겁니다. 모두를 만족시킬 수 없다는 건 알지만 "기록장"이라거나 "이 강의로 더 나아질것이 없다"거나 자신은 선행학습이 충분한데도 어렵다는식으로 선동하는 글을 보자니 피로감이 몰려옵니다만... 괜찮습니다. 저는 이미 이 강의 후속 강의를 여럿 기획해 놨으며 제 강의를 통해 도움받는 분들을 생각하며 계속 만들어 나갈겁니다.
2020-12-30
catsriding thumbnail
IntelliJ IDEA, 자바 기초 문법, SQL 기초 문법, 스프링 MVC, 스프링 부트, JPA, 스프링 데이터 JPA, 스프링 시큐리티, QueryDsl, Git, GitHub, iTerm, DataGrip...자바 백엔드 학습을 하다 보면 학습한 것 보다 학습해야 하는 것들이 계속해서 더 쌓이는 데 저만 그런건 아니겠지요...🥺 해당 기술들의 도서나 Documentations, 또는(사실 거의 인강만...🤫) 백기선님과 김영한님의 인프런과 유튜브 강의를 보면서 코드를 작성해보고 실행 시켜 보는 과정을 통해 💭 '아, 이런것들이 있구나' 하고 알게 되는데 저는 딱 거기까지만 되더라구요. 무엇인가를 배울때 가장 빨리 배우는 방법은 역시 '모방' 👩🏻‍💻 모방은 창조의 어머니죠 😎 이 강의를 통해서 흩어져 있던 퍼즐 조각들을 하나하나 맞춰보게 되었고, 실제로 적용되는 모습을 보니 이전까지 머릿속에만 들어있던 또는 이해되지 않던 기능들이나 코드들이 살짝살짝 보이기 시작했어요 🔎 또, "이거 모르시면 안되요!" 하고 콕콕 팩트를 날려주시는데...팩폭이 워낙 쓰라리지만, 현재 제 자신의 수준을 파악할 수 있고 부족한 부분에 대해 무엇을 공부해와야 하는지 빠르게 간파할 수 있어 좋았습니다. 백엔드라는 방대한 기술들과 정보들 속에서 필요한 것을 적절한 정도로 학습하는 것도 중요한것 같아요. 그렇게 부족한것을 채우면서 강의를 하나하나 진행해 나가면, 어느새 백기선님께서 🎼말하는 대로~ "여기까지 오셨으면, 이정도는 직접 하실 수 있으실거에요" 가 되더라구요. 참, 수강평을 보면 이해되지 않는 분들이 계시더라구요. 실전 예제 강의인데 코드에 대한 상세한 설명을 요구하는 것은 경우가 아니지요. 노력없이 대가없이 쉽게 얻어지는 것은 현실세계에 없습니다. 이 강의는 분명히 해당 기술들에 대한 선수 지식을 요구하고 있어요. 로드맵 기획을 정말 잘 설계하셨다는 생각이 들더군요. 현재 이 강의의 타겟층이 분명히 잡혀 있다는 의미이지요. 아직 갈길이 멀고 부족한 것이 많지만, 백기선님 덕분에 방향을 잃지 않고 올바른 길로 더 빠르게 가고 있습니다. 이렇게 저렴한 비용으로 지식을 공유해 주셔서 항상 감사한 마음으로 배우고 있습니다. 그럼 또 다른 강의에서 뵙겠습니다. 정말 감사합니다 🙏🏻
2021-03-24
김동희 thumbnail
항상 좋은 강의 감사합니다. 내용은 아주 만족합니다!!! 다만 기초가 부족하면 강의 중간에 뼈맞을수 있습니다. 주의하세요.
2020-03-29
연관 로드맵
이 강의가 포함된 잘 짜여진 로드맵을 따라 학습해 보세요!