일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- @configuration
- objecterror
- 테스트코드
- 김영한
- DI
- 다익스트라
- 스프링
- http 메시지 컨버터
- 예외와 트랜잭션 커밋
- 프록시
- 코딩테스트
- 인터페이스
- equals()
- fielderror
- 서블릿
- 코드트리
- 코드트리조별과제
- 백준
- 싱글톤
- 프로그래머스
- 스프링컨테이너
- HttpServletResponse
- 오블완
- html form
- 오버라이딩
- 티스토리챌린지
- java
- 추상클래스
- 의존관계
- 참조변수
- Today
- Total
목록TIL (159)
minOS

벌크 연산• 재고가 10개 미만인 모든 상품의 가격을 10% 상승하려면? • JPA 변경 감지 기능으로 처리할 경우, 다음과 같은 방식으로 동작함 1. 재고가 10개 미만인 상품을 리스트로 조회한다. 2. 조회된 상품 각각의 가격을 10% 증가시킨다. 3. 트랜잭션 커밋 시점에 JPA의 변경 감지(Dirty Checking)가 동작하여 변경된 각 상품에 대해 UPDATE SQL을 실행한다. → 만약 변경된 상품이 100건이라면, UPDATE SQL이 100번 실행됨 (비효율적이며 성능 저하 우려 있음)">• 재고가 10개 미만인 모든 상품의 가격을 10% 상승하려면? • JPA 변경 감지 기능으로 처리할 경우, 다음과 같은 ..
페치 조인(fetch join)- SQL 조인 종류 X- JPQL에서 성능 최적화를 위해 제공하는 기능- 연관된 엔티티나 컬렉션을 SQL 한 번에 함께 조회하는 기능- join fetch 명령어 사용- 페치 조인 ::= [ LEFT [OUTER] | INNER ] JOIN FETCH 조인경로 엔티티 페치 조인- 회원을 조회하면서 연관된 팀도 함께 조회(SQL 한 번에)- 다음 JPQL은 Hibernate 6에서 실행 시 아래와 같은 SQL로 변환됩니다-- JPQLselect m from Member m join fetch m.team-- Hibernate 6에서 변환된 SQL (로깅 기준)select m1_0.id, m1_0.age, t1_0.id, t1_0.name, m1_0..
경로 표현식- .(점)을 찍어 객체 그래프를 탐색하는 것select m.username -> 상태 필드from Member mjoin m.team t -> 단일 값 연관 필드join m.orders o -> 컬렉션 값 연관 필드where t.name = '팀A' 경로 표현식 용어 정리- 상태 필드(state field): 단순히 값을 저장하기 위한 필드 (ex: m.username)- 연관 필드(association field): 연관관계를 위한 필드 1) 단일 값 연관 필드: @ManyToOne, @OneToOne, 대상이 엔티티(ex: m.team) 2) 컬렉션 값 연관 필드: @OneToMany, @ManyToMany, 대상이 컬렉션(ex: m.orders) 경로 표현식 특징- 상태 필드(..

도입 배경: 왜 Docker Compose를 사용해야 하는가?각 팀원의 로컬 개발 환경이 다르거나, 설정이 제대로 맞지 않아서 발생하는 문제를 겪을 수 있다.특히 Microservices Architecture(MSA)같은 분산 시스템을 개발할 때,각 서비스의 실행 환경을 통일하는 것이 중요하다.Docker Compose를 도입하면- 모든 팀원이 동일한 개발 환경에서 작업 가능- 개발 환경을 컨테이너로 격리하여 로컬 설정이 달라도 문제 없이 실행- 서비스 간의 네트워크 및 의존성을 쉽게 관리 가능 Docker Compose 환경 세팅1)디렉토리 구조msa-practice/├── discoveryservice/ # Eureka Server│ ├── src/│ ├── pom.xml│ ├── D..

Eureka Server vs. Eureka Client 애플리케이션 공식 명칭 역할 DiscoveryserviceApplication Eureka Server (서비스 레지스트리) 서비스 등록 및 검색 기능 제공 UserServiceApplication Eureka Client (서비스 제공자 & 소비자) 서비스 등록 및 다른 서비스 호출 가능 ">애플리케이션공식 명칭역할DiscoveryserviceApplicati..

🚀 Kafka에서 Zookeeper가 제거되는 이유 (KRaft 도입 배경)Kafka는 기존에 Apache Zookeeper를 사용하여 클러스터 메타데이터를 관리했지만, Kafka 3.0부터 Zookeeper 없이 동작하는 KRaft(Kafka Raft) 모드를 도입하여 점진적으로 Zookeeper를 제거하는 방향으로 가고 있다.Kafka 7.0부터는 KRaft 모드가 기본이 되며, Zookeeper는 공식적으로 지원이 중단될 예정이다. Zookeeper 제거(KRaft 도입)의 이유1️⃣ Kafka 자체적인 메타데이터 관리 (Zookeeper 의존성 제거)기존 Kafka는 토픽, 파티션, 컨슈머 그룹 등의 메타데이터를 Zookeeper에서 관리했다. 이 방식에서는 Kafka와 Zookeeper가 별도..