홈시리즈멘토링

© 2026 정기창. All rights reserved.

본 블로그의 콘텐츠는 CC BY-NC-SA 4.0 라이선스를 따릅니다.

☕후원하기소개JSON Formatter러닝 대기질개인정보처리방침이용약관

© 2026 정기창. All rights reserved.

콘텐츠: CC BY-NC-SA 4.0

☕후원하기
소개|JSON Formatter|러닝 대기질|개인정보처리방침|이용약관

기창의 블로그15페이지

PHP에서 Time Travel 테스트 구현하기: 미래 시점 결제 시뮬레이션

정기결제 시스템을 테스트하기 위해 PHP에서 시간 조작 테스트를 구현한 경험. HTTP 헤더를 활용한 가상 시간 설정과 배치 시뮬레이션 방법을 정리했습니다.

2026. 1. 16.

월말 정기결제의 함정: 31일→28일→31일 문제 해결하기

1월 31일에 시작한 정기결제의 2월 결제일은? 월마다 다른 마지막 날짜로 인한 정기결제 시스템의 엣지 케이스와 "원래 의도 보존" 전략을 통한 해결 방법을 공유합니다.

2026. 1. 15.

NestJS에서 Drizzle ORM을 선택한 이유: TypeORM, Prisma와의 비교

새로운 SaaS 모듈에 MySQL을 도입하면서 TypeORM, Prisma, Drizzle ORM을 비교했습니다. 각 ORM의 장단점과 Drizzle을 선택한 이유를 실제 코드 예시와 함께 정리했습니다.

2026. 1. 14.

UNION ALL로 분산된 이벤트 로그 통합하기

여러 테이블에 분산된 이벤트 로그를 통합 타임라인으로 제공해야 했습니다. UNION ALL로 SQL 레벨에서 통합하고, TypeScript Discriminated Union으로 타입 안전성을 확보한 경험을 정리했습니다.

2026. 1. 13.

NestJS 슬로우 쿼리 자동 감지: 스택 트레이스 캡처부터 Slack 알림까지

슬로우 쿼리가 발생했을 때 SQL은 쉽게 알 수 있지만, 어디서 호출했는지는 파악하기 어렵습니다. Knex Proxy 패턴으로 호출 스택을 자동 캡처하고 Slack으로 알림받는 시스템을 구현했습니다.

2026. 1. 12.

TypeScript verbatimModuleSyntax 마이그레이션 실전 가이드

TypeScript 5.0의 verbatimModuleSyntax 옵션을 모노레포 프로젝트에 적용하면서 배운 것들을 정리했습니다. 타입과 값의 import를 명확히 구분하는 것이 왜 중요한지, 그리고 실제 마이그레이션 과정에서 마주친 패턴들을 공유합니다.

2026. 1. 11.

k6와 실시간 Pool 모니터링으로 시스템 한계점 찾기

k6로 시스템 한계점을 찾는 Breakpoint 테스트와 NestJS Connection Pool 실시간 모니터링 시스템을 구현한 경험. 최적 RPS를 찾기까지의 과정을 정리했습니다.

2026. 1. 10.

NestJS 마이크로서비스 부하테스트: 전략 설계와 7가지 요구사항

Production 환경을 로컬에서 재현하여 시스템 한계점을 찾는 부하테스트 전략을 설계한 경험. 7가지 요구사항 정의부터 아키텍처 설계까지의 과정을 정리했습니다.

2026. 1. 9.

macOS에서 OCI HeatWave MySQL 접속하기: Bastion SSH 터널 설정 가이드

Oracle Cloud HeatWave MySQL에 로컬에서 접속하기 위한 OCI CLI 설정과 Bastion SSH 터널 구성 과정을 정리했습니다. API 키 등록부터 터널 스크립트 작성, 트러블슈팅까지 전체 흐름을 다룹니다.

2026. 1. 8.
<이전1...131415161718>다음