본문 바로가기
전체 1608
1344
Infra2분 읽기
무중단 배포, blue-green과 rolling 쉽게 이해하기
배포 때마다 잠깐 끊기는 걸 없애는 두 가지 전략. 트래픽 전환·헬스체크·롤백 관점에서 비교한다.
#Deployment#BlueGreen#DevOps
2026.06.19
1343
Infra2분 읽기
GitHub Actions가 느리다 — 캐시로 빌드 시간 줄이기
매번 의존성을 새로 받으면 CI가 길어진다. actions/cache·setup 캐시·도커 레이어 캐시로 절반 이하로 단축.
#CI/CD#GitHubActions#Cache
2026.06.19
1342
Infra2분 읽기
Docker Compose 컨테이너끼리 통신이 안 될 때
localhost로 다른 컨테이너를 부르면 실패한다. 같은 네트워크의 서비스명으로 접속, depends_on의 한계까지.
#Docker#Compose#Networking
2026.06.19
1341
Infra2분 읽기
systemd 서비스로 앱을 안정적으로 띄우기
pm2 대신 systemd로 충분하다. 자동 재시작·부팅 시 실행·로그·보안 격리(ProtectSystem)까지 유닛 작성 가이드.
#systemd#Linux#Deployment
2026.06.18
1340
Infra2분 읽기
리눅스 디스크가 꽉 찼다 — 범인 찾기
No space left on device. du·df·로그·삭제됐지만 열린 파일·inode 고갈까지 단계적으로 원인을 추적한다.
#Linux#Disk#Troubleshooting
2026.06.18
1339
Infra3분 읽기
Docker 이미지 용량 줄이기 — 멀티스테이지 빌드
1GB 넘는 Node 이미지를 100MB대로. 멀티스테이지·alpine·.dockerignore·레이어 순서로 빌드 도구를 최종 이미지에서 뺀다.
#Docker#Optimization#DevOps
2026.06.17
1338
Infra2분 읽기
Let's Encrypt 인증서 자동 갱신, 만료로 사이트 죽이지 않기
90일 인증서는 자동 갱신이 핵심. certbot 타이머 동작 확인, 갱신 후 nginx reload, dry-run 점검까지.
#HTTPS#TLS#certbot
2026.06.17
1337
Infra2분 읽기
nginx 502 Bad Gateway, 원인부터 잡기
502는 nginx가 업스트림(앱)에서 정상 응답을 못 받았다는 뜻. 앱 다운·소켓 경로·타임아웃·권한 순으로 점검한다.
#nginx#Reverse Proxy#Debugging
2026.06.17
1336
Database2분 읽기
무중단으로 컬럼 추가하기 — 안전한 마이그레이션
NOT NULL+DEFAULT를 큰 테이블에 한 번에 걸면 잠금으로 장애가 난다. 단계적(expand-contract) 마이그레이션 절차.
#Migration#PostgreSQL#ZeroDowntime
2026.06.16
1335
Database2분 읽기
소프트 삭제 vs 하드 삭제, 무엇을 선택할까
deleted_at 컬럼으로 숨기는 소프트 삭제는 복구·감사에 좋지만 쿼리·유니크 제약·용량 부담이 따른다. 기준 정리.
#Database#SoftDelete#Design
2026.06.16
1334
Database2분 읽기
EXPLAIN ANALYZE 읽는 법 — 느린 쿼리 진단
Seq Scan·Nested Loop·actual time·rows 추정 오차. EXPLAIN ANALYZE에서 진짜 병목을 찾는 읽기 순서.
#PostgreSQL#EXPLAIN#Performance
2026.06.16
1333
Database2분 읽기
복합 인덱스 컬럼 순서, 왜 중요한가
복합 인덱스 (a,b)는 a로 시작하는 조건엔 쓰이지만 b만으론 못 탄다. 등호·범위·정렬을 고려한 순서 설계.
#Index#PostgreSQL#Performance
2026.06.15