| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
- version-control
- API
- aws
- backend
- architecture
- observability
- Kubernetes
- PostgreSQL
- JavaScript
- Ops
- NextJS
- Git
- Infra
- SRE
- Debugging
- reliability
- DevOps
- web
- react
- frontend
- Operations
- 성능
- CI
- Microservices
- database
- HTTP
- Security
- CSS
- Performance
- auth
- Today
- Total
목록2026/04/04 (4)
고민보단 실천을
HTTP 커넥션 풀/Keep-Alive 실전: 타임아웃, 재사용, 커넥션 누수로 장애 나는 패턴의외로 HTTP 커넥션(keep-alive/풀) 때문에 장애가 나는 경우가 많다. 풀 고갈/누수/타임아웃을 운영 관점에서 정리한다.OkHttp 설정 예시val client = OkHttpClient.Builder() .connectTimeout(300, TimeUnit.MILLISECONDS) .readTimeout(800, TimeUnit.MILLISECONDS) .callTimeout(1000, TimeUnit.MILLISECONDS) .connectionPool(ConnectionPool(50, 30, TimeUnit.SECONDS)) .build()커넥션 누수의 전형적인 원인응답 바디를 끝까지 ..
GitHub Actions 동시성 제어: concurrency + cancel-in-progress로 배포 경합 막기같은 환경에 배포가 동시에 돌면 마지막 커밋이 아닌 버전이 올라가거나 롤백이 뒤섞인다. concurrency로 경합을 막는 최소 설정을 정리한다.설정 예시concurrency: group: staging-${{ github.ref }} cancel-in-progress: true환경 단위로 그룹 나누기staging은 최신 커밋만 남기기(cancel-in-progress=true).prod는 순차 실행이 안전할 때가 많다(cancel-in-progress=false).그룹 키에 환경을 반드시 포함한다(섞여 취소되는 사고 방지).concurrency: group: prod-${{ gith..
프론트 번들 사이즈 줄이기: tree-shaking, code splitting, 분석 도구로 체감 성능 개선번들은 한 번 커지면 줄이기 어렵다. 측정->원인 찾기->구조 개선 순서로 접근해야 한다.code splitting 예시import { lazy, Suspense } from 'react';const AdminPage = lazy(() => import('./pages/AdminPage'));// 라우트/기능 단위로 지연 로딩tree-shaking이 망가지는 패턴commonjs 의존성이 크다(ESM 우선).barrel export(index.ts)가 사이드이펙트를 만든다.필요 없는 폴리필을 전역으로 넣는다.분석이 먼저번들 최적화는 '무엇이 커졌는지'를 먼저 보는 게 가장 빠르다. 큰 의존성 1개를..
Docker Compose 로컬 개발 환경 표준화: healthcheck, depends_on, 초기화 스크립트로컬 환경이 흔들리면 온보딩/디버깅 비용이 올라간다. Compose로 누가 돌려도 같은 환경을 만드는 방법을 healthcheck 중심으로 정리한다.depends_on의 오해depends_on은 시작 순서만 보장한다. DB가 준비됐는지는 healthcheck로 보장해야 한다.compose 예시services: postgres: image: postgres:16 healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres -d app"] interval: 3s retries: 20 api: depends_on:..
