Categories

Spring

글 15편

2024

  1. JPA 컬렉션 Fetch Join과 메모리 페이징 문제

    컬렉션까지 EntityGraph로 조회한 뒤 발생한 메모리 페이징 경고와 조회 방식 변경을 기록합니다.

2023

  1. ReflectionTestUtils로 단위 테스트의 엔티티 ID 설정하기

    DB에 저장하지 않은 엔티티의 ID를 테스트 안에서 설정해 작성자 검증을 수행한 기록입니다.

  2. Querydsl 페이징: PageImpl과 PageableExecutionUtils의 차이

    페이지 내용으로 전체 개수를 계산할 수 있을 때 count 쿼리를 생략하는 조건을 살펴봅니다.

  3. DataJpaTest에서 생성일이 null로 조회될 때

    JPA Auditing 설정을 테스트에 가져와 생성일이 기록되도록 한 과정을 정리합니다.

  4. Facade로 답변 생성 로직의 의존성 분리하기

    회원과 질문 조회를 AnswerFacade로 옮긴 리팩터링과 남은 고민을 기록합니다.

  5. Docker에서 Eureka Client가 접근할 수 없는 IP로 등록됐을 때

    Eureka 등록 정보의 IP를 확인하고 배포 환경에서 접근 가능한 주소를 지정한 문제 해결 기록입니다.

  6. H2 Console 화면이 X-Frame-Options에 막혔을 때

    내장 H2 Console 접속 중 프레임 차단을 확인하고 당시 보안 설정을 조정했던 기록입니다.

  7. MockMvc에서 HttpOnly 쿠키의 토큰 값을 확인했던 방법

    Set-Cookie 헤더 전체와 토큰 값의 비교가 실패한 뒤 포함 여부를 검사했던 테스트 기록입니다.

  8. Spring Boot prod 프로필이 켜졌는데 DB 설정이 맞지 않았던 기록

    prod 프로필 활성화 뒤 발생한 DDL 오류와 개발 설정을 분리해 해결했던 과정을 정리했습니다.

  9. WebFlux에서 이미지 응답과 파일 없음 404 처리하기

    클래스패스의 이미지를 읽고 확장자별 Content-Type과 파일이 없을 때의 응답을 처리한 기록입니다.

  10. 카카오맵 토이 프로젝트 2: WebClient로 날씨 수집 자동화하기

    기상청 초단기예보를 조회하고 필요한 값을 저장한 뒤 매시간 수집하도록 예약한 기록입니다.

  11. 카카오맵 토이 프로젝트 1: 장소 저장과 WebMvcTest

    카카오맵에 표시할 장소를 저장하고 MockMvc로 등록·조회·수정·삭제 요청을 테스트한 기록입니다.

  12. Spring Boot 3.1로 바꾼 뒤 Querydsl Q 타입 컴파일 오류

    Spring Boot 버전을 올린 뒤 Querydsl 의존성에 jakarta 분류자를 붙였던 수정 기록입니다.

  13. Spring의 @Controller와 @RestController 차이

    뷰 이름을 반환하는 컨트롤러와 응답 본문을 반환하는 컨트롤러의 차이를 정리했습니다.

  14. Spring 채팅에서 브라우저 종료 후 남은 참여 정보 정리

    STOMP 세션과 채팅방을 연결해 저장하고 DISCONNECT에서 참여 정보를 지웠던 구현 기록입니다.