Uncategorized

Uncategorized

Spring Boot @Transactional

들어가며: @Transactional을 붙이면 끝이라는 착각 Spring Boot에서 @Transactional은 가장 많이 쓰이면서도 가장 많이 오해되는 어노테이션이다. “메서드에 붙이면 트랜잭션이 걸린다”는 수준에서 […]

Uncategorized

Docker Multi-Stage Build 실전

Docker Multi-Stage Build란? Docker Multi-Stage Build는 하나의 Dockerfile 안에 여러 빌드 단계(stage)를 정의하고, 최종 이미지에는 실행에 필요한 파일만 복사하는 기법입니다.

Uncategorized

NestJS + TypeORM 관계 로딩: Eager

왜 관계 로딩 전략이 중요한가 NestJS + TypeORM 프로젝트에서 Entity 간 관계(@OneToMany, @ManyToOne, @ManyToMany)는 필수입니다. 그러나 로딩 전략을 의식하지 않으면

Uncategorized

MySQL 인덱스 최적화: Covering Index

들어가며: “인덱스를 걸었는데 왜 느리죠?” MySQL 운영에서 가장 흔한 질문이다. 인덱스를 만들었지만 쿼리가 여전히 Full Table Scan을 타거나, EXPLAIN에서 type:

Uncategorized

GitHub Actions Self-Hosted

왜 Self-Hosted Runner인가 GitHub-hosted runner는 편리하지만, 빌드 시간 제한(6시간)과 무료 분수 한도, 내부 네트워크 접근 불가 등 실무에서 벽에 부딪히는

Uncategorized

Terraform Workspace

왜 Terraform Workspace를 정확히 이해해야 하는가 Terraform을 사용하는 팀이 가장 먼저 부딪히는 질문은 “dev/staging/prod 환경을 어떻게 분리할 것인가”입니다. 많은 팀이

Uncategorized

NestJS + MikroORM 쿼리 필터 활용

MikroORM Filter란 무엇인가 MikroORM의 Filter는 엔티티 조회 시 자동으로 적용되는 사전 정의 조건(pre-defined criteria)이다. 공식 문서는 이를 “데이터베이스 뷰(view)처럼 동작하지만

Uncategorized

Kubernetes NetworkPolicy

왜 NetworkPolicy가 필요한가 Kubernetes 클러스터에서 기본적으로 모든 Pod는 다른 모든 Pod와 자유롭게 통신할 수 있습니다. 공식 문서에 따르면, “네임스페이스에 정책이

Uncategorized

NestJS + TypeORM Migration 운영

왜 마이그레이션을 수동이 아닌 코드로 관리해야 하는가 NestJS + TypeORM 프로젝트에서 synchronize: true는 개발 편의를 위한 옵션이지, 운영 환경에서 사용할

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