소개
성장을 가장 중요한 목표로 삼고, 이를 위해 다양한 교육 과정과 학습 활동에 적극적으로 참여해 왔습니다. 다양한 프로젝트 중심의 교육을 통해 단순 이론 학습에 그치지 않고, 실제로 설계하고 구현하며 문제를 마주하는 경험을 쌓고자 노력했습니다.
또한 IT 출판사 서평단 활동과 온라인 강의 플랫폼의 기술 이벤트, 개발 행사 등에 꾸준히 참여하며 새로운 기술과 개념을 빠르게 접하고 정리하는 학습 습관을 만들어 왔습니다.
기술적인 기능 구현보다 “사용자 경험”과 “구성원의 경험”를 중요하게 생각합니다. UI/UX 흐름에 맞춘 API 설계, 불필요한 요청을 줄이기 위한 응답 구조 개선, 안정적인 사용자 경험을 위한 서버 측 구조 분리 등을 시도해 왔습니다.
학습을 일회성 경험으로 끝내지 않고, 기록과 문서화를 통해 스스로 설명할 수 있는 지식으로 남기는 것을 중요하게 생각하며 지속적으로 성장할 수 있는 개발자가 되고자 합니다.
프로젝트
담당 주요 기능 및 기술 의사 결정
- 모임 도메인 핵심 기능 설계·구현으로 생성·참여·종료 전 과정 자동화, 운영 개입 0회 유지
- 업로드를 Pre-upload → Consume 구조 설계로 분리해 트랜잭션 독립성 확보
- WebP 변환 및 리사이징으로 스토리지 사용량 절감 및 호환성 강화, 약 70% 사용량 절감
- Redis TTL 기반 임시 이미지 관리로 미사용 이미지 자동 정리, 운영 개입 0회 유지
- Redis SETNX + TTL 기반 쿨다운 제어로 중복 요청 100% 차단, 실패 시 즉시 재시도 가능한 UX 보장
- 스케줄링 기반 상태 전환 및 벌크 업데이트 적용으로 대량 처리 시 쿼리 수 N → 1 감소
- SSE 기반 모임 알림 구축 및 AFTER_COMMIT 처리로 알림-데이터 불일치 0% 유지
- RFC 7807 기반의 일관된 에러 응답과 예측 가능한 실패 관리
- FrontEnd·UI/UX 협업 환경에서 Swagger 기반 API·스키마 명세 주도로 커뮤니케이션 이슈 70~80% 감소
- GitHub Actions 기반 CI/CD 구축으로 배포 자동화
- Copilot, CodeRabbit Code Review 도입으로 PR 단계 품질 검증, 운영 실수 및 긴급 수정 최소화
- AWS Lightsail + Docker Compose 단일 서버 전략으로 월 인프라 비용 약 50,000원 → 0원 절감
- Prometheus·Grafana 및 HTTPS 구성으로 지표 가시화, 장애 원인 분석 시간 체감상 수 배 단축
기술 스택
- Java 21, Spring Boot 3.5.8, Spring Web, Validation, WebSocket, SSE,
- Spring Data JPA, QueryDSL, MySQL, H2, Spring Data Redis
- Spring Security, JJWT
- Swagger, OpenAPI
- Docker Compose, GitHub Actions, AWS RDS, AWS S3, AWS EC2
- WebP, Thumbnailator, ImageIO
- Actuator, Micrometer, Prometheus, Grafana
- Copilot, CodeRabbit
트러블슈팅
- 모임 목록 조회 API: 커서 기반 페이징과 N+1을 설계 구조로 해결하기
- fetch join 대신 Projection + IN 쿼리 설계로 모임 목록 조회 API의 N+1을 구조적 설계로 제거
- 요청당 쿼리 수 약 100건 → 3(비회원) ~ 4(회원)건으로 고정으로 예측 가능한 쿼리 실행으로 개선
- 커서 기반(size+1) 페이징 적용으로 무한 스크롤 환경에서도 페이징 안정성과 성능 확보
- 이미지 로딩 속도와 크기 70% 단축: WebP 변환부터 Redis 프리업로드로 URL을 보증하기
- 이미지 업로드 시 WebP 변환 + 용도별 리사이징을 적용해 이미지 로딩 속도 개선 및 크기 약 70% 단축
- Pre-upload + Redis TTL + consume 구조로 이미지를 서버가 보증, 미사용 이미지는 GC로 자동 정리 구현
- 업로드 실패 이슈를 Nginx·애플리케이션 설정까지 포함해 해결, 안정적인 이미지 업로드 파이프라인 구축
- 모임 참가 신청 API: 모임 최대 참가자 수 동시성 문제 해결하기
- 모임 참가 API에서 멀티스레드 환경으로 인해 발생하는 레이스 컨디션 문제를 분석
- 모임(Group)을 기준으로 PESSIMISTIC_WRITE 락을 적용해 정원 체크 구간을 직렬화
- 즉시 참석, 승인제 정책에 따라 정원 체크 시점을 분리해 트랜잭션 정합성 확보
소개
코드잇 주관 KDT FrontEnd 단기심화 교육 과정에서 협업 프로젝트에 참가하여 6주(2025.11.25(화) - 2026.01.05(월)) 진행한 프로그램입니다.
FrontEnd 5명, BackEnd 2명, UI/UX 1명으로 총 8명 인원들로 구성되어 있습니다. 코드잇으로부터 소정의 활동비를 지급받고 BackEnd 담당으로 프로젝트에 참여습니다.
프로그램 종료 이후에도, 모든 인원들과 함께 개발하고 있는 중입니다.
담당 주요 기능 및 기술 의사 결정
- Spring Cloud 기반 MSA 구조에서 회원·쿠폰 도메인 설계 및 핵심 비즈니스 로직 구현
- API Gateway + Eureka 기반 서비스 라우팅 및 디스커버리 구성
- 공통 DTO, 에러 포맷, API 버전 관리 체계 정립으로 서비스 간 일관성 확보
- Spring Security + JWT 기반 인증/인가 구현 및 역할별 접근 제어 설계
- Coupon, CouponPolicy 모델링과 발급·사용 정책 비즈니스 로직 구현
- Soft Delete, 감사 로그(Auditing), ZonedDateTime 기반 타임존 일관성 적용
- 쿠폰 발급 동시성 문제를 단계적으로 개선하며 구조적 이해 및 안정성 강화
- Redis, Kafka 도입을 통해 대량 트래픽 환경을 고려한 발급 아키텍처 설계
- Prometheus + Grafana 기반 모니터링 구성 및 Slack 알림 연동으로 운영 가시성 확보
기술 스택
- Java 17, Spring Boot 3.x, Spring Cloud (Eureka, OpenFeign)
- Spring Security, JWT
- Spring Data JPA, QueryDSL, PostgreSQL
- Redis 7, Redisson, Kafka 3.x
- Docker Compose
- Prometheus, Grafana, SpringDoc OpenAPI
트러블슈팅
- DB 비관적 락 기반 쿠폰 발급 로직에서 발생한 경합·중복 발급 문제 분석
- @Transactional + PESSIMISTIC_WRITE 적용으로 발급 정합성 확보
- Redis Atomic 연산 및 분산 락 도입으로 발급 재고 감소 과정의 레이스 컨디션 완화
- Kafka 기반 Producer/Consumer 구조로 발급 요청 처리 분리 및 트래픽 스파이크 흡수
- 모니터링 지연 문제를 비동기 처리로 전환해 운영 대응성 개선
소개
스파르타 내일배움캠프 스프링 심화 3기 프로젝트 교육 과정에서 진행한 팀 프로젝트입니다. 4인 팀으로 구성된 MSA 기반 이커머스 플랫폼 개발 프로젝트이며, BackEnd 개발자로 참여해 회원 및 쿠폰 도메인을 담당했습니다. 프로젝트 기간 동안 단순 기능 구현을 넘어, 동시성·확장성·운영 관점에서의 설계와 개선 경험을 목표로 단계적인 아키텍처 고도화를 진행했습니다.
기술 스택
BackEnd
- Java 21
- Spring Boot 3.x, Spring Security 6.x
- Spring Data JPA, QueryDSL 5.x
- Prometheus, Grafana
- SSE, Socket
- Gradle
- IntelliJ
DevOps
- MySQL 8.x, PostGreSQL, Redis
- Github Action
- AWS
- Git
Frontend
- HTML, CSS, JavaScript
학력
1998년 설립한 한국공학대학교는 대한민국 산업통상부의 주관, 경기도 시흥시에 설립된 이공계 특화 4년제 국책형 사립 종합대학교 입니다.
대학 재학 시절, 저는 팀워크와 마감 기한을 준수하는 능력 등 제 경력 전반에 걸쳐 도움이 된 핵심 역량들을 많이 배웠습니다. 대학 생활을 진심으로 즐겼고, 건강한 일과 삶의 균형에 대해서도 많은 것을 배웠습니다. 여가 시간에는 주로 헬스 운동을 했습니다.
안드로이드, 임베디드, 컴퓨터비전, LLM 등 다양한 여러 분야의 교육 수료 및 프로젝트 경험한 덕분에, 백엔드 영역에 매료되어 졸업 후에 첫 백엔드 개발 공부를 시작했습니다.
동안고등학교
고등학교
2010.03 - 2013.02
1993년 설립된 동안고등학교는 경기도 안양시 동안구에 위치한 공립 일반계 고등학교입니다.
- 고등학교 졸업
이력
자격증
- 정보처리기사 — 2023.11 · 최종합격 · 한국산업인력공단
- SQL개발자(SQLD자격) — 2023.10 · 최종합격 · 한국데이터베이스진흥센터
- 정보처리산업기사 — 2017.11 · 최종합격 · 한국산업인력공단
- 네트워크관리사 2급 — 2017.06 · 최종합격 · 한국정보통신자격협회
- 컴퓨터활용능력 1급 — 2017.04 · 최종합격 · 대한상공회의소
병역사항
2014.12 - 20216.09
- 3사단 육군 병장 만기 제대
교육
교육: 스프링 심화 3기
스파르타 내일배움캠프
2025.02.03(월) - 2025.04.25(금)
KDT 심화 과정으로 온라인, 풀타임으로 진행된 백엔드 교육 부트캠프입니다.
교육 과정
- Java/Spring 기반 백엔드 개발부터 MSA, 성능·운영·보안까지 실무 중심으로 학습한 심화 과정
- Java / Spring 기반 백엔드 개발 및 MSA(마이크로서비스 아키텍처) 설계·운영 역량 집중 학습
- 인증, 캐시, 비동기 처리, 모니터링 등 실무 핵심 주제를 팀 프로젝트 중심으로 반복 적용
학습 내용 및 실습 역량
- Backend Core
- Java, Spring Boot 기반 REST API 설계 및 구현
- JPA, QueryDSL을 활용한 데이터 접근 및 조회 최적화
- JWT 기반 인증·인가 구조 이해 및 적용
아키텍처
- MSA 기본 개념 이해 및 Spring Cloud(Eureka) 기반 서비스 디스커버리 실습
- 서비스 간 통신 구조 설계 및 확장성 고려
성능 및 확장성
- Redis 캐시 활용 전략 및 비동기 처리 기본 원리 학습
- 메시지 큐를 활용한 부하 분산 개념 이해
DevOps · 운영
- Github 기반 CI/CD 파이프라인 구성 실습
- Prometheus · Grafana를 활용한 모니터링 기초
품질 · 안정성
- 시큐어 코딩 원칙 및 동시성 제어(Lock) 기초 학습
- 장애 예방을 고려한 서비스 운영 관점 습득
활동
리뷰 & 서평단 활동
2026
서평단으로 선정되어 도서를 무료로 지원받아 솔직하게 쓴 글입니다.