HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
[New] 아만드팀
[New] 아만드팀
/
💻
[코딩] 리팩토링
💻

[코딩] 리팩토링

Due
Apr 18, 2022
Person
Related to Project (Property)
🦽
[강의] SpringBoot : Part 2
🕹️
[강의] SpringBoot : Part 1
상태
완료
done
done
hide
시계정밀도 문제
해결
  • LocalDatetime.now() : 9자리까지 나옴
  • mysql current_timestamp 정밀도가 6자리까지 밖에 안됨
  • https://dev.mysql.com/doc/refman/8.0/en/fractional-seconds.html
  • MySQL has fractional seconds support for TIME, DATETIME, and TIMESTAMP  values, with up to microseconds (6 digits) precision:
  • 해결
    • 유저 생성시 .truncatedTo(ChronoUnit.MILLIS)
    • 스키마 생성시 created_at datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6)
    • 비교 assertThat(user1).usingRecursiveComparison().isEqualTo(queryUser1.get())
notion image
list에 있는 객체 assertJ로 비교하기
해결
  • assertThat(users).usingRecursiveFieldByFieldElementComparator().contains(user2,user4)
UserJdbcRepository 만들고 voucher도 작업!!
ENUM에 create 기능을 만들어버리기
보류
voucherType.valueOf(바우처타입입력값).create(할인금액)
→ 이렇게 하면 enum이 생성 할인 등 많은 책임을 갖게 되는것 같은데 괜찮은가??
FIXED랑 PERCENT를 나누었어야 했을까?
해결(?)
  • 어차피 Voucher 클래스안에 type이라는 값이 존재하고 있음
  • 그리고 type별 기능은 이넘에서 해결하고 있음
  • FIXED랑 PERCENT를 나누어서 코드만 더 복잡해진듯
  • → 삭제 결정