−용어 | 뜻
정책(Policy) | 상황에 따라 바뀌는 판단 규칙. 할인 정책, 권한 정책, 배송비 정책처럼 "어떻게 결정할 것인가"에 해당한다.
전략(Strategy) | 교체 가능한 알고리즘이나 정책. Strategy Pattern에서는 정책을 객체로 빼서 갈아끼운다.
로깅(Logging) | 실행 중 일어난 일을 기록하는 것. 장애 분석, 감사, 디버깅에 쓴다.
캐싱(Caching) | 자주 쓰는 값을 가까운 저장소에 잠시 보관하는 것. 빠르지만 무효화 문제가 생긴다.
검증(Validation) | 입력값이나 상태가 규칙을 만족하는지 확인하는 것. API 요청, 폼 입력, 도메인 명령에서 자주 나온다.
렌더러(Renderer) | 데이터를 화면, 이미지, HTML, PDF 같은 출력 형태로 바꾸는 역할.
저장소(Storage) | 파일, DB, 캐시처럼 데이터를 보관하는 곳. 문맥에 따라 물리 저장소나 저장소 추상화를 뜻한다.
외부 SDK | 결제사, 문자 발송사, 클라우드 업체가 제공하는 라이브러리. 내부 코드에 직접 퍼지면 교체가 어렵다.
레거시 API | 오래된 시스템의 API. 새 코드와 인터페이스가 안 맞는 경우가 많아서 Adapter로 감싸기 좋다.
횡단 관심사 | 여러 기능에 공통으로 걸치는 관심사. 로깅, 권한 검사, 캐싱, 측정, retry 같은 것들이다.
도메인 | 프로그램이 다루는 업무 영역. 쇼핑몰이면 주문, 결제, 배송, 상품이 도메인이다.
DDD 모델 | Domain-Driven Design에서 말하는 도메인 중심 모델. DB 테이블보다 업무 개념과 규칙을 먼저 본다.
Entity | 식별자와 생명주기를 가진 도메인 객체. 같은 값이어도 ID가 다르면 다른 객체다.
Value Object | ID보다 값 자체가 의미인 객체. 돈, 좌표, 기간, 이메일 주소 같은 것이 예다.
DTO | Data Transfer Object. API 응답이나 프로세스 경계를 넘기기 위한 데이터 모양이다.
Aggregate | 관련 Entity와 Value Object를 하나의 일관성 단위로 묶은 것. 보통 Repository의 저장 단위가 된다.
API Handler | HTTP 요청을 받아 검증하고 적절한 서비스나 명령으로 넘기는 진입점.
Command Handler | "주문 생성", "회원 탈퇴"처럼 변경을 일으키는 명령을 처리하는 객체나 함수.
Middleware | 요청과 응답 사이에 끼어 공통 처리를 하는 계층. 로깅, 인증, CORS, 압축 등이 자주 들어간다.
ORM | Object-Relational Mapping. 객체와 관계형 DB 테이블 사이를 매핑하는 도구. SQL을 몰라도 되게 해주지는 않는다.
RPC | Remote Procedure Call. 네트워크 너머의 함수를 호출하듯 통신하는 방식.
Lock | 동시에 접근하면 깨지는 자원을 잠그는 장치. DB row lock, mutex, distributed lock 등이 있다.
Idempotency | 같은 요청을 여러 번 보내도 결과가 한 번 보낸 것과 같게 만드는 성질. Retry와 같이 자주 본다.
Backoff | 재시도 간격을 점점 늘리는 방식. 장애 중인 시스템을 계속 두드리지 않기 위해 쓴다.
Fallback | 주 경로가 실패했을 때 대신 쓰는 경로. 캐시 값 반환, 기본 응답, 대체 서버 호출 등이 있다.
TTL | Time To Live. 캐시나 토큰이 살아 있는 시간.
Stale data | 최신이 아닌 데이터. 캐시는 종종 stale data를 허용하는 대가로 빨라진다.
실행 계획 | DB가 SQL을 어떤 방식으로 실행할지 정한 계획. 인덱스를 쓸지, 테이블을 훑을지 여기서 갈린다.
트랜잭션 | 여러 DB 작업을 하나의 일관성 경계로 묶는 것. 성공하면 commit, 실패하면 rollback한다.
+용어 | 뜻
정책(Policy) | 상황에 따라 바뀌는 판단 규칙. 할인 정책, 권한 정책, 배송비 정책처럼 "어떻게 결정할 것인가"에 해당한다.
전략(Strategy) | 교체 가능한 알고리즘이나 정책. Strategy Pattern에서는 정책을 객체로 빼서 갈아끼운다.
로깅(Logging) | 실행 중 일어난 일을 기록하는 것. 장애 분석, 감사, 디버깅에 쓴다.
캐싱(Caching) | 자주 쓰는 값을 가까운 저장소에 잠시 보관하는 것. 빠르지만 무효화 문제가 생긴다.
검증(Validation) | 입력값이나 상태가 규칙을 만족하는지 확인하는 것. API 요청, 폼 입력, 도메인 명령에서 자주 나온다.
렌더러(Renderer) | 데이터를 화면, 이미지, HTML, PDF 같은 출력 형태로 바꾸는 역할.
저장소(Storage) | 파일, DB, 캐시처럼 데이터를 보관하는 곳. 문맥에 따라 물리 저장소나 저장소 추상화를 뜻한다.
외부 SDK | 결제사, 문자 발송사, 클라우드 업체가 제공하는 라이브러리. 내부 코드에 직접 퍼지면 교체가 어렵다.
레거시 API | 오래된 시스템의 API. 새 코드와 인터페이스가 안 맞는 경우가 많아서 Adapter로 감싸기 좋다.
횡단 관심사 | 여러 기능에 공통으로 걸치는 관심사. 로깅, 권한 검사, 캐싱, 측정, retry 같은 것들이다.
도메인 | 프로그램이 다루는 업무 영역. 쇼핑몰이면 주문, 결제, 배송, 상품이 도메인이다.
DDD 모델 | Domain-Driven Design에서 말하는 도메인 중심 모델. DB 테이블보다 업무 개념과 규칙을 먼저 본다.
Entity | 식별자와 생명주기를 가진 도메인 객체. 같은 값이어도 ID가 다르면 다른 객체다.
Value Object | ID보다 값 자체가 의미인 객체. 돈, 좌표, 기간, 이메일 주소 같은 것이 예다.
DTO | Data Transfer Object. API 응답이나 프로세스 경계를 넘기기 위한 데이터 모양이다.
Aggregate | 관련 Entity와 Value Object를 하나의 일관성 단위로 묶은 것. 보통 Repository의 저장 단위가 된다.
API Handler | HTTP 요청을 받아 검증하고 적절한 서비스나 명령으로 넘기는 진입점.
Command Handler | "주문 생성", "회원 탈퇴"처럼 변경을 일으키는 명령을 처리하는 객체나 함수.
Middleware | 요청과 응답 사이에 끼어 공통 처리를 하는 계층. 로깅, 인증, CORS, 압축 등이 자주 들어간다.
ORM | Object-Relational Mapping. 객체와 관계형 DB 테이블 사이를 매핑하는 도구. SQL을 몰라도 되게 해주지는 않는다.
RPC | Remote Procedure Call. 네트워크 너머의 함수를 호출하듯 통신하는 방식.
Lock | 동시에 접근하면 깨지는 자원을 잠그는 장치. DB row lock, mutex, distributed lock 등이 있다.
Idempotency | 같은 요청을 여러 번 보내도 서버에 의도한 효과가 한 번 보낸 것과 같은 성질. 응답 내용까지 같다는 뜻은 아니다. Retry와 함께 자주 본다.
Backoff | 재시도 사이에 대기 시간을 두는 방식. 지수 백오프는 실패가 이어질수록 이 시간을 늘린다.
Fallback | 주 경로가 실패했을 때 대신 쓰는 경로. 캐시 값 반환, 기본 응답, 대체 서버 호출 등이 있다.
TTL | Time To Live. 캐시나 토큰이 살아 있는 시간.
Stale data | 최신이 아닌 데이터. 캐시는 종종 stale data를 허용하는 대가로 빨라진다.
실행 계획 | DB가 SQL을 어떤 방식으로 실행할지 정한 계획. 인덱스를 쓸지, 테이블을 훑을지 여기서 갈린다.
트랜잭션 | 여러 DB 작업을 하나의 일관성 경계로 묶는 것. 성공하면 commit, 실패하면 rollback한다.