![[SW/IT 스쿨] JPA 기반의 애플리케이션 설계 (대면)](/data/file/141fdc639ec21b58a48eeff523e42432.png)
연간교육계획
차시 | 신청기간/교육기간 | 교육비 | 상태 |
---|---|---|---|
1차 |
신청 : 2025.02.17 - 2025.05.14 학습 : 2025.05.19 - 2025.05.21 |
600,000원 | 마감 |
과정소개
- JPA를 이용해서 애플리케이션을 설계 할 때 고려해야하는 다양한 이슈를 살펴보고,
유지보수성을 향상시킬 수 있는 설계 기법을 배웁니다.
난이도 및 방법
- 실무 (Level3) / 실습 및 강의
관련 역량
- SW품질 관리 및 테스팅 Lv3, 프로그래밍 언어 / 프레임워크 Lv3
과정 목표
- JPA를 이용한 테이블 매핑 방법과 기본 메커니즘을 학습하여 효율적으로 JPA와 데이터베이스 간의 관계를 설정할 수 있다.
- JPA 기반 애플리케이션 설계 방법을 학습하여 확장성과 유지보수성이 높은 애플리케이션을 설계할 수 있다.
- N+1 문제와 같은 성능 이슈 해결을 위한 설계 방법을 학습하여 성능 최적화를 통해 효율적인 데이터 접근이 가능한 결과물을 산출한다.
추천 대상
- JPA를 이용해서 객체지향적으로 애플리케이션을 설계하는 방법을 익히고자 하는 분
- N+1 문제와 같은 성능 이슈를 해결하기 위해 필요한 설계 기법을 배우고자 하는 분
- JPA의 기본 개념과 아키텍처를 이해하고, 간단한 CRUD 애플리케이션을 개발해본 경험이 있는 분
- ORM의 기본 원리를 이해하고, 이를 활용한 데이터베이스 연동 경험이 있는 분
사전 필요 지식
- JPA 기본 개념과 사용 경험
- Spring 사용 경험
- 자바 프로그래밍 경험
-JPA 기초
※ 학습자 자가 체크리스트
- 자가 체크리스트를 통해, 교육 수강신청 전 본인에게 적합한 과정인지를 확인하실 수 있습니다.
아래 질문에 대해 3가지 이상 '아니오' 에 해당하실 때에는 신청하지 않으시는 것을 추천드립니다.
1. 나는 객체지향 설계 개념(클래스, 객체, 관계 등)을 이해하고 있다.
2. 나는 데이터베이스 기본 개념(테이블, 컬럼, 기본 키/외래 키 등)을 이해하고 있다.
3. 나는 Java 언어로 간단한 CRUD(Create, Read, Update, Delete) 프로그램을 작성할 수 있다.
4. 나는 ORM(Object-Relational Mapping)의 기본 개념을 들어본 적이 있다.
5. 나는 SQL 쿼리 작성과 결과 해석(SELECT, JOIN 등)이 가능하다.
※본 과정은 JPA를 처음부터 체계적으로 이해하고, 객체지향적 데이터베이스 접근 방식을 실무에 적용할 수 있도록 설계되었습니다.
이미 고급 수준의 JPA 튜닝, 복잡한 쿼리 최적화 경험이 있으신 분들께는 본 과정 수강을 추천드리지 않습니다.
사전 학습 과정
- JPA & Spring Data JPA 기초 (Inflearn)
강의 장소
- 한양대학교 미래자동차연구센터 302호
- 2호선 한양대역 2번 출구 6분 도보 거리
- 네이버 지도 링크: https://naver.me/xv3ebCYU
강사 소개 : 조영호 강사
- 경력
· 前 무신사 본부장
· 前 우아한형제들 기술이사
· 前 NHN NEXT 백엔드 분야 교수
- 저서
· "객체지향의 사실과 오해"
- 연구 분야
· 백엔드/플랫폼 엔지니어
준비 사항
- 개인 노트북 (필수)
수료 기준
- 출석 80% 이상
- 종합평가 60점 이상 (이해도평가 객관식 10문항 + 실습형 1문항)
- 총합 70점 이상 (출석 50%, 평가 50%)
교육 시간표
[1일차]
09:00~10:00 ORM과 아키텍처(ORM 개념 및 특징, JPA와 트랜잭션 관리, 트랜잭션 스크립트와 도메인 모델)
10:00~11:00 절차적 설계와 트랜잭션 스크립트 패턴
11:00~12:00 기본 매핑 : 엔티티와 테이블 매핑, 식별자 매핑, 컬럼 매핑 (실습 포함)
12:00~13:00 점심시간
13:00~14:00 값 객체와 참조 개체 : 값 타입(Embeddable), 참조 타입, Converter를 활용한 매핑
14:00~15:30 JPA의 두 가지 측면 : 객체와 관계형 데이터베이스의 차이, 영속성 컨텍스트 개념
15:30~17:00 쿼리 - JPQL와 Spring Data JPA
[2일차]
09:00~10:00 객체지향 설계와 도메인 모델 패턴 : 도메인 주도 설계(DDD) 개념, 도메인 모델 설계 방법
10:00~12:00 연관관계 매핑 : 단방향 vs 양방향 매핑, 연관관계 설정 전략 (실습 포함)
12:00~13:00 점심시간
13:00~14:00 영속성 전이 : Cascade 옵션, orphanRemoval 활용 방법
14:00~15:00 즉시 로딩과 지연 로딩
15:00~16:00 컬렉션 매핑
16:00~17:00 상속 관계 매핑
[3일차]
09:00~10:00 애그리게이트와 연관 관계
10:00~12:00 컬렉션과 지연 로딩 : 지연 로딩 전략 분석, 엔티티 그래프 적용
12:00~13:00 점심시간
13:00~14:00 동시성 제어 : 비관적 락(Pessimistic Lock)과 낙관적 락(Optimistic Lock), 동시성 문제 해결
14:00~15:30 애그리게이트 완성하기
15:00~16:30 JPA를 기반으로 협업하기 : JPA 활용 시 DBA와 협업하는 방법 (쿼리 트래킹, 실행 계획 분석, 성능 최적화)
16:30~17:00 학습 내용 확인 평가
과정 담당자
강의목차
교시 | 일시 | 강의명 |
---|---|---|
강의 목차가 없습니다. |
PC 페이지로 이동 하시면
상세정보를 보실 수 있습니다.