Spring Boot에서 데이터 캐싱 방법
이 글에서는 시스템 실행 중 성능을 향상시키기 위해 데이터를 캐싱하는 몇 가지 기술을 살펴보겠습니다. 일반적으로 계산하는 데 시간이 오래 걸리는 값을 캐싱하면 나중에 액세스할 때 시간을 절약할 수 있습니다. 캐싱되는 값은 자주 변경되지 않거나, 최신 버전이 필요하지 않은 경우가 많습니다. Spring Boot에서 캐싱 Spring Boot REST API
이 글에서는 시스템 실행 중 성능을 향상시키기 위해 데이터를 캐싱하는 몇 가지 기술을 살펴보겠습니다. 일반적으로 계산하는 데 시간이 오래 걸리는 값을 캐싱하면 나중에 액세스할 때 시간을 절약할 수 있습니다. 캐싱되는 값은 자주 변경되지 않거나, 최신 버전이 필요하지 않은 경우가 많습니다. Spring Boot에서 캐싱 Spring Boot REST API
이 글에서는 메모리 소비 문제로 인해 기존 방식으로는 구현할 수 없는 REST 엔드포인트의 예를 살펴보겠습니다. 시나리오 이번 예제에서는 Customer, Order, OrderItem, 그리고 Product로 구성된 간단한 시나리오를 사용합니다. 우리의 목표는 보고서를 생성하는 엔드포인트를 만드는 것입니다. 이 엔드포인트는 다음 데이터를 쿼리하고 반환
우리 모두 알다시피, 단위 테스트는 애플리케이션 개발에서 유지해야 할 주요한 중요한 관행 중 하나입니다. 이 글에서는 Java 애플리케이션의 단위 테스트 프레임워크인 Junit과 Mockito의 Rest apis에 대해 살펴보겠습니다. 단위 테스트란 무엇인가요? 단위 테스트(Unit Testing)는 애자일 방법론의 연속 프로세스 중 하나로 알려져 있습니
multipart 기본 경로 Spring Boot 설정에서 spring.servlet.multipart.location를 특정 경로로 설정하지 않을 경우 기본적으로 tmp 폴더로 지정됩니다. 각 운영체제 tmp 경로 Windows: C:\User\사용자\AppData\Local\Temp Linux: \tmp 각 운영체제 basedir 경로 Windo
Spring Boot에서 MultipartFile와 Bootstrap의 Modal을 사용하여 이미지 파일을 업로드하는 방법에 대해 알아보겠습니다. Spring Boot 2.6.11 버전과 Bootstrap 5를 사용하였습니다. MultipartFile MultipartFile이란 스프링에서 업로드한 파일을 표현할 때 사용되는 인터페이스입니다. 파일 내용은
WebSocket 이란 웹소켓(WebSocket)은 하나의 TCP 접속에 전이중 통신 채널을 제공하는 컴퓨터 통신 프로토콜이다. 웹소켓 프로토콜은 2011년 IETF에 의해 RFC 6455로 표준화되었으며 웹 IDL의 웹소켓 API는 W3C에 의해 표준화되고 있다. 위키백과 HTTP 프로토콜과 호환되며, 실시간 양방향 통신을 제공하기 위한 프로토콜이며
동일 트랜잭션 내부 연관 엔티티가 수정되었을 경우 CascadeType과 상관없이 자동으로 수정됩니다. 같은 트랜젝션이라 하더라도 해당 엔티티가 CasecadeType.PERSIST 로 설정 되어 있지 않으면 연관 엔티티를 추가하더라도 반영되지 않습니다. (CascadeType.MERGE로 설정 되어도 추가는 되지 않음) CascadeType 별 동
QueryDslPredicateExecutor를 이용하는 findAll, findOne 등은 where, Sort, Limit 등의 조건만 넣을 수 있습니다. 하지만 Join이나 Group by 등의 기능을 사용하려면 인터페이스 선언만으로는 기능을 구현하기 힘듭니다. 이를 해결하기 위해서 Spring Data JPA에서 제공하는 QuerydslReposit
Query DSL JPA, JDO, SQL 같은 백엔드를 위해 type-safe SQL을 만드는 프레임워크 Domain Specific Language 특정한 도메인에 초점을 맞춘 제한적인 표현력을 가진 컴퓨터 프로그래밍 언어 특징 type-safe 조회에 특화된 프로그래밍 언어 단순, 간결 다양한 저장소 조회 기능 통합 (데이터 조회 기능 추상화
NamedQuery 란 Entity에 @NamedQuery 어노테이션을 통해 쿼리를 지정해 줍니다. 쉽게 말하면 미리 이름을 부여해서 재활용할 수 있는 JPQL입니다. 사용 방법 도메인 클래스에 @NamedQuery 또는 @NamedNativeQuery를 정의합니다. 2개 이상의 Query를 정의하려면 @NamedQueries 또는 @NamedNati