Glossary
Java / JVM
Spring
- DI (Dependency Injection): 객체가 의존하는 다른 객체를 직접 생성하지 않고 외부에서 주입받는 방식. 테스트와 교체가 쉬워진다. → ioc-and-di
- Bean: Spring 컨테이너가 생성하고 관리하는 객체. 기본 scope는 singleton이다. → bean-lifecycle-and-scope
- AOP (Aspect-Oriented Programming): 횡단 관심사(로깅, 트랜잭션 등)를 비즈니스 로직과 분리하는 기법. Spring은 프록시 기반으로 동작한다. → aop
- Proxy: Spring이 Bean을 감싸 부가 기능을 끼워넣는 래퍼 객체. 같은 클래스 내부 호출에서는 프록시를 타지 않아
@Transactional이 무시될 수 있다. → aop
JPA / Database
- Persistence Context: 엔티티를 관리하는 1차 캐시. 같은 트랜잭션 내에서 동일 ID 조회는 DB를 거치지 않는다. → persistence-context
- Dirty Checking: 영속 상태 엔티티의 변경을 자동 감지해 flush 시점에 UPDATE를 실행하는 메커니즘. → dirty-checking
- N+1: 연관 엔티티를 건건이 조회하면서 쿼리 수가 1 + N으로 폭발하는 문제. fetch join 또는 batch size로 해결한다. → n-plus-one-and-fetch-join
- Fetch Join: JPQL에서 연관 엔티티를 한 번의 JOIN 쿼리로 함께 로딩하는 방법. → n-plus-one-and-fetch-join
- Index: 특정 컬럼 값을 정렬된 자료구조로 유지해 검색 속도를 높이는 DB 구조. 쓰기 비용이 증가하고 선택도가 낮으면 효과가 없다. → db-index
- Full Scan: 인덱스를 사용하지 않고 테이블 전체를 읽는 방식. 소량 데이터에서는 오히려 더 빠를 수 있다. → execution-plan
- Execution Plan: DB가 쿼리를 어떤 순서와 방법으로 처리할지 보여주는 계획.
EXPLAIN으로 확인한다. → execution-plan
Transaction / Concurrency
Idempotency / Reliability
- Idempotency (멱등성): 같은 요청을 여러 번 보내도 결과가 변하지 않는 성질. 결제, 주문 등 부작용이 있는 API에서 필수다. → why-idempotency
- Idempotency Key: 중복 요청을 식별하기 위해 클라이언트가 보내는 고유 키. → idempotency-key
- Retry: 실패한 요청을 재시도하는 패턴. 멱등하지 않은 API에 retry하면 중복 처리가 발생한다. → duplicate-request-and-retry
- Circuit Breaker: 외부 호출 실패가 반복되면 일정 시간 요청을 차단해 장애 전파를 막는 패턴. → retry
Cache / Redis
Network
- Timeout: 응답을 기다리는 최대 시간. connection timeout과 read timeout을 구분해야 한다. → timeout
- DNS: 도메인을 IP 주소로 변환하는 시스템. TTL 캐시 때문에 IP 변경이 즉시 반영되지 않을 수 있다. → dns
- TLS: 통신을 암호화하는 프로토콜. HTTPS는 HTTP + TLS다. → tls
- CORS: 브라우저가 다른 출처의 요청을 차단하는 보안 정책. 서버에서 허용 출처를 명시해야 한다. → cors
- Load Balancer: 트래픽을 여러 서버에 분산하는 장치. L4는 TCP, L7은 HTTP 수준에서 분배한다. → load-balancer
Observability / Operations
CI/CD / Deployment
- CI (Continuous Integration): 코드 변경을 자동으로 빌드하고 테스트하는 파이프라인. → ci-vs-cd
- CD (Continuous Deployment): 테스트를 통과한 코드를 자동으로 운영 환경에 배포하는 프로세스. → ci-vs-cd
- Rollback: 배포 후 문제 발생 시 이전 버전으로 되돌리는 절차. → rollback-strategy
- GitOps: Git을 단일 진실 공급원(Single Source of Truth)으로 두고 인프라와 배포를 관리하는 방식. → gitops