Uncategorized

Uncategorized

Git 브랜치 전략 비교: Git Flow

Git 브랜치 전략이란? Git 브랜치 전략은 팀이 기능 개발, 버그 수정, 릴리스를 어떤 브랜치 구조로 관리할지 정하는 규칙입니다. 전략 없이 […]

Uncategorized

NestJS Interceptor: Logging

들어가며: Interceptor가 NestJS 미들웨어와 다른 점 NestJS에서 요청/응답을 가로채는 방법은 Middleware, Guard, Interceptor, Pipe, Exception Filter 다섯 가지다. 이 중

Uncategorized

NestJS + TypeORM 엔티티 관계 설계

왜 Subscriber와 Entity Listener를 알아야 하는가 NestJS + TypeORM 프로젝트에서 “엔티티가 저장/수정/삭제될 때 부가 로직을 실행”해야 하는 상황은 반복됩니다. 감사

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시간)과 무료 분수 한도, 내부 네트워크 접근 불가 등 실무에서 벽에 부딪히는

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