•
코드 컨벤션
토글
•
깃플로우 전략
토글
•
배포 계획
◦
Github action으로 Ci & CD 구현하여 배포
이번 주 한 일
•
회원 기능 - 회원(페이징,정렬), 역할, 팔로우, 파일 업로드, 이메일 인증, OAuth
•
여행정보 기능 - 여행(페이징,정렬), 후기(페이징,정렬), 파일 업로드
•
코스 기능 - 코스(페이징,정렬), 댓글(페이징, 정렬), 좋아요, 파일 업로드
•
채팅 기능 - 방만들기(연습), 방 목록 출력(연습), 방 입장(연습), 로그아웃 시 소식x(연습)
•
도시 기능 - 도시(페이징)
팀원 개인
전주현
정지명
이현구
장숭혁
김용운
이제 남은 일
•
리프레쉬 토큰
•
로그아웃
•
여행 파일 삭제 기능
•
채팅
•
날씨 api
•
도시 파일 업로드
•
프론트, 배포, 테스트 코드
•
이외에도 기술적인 방향을 잡기 위한 질문을 정리해두시면 가장 좋습니다!
질문
1. 서비스에서 다른 레포지토리 주입 안 받기로 한 컨벤션 지켜야 하는지?
•
서비스끼리 순환 참조 문제 발생 - 코스 서비스
코스 파일 서비스
◦
LAZY 어노테이션 → 회피
◦
하나의 서비스로만 가기
◦
중간 util 클래스? 생성
◦
컨벤션 무시하고 repository 주입 → 편의성 차이 외에 다른점은?
▪
필요할 때만 쓰자
2. 리스트 중복 조인 문제
•
org.hibernate.loader.MultipleBagFetchException: cannot simultaneously fetch multiple bags
•
List → Set 바꾸면 해결 되긴 함 → 실제 쿼리 조회 시 중복된 row 많아짐
List, 레프트조인, @Transactional x - 에러
Set, 레프트조인, @Transactional x - 에러
List, 레프트조인, @Transactional o - 원하는 결과 x
Set, 레프트조인, @Transactional o - 원하는 결과 x
List, 페치조인x, @Transactional o - N+1
Set, 페치조인x, @Transactonal o - N+1
List, 페치조인o, @Transactional x - 에러
Set, 페치조인o, @Transactonal x - 흠
3. 신기술 사용하는 것이 좋은지? (record, restClient, SpringDataJPA 등)
•
새로운거 써보는 것 좋다
◦
써야하는 상황에 대한 이유, 맥락, 이러이러한 장점
◦
어떤 원리로 동작하는지, 그 전 기술에 대한 문제
◦
lts에 있는 기술은 긍정적으로 써볼 확률이 높음
◦
4. 채팅
5. @Transactional vs fetchJoin ?
•
숙제: 멘토링 결과 다음 주까지 해올 일
◦
팀 전체 (리더와 부리더님께서 필두로 정리해 주세요.)
▪
프론트, 배포, 테스트 코드
◦
팀원 개인별로 작성해 주세요.
▪
전주현 - 프론트, 유저기능(리프레쉬,로그아웃)
▪
정지명 - 프론트
▪
이현구 - 프론트
▪
장숭혁 - 채팅
▪
김용운 - 남은 기능 마무리