Java와 Spring을 기반으로 업무 규칙을 데이터 구조와 API로 구현하고, 테스트와 배포 절차를 통해 운영을 고려한 서비스로 만듭니다.
| 분야 | 기술 |
|---|---|
| Backend | Java 21, Spring Boot, Spring MVC, Spring Security, JPA |
| Data | PostgreSQL, PostGIS, Redis, Flyway |
| Delivery | GitHub Actions, Docker, GHCR, AWS EC2, GCP VM |
| Quality | JUnit 5, MockMvc, Testcontainers, JaCoCo |
| Observability | Micrometer Tracing (OpenTelemetry), Tempo, Loki, Alloy, Grafana |
위굴 Backend · SaGongSa-404/404_BE
예산, 위시, 구매 결정, 알림, 회고가 하나로 이어지는 소비 의사결정 서비스
📱 Google Play 출시 · 위굴 다운로드
- 구매 결정(GO/STOP), 예산, 알림 상태를 단일 트랜잭션으로 갱신하고 CHECK, partial unique index, trigger로 DB 불변조건 보장
- Idempotency-Key + partial unique index로 더블탭과 timeout 재시도에 따른 중복 생성 방지
- GCP VM standby 배포: 8081 후보 기동 → Health Check → Caddy 전환 → 8080 복귀, 실패 시 자동 복구
- 쇼핑 링크 가져오기를 비동기 작업 큐로 전환하고 요청 병합, 단기 캐시, 부하 테스트로 검증
Beach Complex · Beach-complex/Beach_complex
위치 기반 해수욕장 정보, 혼잡도 수집, 예약과 알림을 제공하는 서비스
- 외부 혼잡도·날씨 데이터를 30분 주기로 수집하고, 관측 이력과 현재 상태를 분리 저장
- 예약 동시 요청 10건 → 201 1건 / 409 9건 / DB row 1건을 통합 테스트로 검증 (DB UNIQUE + ProblemDetail 오류 계약)
- AWS EC2 CD: Docker Buildx → GHCR(commit SHA 태그) → Compose 배포 → Actuator Health 확인
- 분산 추적: HTTP, 비동기 이메일, SMTP, Scheduler 구간의 Trace 계측과 Loki·Grafana 로그↔Trace 연결
Java 오픈소스 31개 프로젝트에 34개 PR이 머지되었습니다. 대부분 엣지 케이스 버그 수정이며, 재현 테스트를 함께 제출했습니다.


