Skip to content

2021 07 28 회의록 및 이슈 정리

Taewan Kim edited this page Jul 28, 2021 · 1 revision

정해야 하는 것들

변수 타입 Wrapper Type vs Primitive Type

Lombok 적용

참고 링크: https://kwonnam.pe.kr/wiki/java/lombok/pitfall

@Transactional(readOnly=true) vs No @Transactional

이슈

PR 관련 이슈

  • 백엔드 크루 간 코드 리뷰를 편하게 하기 위해 PR에 백엔드 코드만 포함하고 싶었음.
  • 기능 구현 브랜치(feature/~)로 dev 브랜치를 merge한 다음, 프론트엔드 코드는 stash하고 PR 날렸음.
  • 그 결과로 오히려 프론트엔드 코드가 이전 버전으로 돌아가는 사태가 발생

결론

기존에 하던 대로 conflict 해결 후 commit, push하자. 어차피 files changed에 프론트엔드 코드가 포함되지 않는다.

정렬이 포함된 리뷰 목록 조회 관련 테스트 코드가 100% 정상 동작하지 않는 이슈

@RepeatedTest를 이용하여 반복 동작시켰을 때, 정상 동작하는 경우도 있고 오류가 발생하는 경우도 있었음. image

  • 여러 번의 em.persist(리뷰 객체)를 호출함
  • Entity가 생성되어 저장될 때의 시간인 LocalDateTime 타입 createdAt 값이 같은 경우가 존재(0.001초(ms) 단위까지 따짐에도 불구하고..) image

결론

아래 방법들 중에 선택해야 할 것이다.

  1. 시간을 us 단위(소수점 이하 6자리)로 표현하기 (개인적으로 최선이라고 생각하지만 JAVA 8의 한계가 있을 수도)
  2. createdAt을 @CreatedDate 없이 직접 주입
  3. Sort 조건에 id를 추가
  4. em.persist 사이에 Thread.sleep(1000) --> (단순 테스트 통과용이라고 생각)