미리보기
기본 정보

자기소개
시행착오를 겪더라도 끈질기게 문제를 해결하고, 그 과정에서 오는 성취감을 좋아합니다.
대학교에서 56명 중 유일하게 라운드 로빈 스케줄링 구현 과제를 성공적으로 수행하였습니다.
동시성 문제에서 만난 데드락의 원인을 파악하기 위해 MySQL의 락 메커니즘을 깊이 학습하고, 비즈니스 상황에 적합한 해결책을 제시하였습니다.
반정규화 및 쿼리 튜닝을 통해 데이터 조회 성능을 최대 659배 개선하였습니다.
협업의 중요성을 깊이 이해하고, 팀원들과 원활한 소통과 협력을 하기 위해 노력합니다.
주변 동료로부터 “항상 밝고 유쾌한 모습을 통해 팀에 긍정적인 영향을 끼친다” 라는 피드백을 가장 많이 받았습니다.
백엔드 팀의 빠른 속도로 인해 프론트엔드 팀이 테스트 코드 작성과 리팩토링을 제대로 수행하지 못하는 상황이 발생했습니다. 이때 애자일의 '지속 가능한 속도'를 제안하여 프로젝트의 장기적인 품질을 향상시켰습니다.
머지된 PR 리뷰, 테크 로그 공유, 페어 프로그래밍 등을 통해 팀 내 업무 동기화를 강화하였습니다.
프로젝트
투룻
우아한테크코스
2024.07. ~ 진행 중
우아한테크코스 6기에서 진행한 프로젝트입니다.
투룻은 여행 계획과 여행기를 간편하게 관리할 수 있는 플랫폼입니다. 사용자는 마음에 드는 여행기를 클릭 한 번으로 나만의 여행 계획으로 변환할 수 있습니다.
미리 준비된 템플릿을 통해 쉽게 여행기를 작성하고, 작성한 계획은 링크를 통해 친구들과 공유할 수 있습니다.
프로젝트 정보
Java, Spring boot, JPA, MySQL, Flyway, Docker, Github Actions, Ngnix, AWS, Prometheus, Grafana
팀 구성 : 백엔드 5명, 프론트엔드 3명
담당 업무
여행기 장소가 중복 저장되는 동시성 문제를 해결하기 위해 다양한 해결책(S/X 락, 트랜잭션 격리수준 조정) 검토, 비즈니스 특성을 고려하여 역정규화로 문제 해결
슬로우 쿼리 개선을 위해 GROUP BY와 JOIN의 순서를 재설계하고 NL JOIN의 드라이빙 테이블을 조정, 쿼리 성능을 최대 264배(1850ms → 7ms) 향상
가장 많이 조회되는 좋아요 순 정렬 API에서 MySQL의 인덱스를 활용하지 못하는 문제 발생, 반정규화를 통해 쿼리 성능 659배(1557ms → 2.36ms) 향상
서버 장애로 EC2 재부팅 시 외부에서 SSH 접속을 못하는 상황 발생, 스프링 애플리케이션이 자동으로 실행되도록 systemd 서비스 구축
서버 장애 발생 시 수동 복구로 인한 느린 대응 발생, CloudWatch와 Lambda로 자동 복구 시스템을 구축하여 장애 대응 시간 단축
다운 타임 최소화를 위해 GitHub Actions, Nginx를 이용한 블루 그린 방식의 graceful shutdown 무중단 배포 구축
SPOF 문제 해결을 위해 서버 다중화 및 DB Replication 작업 수행
팀 내 컨텍스트 공유 부족 문제를 테크 로그 작성, 코드 리뷰 규칙, 페어 프로그래밍으로 해결
교육
광운대학교
대학교(학사) | 전자융합공학과/소프트웨어학부
2017.03. ~ 현재 | 재학 중
대외활동
우아한테크코스 6기 BE
우아한테크코스
클린 코드, 객체지향 프로그래밍, 리팩터링, 테스트 코드에 대한 심층 학습
페어 프로그래밍 및 코드 리뷰를 통한 협업 경험
매주 회고 및 동료 피드백을 하는 유연성 강화 스터디로 소프트 스킬 향상
Tomcat, Spring MVC, JDBC를 밑바닥부터 직접 구현하며 동작 원리 학습
기술 스택
Java, Spring Boot, JPA, AWS, github-actions, MySQL