자바 버전: 11
- 18
- 17
- 레코드(16)
- instance of 패턴 매칭(16)
- 향상된 switch문(14)
- 텍스트 블록(15)
- 11 ✅
- 17이상이면 어차피 코틀린으로 갈아타지 않았을까?
- 모듈 시스템 도입(자바9)
- 인터페이스
private
메서드
- 8
빌드: gradle
gradle
✅- 요즘 대세
- 단순해 보임
- 학습 목표
maven
- asciiDocs
데이터 계층: Data JPA + QueryDSL
- Spring Data JPA ✅
- 동적 쿼리
- Criteria 메타 모델
- QueryDSL ✅
_Item
DB: H2(초기 개발 환경) → MySQL
- MySQL
- 버전 8.0
- Docker 이용하여 한 번에 공유
- AWS 서버를 띄우고 거기서 사용하는 방식
- 이건 배포 상황에 고민
- H2
- 개발 환경
사용 dependency
- 스프링 웹
- 웹 Validation
- Spring RESTDocs
- 롬복
Getter
NoArgsConstructor
RequiredArgsConstructor
Builder
: 애매private
Setter
: 고민UtilityClass
- 스프링 시큐리티
- OAuth
- Data JPA
- H2(개발환경)
- MySQL(운영)
- p6spy(개발환경)
- configuration-processor
- 구아바✅
- 생성자에서 검증 수행 용으로
CI → 조사해오겠습니다 (민재)
- 왜 쓰나?
- 자동화가 핵심
코드 리뷰
- PR 시 테스트 코드 필수
테스트
- TC; Test Coverage는 ≥ 70% 목표
- H2 vs Docker MySQL
- H2로 CI → 차후 MySQL
커밋 컨벤션
- PR 단위
- 에픽? 스토리? feat 단위?
- 일단 해 보면서 맞춰 보자.
- gitflow vs github flow
- github flow✅
에러 핸들링
- RestControllerAdvice
- stack trace
- 로깅
- 메시지 → slack
- 공부는 해보기