2025/06 4

JPA의 영속성 컨텍스트와 변경 감지(Dirty Checking)

영속성 컨텍스트와 변경 감지 완전 정복JPA로 개발을 하다 보면 아래와 같은 코드를 자주 보게 됩니다. @Transactionalpublic void updateUsername(Long id, String newName) { User user = userRepository.findById(id).orElseThrow(); user.setUsername(newName); // 이게 저장된다고?} Colored by Color Scriptercs 별도로 save()를 호출하지 않았는데, 값이 데이터베이스에 반영됩니다.이러한 동작은 JPA의 변경 감지(Dirty Checking) 기능 덕분입니다.이번 글에서는 이 원리가 어떻게 작동하는지 설명드리고, 실무에서 자주 발생하는 실수들과 실전 팁도 함..

스프링 2025.06.21

JPA에서 즉시 로딩(EAGER)과 지연 로딩(LAZY)은 왜 중요할까?

💡 JPA에서 즉시 로딩(EAGER)과 지연 로딩(LAZY)은 왜 중요할까?우리가 JPA를 사용할 때 가장 자주 마주치는 개념 중 하나가 즉시 로딩(EAGER) 과 지연 로딩(LAZY) 이다.이 둘의 차이를 알지 못한 채 개발을 진행하면, 언젠가는 의도치 않은 N+1 문제를 만나게 된다.오늘은 이 두 개념의 차이를 이해하고, 언제 어떤 전략을 선택해야 할지에 대한 나의 생각을 정리해본다.🔍 즉시 로딩과 지연 로딩이란?JPA에서 연관 관계를 맺을 때, 하위 엔티티를 언제 로딩할지를 지정할 수 있다.기본적으로는 다음 두 가지 방식이 존재한다.java복사편집@OneToMany(fetch = FetchType.LAZY) private List orders; EAGER (즉시 로딩): 연관된 엔티티를 즉시 조..

언어 2025.06.13

2025년 6월 최신 React 트렌드

2025년 6월 최신 React 트렌드와 실무 꿀팁 5가지안녕하세요!2025년 6월 기준으로 React 개발자분들이 꼭 알아두셔야 할 최신 트렌드와 실무 팁을 정리해 보았습니다. 매년 진화하는 React 생태계 속에서 경쟁력을 유지하시려면 지금 소개해 드리는 내용을 꼭 숙지하시면 좋겠습니다.1. React 18과 Concurrent 모드 완전 정복React 18이 기본 스펙이 된 지금, Concurrent 모드는 사용자 경험 개선에 필수적인 기능입니다.startTransition과 useDeferredValue를 활용하여 부드러운 렌더링을 구현할 수 있습니다.UI가 멈추지 않고 자연스럽게 업데이트되어 사용자 만족도가 크게 올라갑니다.2. 서버 컴포넌트(Server Components) 적극 활용서버 컴포..

언어 2025.06.06

6~7년차 개발자, 지금 어떤 공부를 해야 할까?

📌 6~7년차 개발자, 지금 어떤 공부를 해야 할까?6~7년차가 되면 어느 정도 실무 감각은 익숙해지지만,앞으로 어떻게 성장해야 할지 막막한 시기가 찾아온다.리더로 성장할 것인가? 기술을 깊게 파고들 것인가?완전히 새로운 기술을 접해볼까?이 글은 그런 고민을 가진 개발자에게현실적인 방향성과 공부 방법을 제안하려고 한다.🔍 1. 지금 내 위치 점검하기6~7년차 개발자라고 해도 성장 방향은 사람마다 다르다.리더 경험이 있는 경우 → 사람, 프로젝트 관리 능력 강화계속 개발 실무에 집중한 경우 → 아키텍처, 성능 개선, 인프라 이해도 향상실력 부족이 걱정되는 경우(물경력) → 기본기 보완 + 사이드 프로젝트 경험👉 먼저 나는 어디쯤에 있는지 자가 진단이 필요하다.🧱 2. 기본기 재정비실력 있는 개발자의..

일상 2025.06.05
728x90
반응형