![[SW/IT 스쿨] JPA 기반의 애플리케이션 설계 (대면)](/data/file/141fdc639ec21b58a48eeff523e42432.png)
연간교육계획
차시 | 신청기간/교육기간 | 교육비 | 상태 |
---|---|---|---|
1차 |
신청 : 2025.02.17 - 2025.03.25 학습 : 2025.05.19 - 2025.05.21 |
600,000원 | 마감 |
과정소개
- JPA를 이용해서 애플리케이션을 설계할 때 고려해야 하는 다양한 이슈를 살펴보고, 유지보수성을 향상시킬 수 있는 설계 기법을 배우는 과정입니다.
과정 목표
- JPA를 이용한 테이블 매핑 방법과 기본 메커니즘을 학습하여 효율적으로 JPA와 데이터베이스 간의 관계를 설정할 수 있다.
- JPA 기반 애플리케이션 설계 방법을 학습하여 확장성과 유지보수성이 높은 애플리케이션을 설계할 수 있다.
- N+1 문제와 같은 성능 이슈 해결을 위한 설계 방법을 학습하여 성능 최적화를 통해 효율적인 데이터 접근이 가능한 결과물을 산출한다.
추천 대상
- JPA를 이용해서 객체지향적으로 애플리케이션을 설계하는 방법을 익히고자 하는 분
- N+1 문제와 같은 성능 이슈를 해결하기 위해 필요한 설계 기법을 배우고자 하는 분
- JPA의 기본 개념과 아키텍처를 이해하고, 간단한 CRUD 애플리케이션을 개발해본 경험이 있는 분
- ORM의 기본 원리를 이해하고, 이를 활용한 데이터베이스 연동 경험이 있는 분
사전 체크리스트
- 나는 엔티티/값 객체와 테이블 사이의 기초적인 매핑 방법을 알고 있다.
- 나는 엔티티/값 객체와 테이블 사이의 기초적인 연관관계/컬렉션 매핑 방법을 알고 있다.
- 나는 JPA의 영속성 컨텍스트의 작동 방식과 엔티티 생명주기(생성, 관리, 제거 등)에 대한 기본적인 이해를 가지고 있다.
- 나는 Lazy Loading과 Eager Loading의 차이를 이해하고 있다.
- 나는 JPQL 또는 Spring Data JPA를 이용해서 간단한 데이터 저장 및 조회 작업을 구현한 경험이 있다.
체크리스트 결과
- 5개 중 3개 이상 "아니오"를 선택한 경우, 사전학습 필요:
- JPA 기초
강의 장소
- 한양대학교 미래자동차연구센터 302호
- 2호선 한양대역 2번 출구 6분 도보 거리
- 네이버 지도 링크: https://naver.me/xv3ebCYU
강사 소개
- **조영호 강사**
- 前 무신사 본부장
- 前 우아한형제들 기술이사
- 前 카카오 팀장
- 저서: "객체지향의 사실과 오해"
준비 사항
- 개인 노트북 (Chrome, Visual Studio Code, Node.js LTS 버전, Git 설치)
교육 정보
- **방식**: 이론 10%, 실습 90%
- **수료 기준**:
- 출석 80% 이상
- 종합평가 60점 이상
- 총합 70점 이상 (출석 50%, 평가 50%)
평가 방식
- 객관식 10문항
교육 시간표
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 페이지로 이동 하시면
상세정보를 보실 수 있습니다.