[TIL] 2024/08/30

2024. 9. 2. 12:36·TIL

1. jpa에서 setter를 지양하는 이유 - ??추가할 예정

 

2.특정 날짜의 요일 구하기

LocalDateTime date = LocalDateTime.now();
DayOfWeek dayOfWeek = date.getDayOfWeek();
if(store.getClosedDays().equals(dayOfWeek.getDisplayName(TextStyle.FULL, Locale.KOREAN))){
    throw new ApplicationException(CLOSED_DAY_STORE);
}

 

3. git 강제 pull

git fetch --all
git reset --hard origin/master
git pull origin master

 

4. jpa pageable 사이즈 제한

 private static final int[] ALLOWED_PAGE_SIZES = {10, 30, 50};
 private static final int DEFAULT_PAGE_SIZE = 10;
 
 ...
 
@GetMapping
@Operation(summary = "주문 전체 조회", description = "주문에 대한 전체 리스트 조회")
public Response<Page<OrderFindResponse>> findOrders(OrderSearchRequest searchDto,
                                                    Pageable pageable,
                                                    @AuthenticationPrincipal UserDetailsImpl userDetails) {
    int size = DEFAULT_PAGE_SIZE; // 기본 10건
    if(Arrays.stream(ALLOWED_PAGE_SIZES).anyMatch(s->s == pageable.getPageSize())){ //요청 사이즈가 10, 30, 50일 때
        size = pageable.getPageSize();
    }

    Pageable validatedPageable = PageRequest.of(pageable.getPageNumber(), size, pageable.getSort());

    return Response.success(orderService.findAllOrders(searchDto, validatedPageable, userDetails.getUser()));
}

 

5. UUID랑 Integer는 @NOTNULL 사용하기

https://wildeveloperetrain.tistory.com/68

 

@NotNull @NotEmpty @NotBlank 차이점 한번은 알고 가자

@NotNull @NotEmpty @NotBlank javax.validation.constraints package에 포함된 기능으로 api에서 값을 입력받을 때 validation 체크를 위해 사용되는 어노테이션입니다. 많이 사용하게 되는 어노테이션으로 한 번만 차

wildeveloperetrain.tistory.com

 

6. 현재 시간은 운영시간에 포함되는지?? 정답은 아닌 거 같음...;;;

public static boolean checkTime(LocalTime startTime , LocalTime endTime, LocalDateTime now){
    LocalDateTime startDateTime = now.with(startTime);
    LocalDateTime endDateTime = now.with(endTime);

    if (endTime.isBefore(startTime)) {
        // 자정을 넘는 시간 범위 처리 (예: 22:00 ~ 03:30)
        if (now.toLocalTime().isBefore(endTime)) {
            startDateTime = startDateTime.minusDays(1);
        }
    }

    log.info("now.isAfter(startDateTime) {}", now.isAfter(startDateTime));
    log.info("now.isBefore(endDateTime) {}", now.isBefore(endDateTime));
    return now.isAfter(startDateTime) && now.isBefore(endDateTime);

}

'TIL' 카테고리의 다른 글

[TIL 2024/09/03] Postman API 자동화 테스트  (0) 2024.09.04
[TIL 2024/09/02] Docker EC2 실행 방법  (0) 2024.09.02
[TIL] 2024/08/29  (0) 2024.09.02
[TIL] 2024/08/28  (0) 2024.08.29
[TIL] 2024/08/27  (0) 2024.08.28
'TIL' 카테고리의 다른 글
  • [TIL 2024/09/03] Postman API 자동화 테스트
  • [TIL 2024/09/02] Docker EC2 실행 방법
  • [TIL] 2024/08/29
  • [TIL] 2024/08/28
dev_ajrqkq
dev_ajrqkq
알고리즘 천재가 될 거야
  • dev_ajrqkq
    기록이 자산이다
    dev_ajrqkq
  • 전체
    오늘
    어제
    • 분류 전체보기 (147)
      • Front-end (0)
      • Back-end (11)
        • Spring (1)
        • Java (8)
      • CS (9)
        • 데이터베이스 (5)
        • 네트워크 (4)
      • Algorithm (80)
      • 이것저것 (0)
      • 버그잡기 (1)
      • TIL (37)
      • 후기 (1)
      • 취준 (0)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      TypeScript
      Til
      99클럽
      티스토리챌린지
      항해99
      오블완
      코딩테스트준비
      개발자취업
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.2
    dev_ajrqkq
    [TIL] 2024/08/30
    상단으로

    티스토리툴바