Terraform lifecycle
들어가며: “terraform apply 했더니 리소스가 삭제됐다가 다시 생성됐어요” Terraform을 운영에서 쓰다 보면, 인프라 변경이 예상과 다르게 동작하는 순간이 온다. 보안 […]
들어가며: “terraform apply 했더니 리소스가 삭제됐다가 다시 생성됐어요” Terraform을 운영에서 쓰다 보면, 인프라 변경이 예상과 다르게 동작하는 순간이 온다. 보안 […]
들어가며: “어? 이 필드가 왜 string이죠?” NestJS 컨트롤러에서 DTO를 받았는데, 숫자여야 할 price가 문자열로 들어온다. 또는 존재하지 않는 필드가 그대로
populate를 제대로 모르면 N+1이 돌아온다 MikroORM에서 관계 데이터를 로딩하는 핵심 메커니즘은 populate입니다. TypeORM의 relations 옵션과 비슷하지만, MikroORM은 두 가지 LoadStrategy(SELECT_IN,
들어가며: 슬로우 쿼리를 “나중에 보겠다”고 미루면 생기는 일 MySQL 운영에서 성능 문제는 대부분 소수의 느린 쿼리가 원인이다. 그런데 Slow Query
왜 서버 초기 보안 설정이 중요한가 클라우드 VM이나 VPS를 생성하면 기본 상태는 보안에 취약합니다. root 계정으로 SSH 비밀번호 로그인이 가능하고,
왜 EntityRepository를 제대로 알아야 하는가 NestJS + MikroORM 프로젝트에서 EntityRepository는 데이터 접근의 진입점입니다. 그러나 TypeORM의 Repository와 달리 MikroORM은 Unit of
들어가며: kubectl이 되는데, 왜 Pod에서는 API 호출이 거부될까? Kubernetes 클러스터에서 kubectl get pods는 잘 되는데, Pod 안에서 실행한 애플리케이션이 Kubernetes
Git 브랜치 전략이란? Git 브랜치 전략은 팀이 기능 개발, 버그 수정, 릴리스를 어떤 브랜치 구조로 관리할지 정하는 규칙입니다. 전략 없이
들어가며: Interceptor가 NestJS 미들웨어와 다른 점 NestJS에서 요청/응답을 가로채는 방법은 Middleware, Guard, Interceptor, Pipe, Exception Filter 다섯 가지다. 이 중