분류 전체보기118 JPA Entity 설계시 베스트 프랙티스 1. 엔티티는 가급적 Setter을 사용하지 말자 불변성 유지 : 엔티티의 상태를 변경할 수 있는 setter 메소드가 많으면 엔티티의 상태가 예측하기 어려워지고, 불변성을 유지하기 어려워집지다. 불변성이 유지되면, 버그 발생 가능성이 줄어들고 코드를 이해하기 쉬워집니다. 엔티티의 일관성 보장 : 생성 시점에 필요한 모든 값을 생성자를 통해 전달 받으면, 객체가 일관된 상태로 시작할 수 있습니다. 이는 엔티티가 항상 유효한 상태로 유지되도록 돕습니다. 변경 추적 용이 : JPA 변경 감지 기능 (Dirty Checking)은 트랜잭션 내에서 엔티티의 상태 변화를 감지하여 변경 사항을 데이터베이스에 자동으로 반영합니다. setter 대신 명확한 의도를 나타내는 메소드 (예:changeUsername, in.. 2024. 2. 22. IntelliJ 에서 콘솔 로그 확정하기 콘솔창에 로그가 너무 많이 쌓이는 경우 로그가 짤리는 현상이 있습니다. 이를 해결하기 위해서 로그의 콘솔 출력 사이즈를 변경합니다. IntelliJ -> Settings -> Editor -> console 메뉴를 클릭합니다. Console commands history size : 이 설정은 IDE 내장 터미널이나 콘솔 창에서 사용자가 입력한 명령어의 히스토리(기록) 크기를 지정합니다. 이 값은 사용자가 이전에 실행한 명령어 중 얼마나 많은 명령어를 기억할지 결정합니다. 사용자는 이 히스토리를 이용하여 인텔리제이에서 과거 명령어를 쉽게 불러 실행할 수 있습니다. 예를들어, 300으로 설정하면 300개의 명령어를 IDE가 기억하고 사용자가 필요할 때 빠르게 접근할 수 있습니다. Override conso.. 2024. 2. 22. Spring Cloud OpenFeign Spring Cloud OpenFeign은 Spring Cloud 프로젝트의 일부로, 마이크로서비스 간의 HTTP 기반 통신을 단순화하는데 사용되는 선언적 REST 클라이언트입니다. Feign은 Netflix에서 개발되었으며, Spring Cloud는 이를 Spring 생태계에 통합하여 마이크로서버스 아키텍처에서 서비스 간 통신을 더 쉽게 구현할 수 있도록 지원합니다. Spring Cloud OpenFeign 주요 특징 선언적 REST 클라이언트 : 인터페이스에 어노테이션을 추가함으로써 HTTP 요청을 추상화 합니다. 이를 통해 개발자는 HTTP 클라이언트 코드를 직접 작성하는 대신 비즈니스 로직에 더 집중할 수 있습니다. 통합된 로드밸런싱 : Eureka, Consul 같은 서비스 디스커버리 도구와 통.. 2024. 2. 7. Parallel Stream Java 8에서 도입된 Parallel Stream은 데이터를 병렬로 처리하여 성능을 향상시키는 방법을 제공합니다. 내부적으로 Fork/Join Framework를 사용하여 작업을 여러 스레드에 분산시키고, 이러한 스레드들이 CPU 코어를 활용하여 동시에 작업을 처리할 수 있도록합니다. Parallel Stream을 사용하면 대량의 데이터 처리 작업을 더 쁘리게 수행할 수 있지만 모든 상황에서 서능 향상을 보장하는 것은 아닙니다. Parallel Stream 에서 사용되는 스레드 개수는 대부분의 경우 JVM이 실행되는 CPU 코어 개수와 관련 있습니다. 기본적으로, Parallel Stream은 ForkJoinPool의 기본 인스턴스를 사용하는데, 이는 시스템의 CPU 코어 수에 해당하는 스레드를 가지고.. 2024. 2. 6. 이전 1 ··· 9 10 11 12 13 14 15 ··· 30 다음