이번 포스팅에서는 Spring을 사용한 프로젝트에서 S3에 업로드하는 세 가지 방법을 비교하고, 각 방법에 장 단점에 대하여 알아보고자 합니다.파일을 S3에 업로드하는 방법은 크게 세 가지가 존재합니다.Stream을 이용한 업로드 방식MultipartFile을 이용한
Filter는 Servlet이나 JSP같은 웹 요청응답을 가로채서 전처리나 후처리를(doFilter) 수행하는 역할을 합니다.Filter가 주로 하는일은 다음과 같습니다.요청(Request)가 컨트롤러에 도달하기 전에 전처리 : 인증, 로깅, 데이터 변환 등응답(Res
이번 포스팅에서는 Bulk Insert를 통한 Database 성능 최적화에 대해서 알아보겠습니다.Bulk Insert는 한번에 여러 개의 데이터를 데이터베이스에 효율적으로 저장하는 방법입니다.일반적으로 데이터를 하나씩 삽입하는 대신, 여러 데이터를 묶어서 단일 쿼리나
Page<T>란 Spring Data에서 제공하는 페이징 처리를 위한 인터페이스로서, List<T>와 비슷하지만 총 데이터 개수, 페이지 번호, 전체 페이지 수 등의 정보를 추가적으로 제공하는 것이 특징.getContent() : 현재 페이지의 데이터 리스트
이번 포스팅에서는 Logging 처리 중 Interceptor와 AOP를 활용한 Logging 처리에 대하여 작성해보고자 합니다. Spring Interceptor는 HandlerInterceptor를 구현하는 별도의 클래스를 작성해서 구현한다.HandlerInterc
현대 애플리케이션에서는 수십, 수백, 수천만 건의 데이터를 빠르게 효율적으로 조회해야 하는 경우가 빈번합니다.하지만 대용량 데이터 조회는 느린 응답 시간과 서버 부하로 이어질 수 있어, 성능 최적화가 필수적입니다.이번 포스팅에서는 Spring Boot에서 대용량 데이터
실생활에서는 다양한 위치에서 동시성 처리를 필요로 하는 곳이 많습니다. 예를 들어, 쿠폰 선착순 발급 시스템, 티켓 예매 시스템, 은행 거래 처리 시스템 등등 다양한 분야에서 사용되고 있습니다.이번 포스팅에서는 동시성 처리를 구현할 수 있는 방법에 대하여 알아보고, 테
JPA를 사용하다보면 N + 1문제를 마주치는 경우가 많습니다. 이번 포스팅에서는 N + 1 문제가 무엇인지, 왜 발생하는지, 해결방법은 어떻게 되는지 정리해보는 시간을 가져보겠습니다.N + 1 문제는 JPA에서 연관된 엔티티를 조회할 때 발생하는 비효율적인 쿼리 실행