1주차
-
01
오리엔테이션
- 멘토 및 클래스 메이트 자기소개
- 클래스 대상 및 목표 안내
- 전체 커리큘럼 안내
-
02
레거시 코드 분석
- 환경 및 기존 API 이해
1) maven, spring boot, mybatis
2) API 명세서를 이용한 기존 API 설명
-
03
레거시 코드 정리를 위한 이론 소개
- DTO, ENUM, Exception 등
-
04
실시간 Q&A
-
과제
레거시 코드 정리
- API에 DTO 추가하기
- 공통 Exception 처리하기
- validation 처리하기
[과제 수행 위한 제공 자료]
- SW활용 전략을 위한 통계 API 5가지
2주차
-
01
1주차 세션 회고 및 과제 피드백
-
02
Maven vs Gradle
- 빌드 도구의 특징 및 전환
-
03
Mapper vs ORM
- Mybatis -> JPA로 전환 시 이점
-
04
실시간 Q&A
-
과제
엔티티 정의 및 Mybatis → querydsl, JPA 전환
- Mapper 기반으로 작성된 코드를 ORM(JPA) 기반으로 수정
- 주어진 5가지 API를 위한 Mybatis 를 jpa와 querydsl 기반으로 전환
3주차
-
01
2주차 세션 회고 및 과제 피드백
-
02
API 설계
- API 설계에 대한 이해
-
03
외부 API 연동에 대한 처리
- API 인증에 대한 이해
- 연동 실패 시 처리
-
04
실시간 Q&A
-
과제
휴무일 조회를 DB 테이블 조회에서 외부 API를 사용하는 방법으로 수정하기
[과제 내용]
- 백엔드 개발은 자사 서비스를 위한 개발 외, 타사 서비스로 요청하는 외부 API 연동에 대한 내용이 핵심입니다.
- RestTemplate를 이용해 외부 API 호출을 직접 구현하고, 외부 API 인증은 어떻게 할지, API 호출이 실패할 때 어떻게 대응할 수 있을지, 다양한 관점에서 외부 API 연동을 이해해 봅니다.
[과제 요건]
- restTemplate 적용
- API 인증키 적용
4주차
-
01
3주차 세션 회고 및 과제 피드백
-
02
처리 시점을 변경한 개선
- 집계 테이블 설계 및 배치 개발
-
03
캐시를 통한 부하 및 속도 처리
- 캐시를 처리하는 방식 및 예시 설명
-
04
4주간 진행 Wrap up