PCG.dev

Technical Blog

배운 것을 기록하고
다시 사용할 수 있게 만듭니다.

백엔드, 데이터베이스, 클라우드 인프라를 다루며 발견한 원리와 트러블슈팅을 정리합니다.

#AWS#Backend#Cache#Database#DevOps#Flyway#Infrastructure#JPA#MySQL#Performance#Redis#Spring Boot#Terraform
2026년 8월 23일

28분

ddl-auto=update에서 Flyway로: 개발·운영 DB 스키마 불일치를 정리하고 안전하게 전환하기

Hibernate ddl-auto=update로 달라진 개발·운영 DB 스키마를 비교하고, 백업·복구 리허설과 baseline migration을 거쳐 Flyway와 ddl-auto=validate로 안전하게 전환한 과정을 정리합니다.

FlywaySpring BootJPADatabase
2026년 8월 13일

22분

[Redis] 메시지 캐시를 지우지 않고 읽음 상태를 관리

메시지의 readCount를 직접 갱신하는 대신 사용자별 lastReadMessageId 포인터를 Redis Hash로 관리해 캐시 정합성과 조회 성능을 함께 확보한 과정을 정리합니다.

RedisSpring BootCacheBackend
2026년 7월 18일

8분

[Redis] 채팅방 목록 조회 API 성능 개선 — 서브쿼리와 GROUP BY에서 Redis 캐싱으로 해결하기

채팅방 목록 조회에서 안읽음 메시지 수를 계산하던 MySQL 쿼리의 병목을 Redis 캐시로 대체해 성능을 크게 개선한 과정을 정리합니다.

RedisMySQLPerformanceBackend
2026년 7월 18일

7분

[Terraform] 운영 서버 무중단 인프라 리팩토링: 프로젝트 간 참조 제거

공유 NAT 인스턴스를 homepage와 ssuport에서 분리하고, Terraform state만 옮겨 운영 환경 다운타임 없이 무중단 마이그레이션한 과정을 기록합니다.

TerraformAWSInfrastructureDevOps
2026년 7월 17일

12분

[Terraform] 운영서버 구축을 위한 가이드

공용 global 계층과 서비스 계층을 분리하고, 도메인부터 S3·CloudFront·Shared ALB·Private EC2까지 운영 인프라를 구축한 과정을 정리합니다.

TerraformAWSInfrastructure