PostgreSQL2 데이터 무결성을 지키는 마지막 방어선 - TypeORM Entity 설계의 5가지 핵심 포인트 “서버 코드에서 분명히 중복 체크를 했는데, 왜 DB에는 중복 데이터가 들어가 있을까?”백엔드 개발자라면 한 번쯤 겪어봤을 문제다. 특히 여러 서버가 동시에 요청을 처리하는 분산 환경에서는 애플리케이션 레벨의 유효성 검사가 동시성 앞에서 쉽게 무너진다.엔티티 설계는 단순히 데이터를 담는 구조를 만드는 일이 아니다. 시스템 전체의 마지막 안전장치를 만드는 작업이다. 여기서는 데이터 무결성을 지키기 위해 반드시 고려해야 할 TypeORM 엔티티 설계 포인트 5가지를 정리한다.1. @Unique()는 규칙이 아니라 동시성을 막는 방패다많은 코드에서 중복 방지를 이렇게 처리한다.if (exists(email)) { throw new Error('이미 존재함');} 이 방식은 단일 요청에서는 문제없다. 하지만 .. 2026. 2. 3. 도커 헬스체크, Up 상태만 믿고 있지 않은가? 들어가며: “전부 초록불인데 왜 안 되지?”docker-compose up으로 멀티 컨테이너 애플리케이션을 실행했는데, docker ps를 보면 모든 컨테이너가 Running 상태다. 하지만 애플리케이션 로그에는 데이터베이스 연결 실패 오류가 쌓인다. 겉으로 보면 전부 정상이다. 하지만 실제 서비스는 동작하지 않는다. 이 문제는 아주 흔한 오해에서 시작된다. 컨테이너가 실행 중이라는 것과, 서비스가 준비되었다는 것은 전혀 다른 의미다. 이 차이를 메우기 위해 도커에는 healthcheck 기능이 있다. 이 글에서는 도커 헬스체크를 제대로 이해하기 위해 반드시 알아야 할 4가지 핵심을 정리한다.1. Running과 Healthy는 완전히 다른 상태다가장 먼저 짚어야 할 점은,컨테이너 상태 Running과 .. 2026. 2. 1. 이전 1 다음