spring

· DB
JPA (Java Persistence API) 에서 엔티티 간의 연관 관계를 설정하는 것은 매우 중요한 작업입니다.특히, ManyToOne 관계에서는 자식 엔티티가 부모 엔티티를 참조하는 방식을 결정해야 합니다.이 글에서는 JPA에서 ManyToOne 관계를 설정할 때 자주 사용되는 두 가지 방법인 getReferenceById()와 생성자를 활용하는 방법을 비교하고, N+1 문제를 해결하고 성능을 최적화하며 각각의 장단점과 선택 기준을 제시하겠습니다..ps) Fetch Join 과 @EntityGraph는 제외하고 말씀드리겠습니다.getReferenceById() 를 활용한 연관 관계 설정JpaRepository에서 제공하는 getReferenceById() 메서드는 엔티티의 ID를 사용하여 실제 엔..
· Java
소프트웨어 개발에서 "동시성(Concurrency)"과 "병렬성(Parallelism)"은 자주 혼용되지만, 개념적으로는 확실한 차이가 있습니다.이 글에서는 두 개념을 자세히 설명하고, 각각의 특징과 활용 사례, 그리고 구현 방식에 대해 다뤄보겠습니다.1. 동시성(Concurrency)과 병렬성(Parallelism)의 개념 개념설명예시동시성(Concurrency)하나의 프로세서(또는 CPU)가 여러 작업(Task)을 빠르게 번갈아가며 실행하여 동시에 실행되는 것처럼 보이게 하는 방식싱글 코어 CPU에서 멀티태스킹(ex. 웹 브라우저에서 여러 탭을 빠르게 전환하며 사용)병렬성(Parallelism)여러 개의 프로세서(또는 CPU)가 여러 작업을 실제로 동시에 실행하는 방식멀티코어 CPU에서 비디오 렌더링..
· Spring
JWT 인증 필터를 왜 @Component로 등록하면 안 되는가? - JWT 인증 필터는 @Component로 빈 등록을 하면 Spring Security의 필터 체인에 제대로 결합되지 않아 의도한 대로 동작하지 않을 수 있습니다.필터 체인에서의 순서가 엉킬 수 있기 때문입니다. Spring Security의 필터 체인 내에서 필터를 등록하려면, @Component로 등록하는 대신 SecurityConfig에서 명시적으로 등록해야 합니다.@Component로 필터를 등록하게 되면, Spring이 이 필터를 자동으로 FilterChain에 추가하게 되는데, 이 방식은 Spring Security 필터 체인과 충돌할 수 있습니다. Spring Security는 보안 필터 체인을 구성하는 순서가 매우 중요하며..
· Spring
Ping 테스트네트워크 통신 여부를 확인해봅시다.import java.net.InetAddress; // InetAddress importpublic void pingCheck() { log.info("[PingService] Start Ping Check ..."); List siteList = null; try { siteList = pingStore.getSiteList(); // DB에서 ip정보가 담겨있는 site정보를 가져옵니다. log.info("[PingService] Site ID List : " + siteList); } catch (Exception e) { e.prin..
· Spring
WebFlux란 무엇인가? WebFlux는 Spring 5에서 새롭게 추가된 Reactive-stack의 웹 프레임워크이며, 클라이언트/서버에서 리액티브(reactive) 애플리케이션 개발을 위한 논블로킹 리액티브 스트림을 지원한다. WebFlux의 등장 논블로킹으로 동작하는 웹 스택의 필요성 때문에 등장하게 되었다. 기존 SpringMVC의 Servlet API는 v3.1부터 논블로킹을 위한 API제공해왔지만 동기적으로 처리하는 모듈(Filter, Servlet)과 블로킹 방식의 API(getParameter, getPart)들이 있기에 완벽한 논블로킹 환경의 개발을 할 수 없었다. 비동기 논블로킹 환경의 서버 Netty가 부상하고 있었으며 Netty와의 연동을 위해 Spring은 새로운 API가 필요..
· Spring
모듈 간의 의존성 주입 한 프로젝트 내에 모듈간 의존성 주입을 해보자. 현재 보이는 모듈에서 mod-com 모듈을 toc-nur 모듈에서 사용할 수 있도록 하려고 합니다. DependencyManagement와 Dependencies에 대해서 알아보았습니다. DependencyManagement Maven의 dependencyManagement 섹션은 의존성들의 버전을 중앙 집중적으로 관리하기 위한 것입니다. dependencyManagement에 선언된 의존성은 실제 프로젝트의 의존성에 영향을 미치지 않습니다. dependencyManagement 섹션: 프로젝트에서 사용하는 라이브러리들의 버전을 중앙에서 통합적으로 관리하는 곳입니다. Dependencies dependencies 섹션은 실제 프로젝트..
Denes
'spring' 태그의 글 목록