Uncategorized

Uncategorized

Spring Boot Profiles

Profile이 해결하는 문제: 환경별 설정 분리 개발, 스테이징, 프로덕션 환경은 데이터베이스 주소, 로그 레벨, 외부 API 엔드포인트가 다르다. 코드를 환경마다 […]

Uncategorized

NestJS + MikroORM Events

MikroORM 이벤트 시스템 개요: 왜 Lifecycle Hook이 중요한가 운영 환경에서 엔티티가 생성·수정·삭제될 때 자동으로 타임스탬프를 기록하거나, 감사 로그를 남기거나, 관련

Uncategorized

Kubernetes Service: ClusterIP

Service가 필요한 이유: Pod IP의 불안정성 Kubernetes에서 Pod는 생성될 때마다 새로운 IP를 받는다. Deployment가 롤링 업데이트를 수행하면 기존 Pod는 삭제되고

Uncategorized

NestJS + TypeORM Soft Delete

왜 Soft Delete인가: 물리 삭제 대신 논리 삭제를 선택하는 이유 운영 환경에서 데이터를 DELETE FROM으로 물리 삭제하면 복구가 불가능합니다. 감사

Uncategorized

NestJS Guard: CanActivate

Guard가 하는 일: 요청의 실행 여부를 결정하는 단일 책임 NestJS에서 Guard는 요청이 라우트 핸들러에 도달하기 전에 “이 요청을 처리해도 되는가?”를

Uncategorized

MySQL InnoDB Buffer Pool 튜닝

왜 Buffer Pool 튜닝이 중요한가 InnoDB는 디스크 I/O를 줄이기 위해 데이터 페이지와 인덱스 페이지를 메모리에 캐싱한다. 이 캐시 영역이 Buffer

Uncategorized

NestJS + TypeORM 컬럼 타입

왜 컬럼 타입 설계가 중요한가 NestJS + TypeORM 프로젝트에서 @Column()은 가장 많이 쓰는 데코레이터입니다. 그러나 기본 string, number만 쓰다 보면

Uncategorized

Spring Boot HikariCP 커넥션 풀

들어가며: “커넥션 풀이 다 찼습니다” — 가장 흔한 운영 장애 Spring Boot 애플리케이션에서 HikariPool-1 – Connection is not available, request

Uncategorized

NestJS + TypeORM QueryBuilder

왜 QueryBuilder를 깊이 알아야 하는가 TypeORM의 find() 계열 메서드는 간단한 CRUD에 적합하지만, 서브쿼리, 복합 조건, 집계, Raw SQL 표현식이 필요한

위로 스크롤
WordPress Appliance - Powered by TurnKey Linux