web link: https://yoondgu.notion.site
last update: 2023.11.18

유도영 | Doyoung Yoo
BackEnd Engineer
Skills
Java, Spring, JPA, MySQL
Contact
[email protected]
GitHub
https://github.com/yoondgu
Blog
https://yoondgu.tistory.com
- 기존 코드에서 발생할 수 있는 문제점이 무엇인지 꼼꼼하게 생각하며 개발하고, 문제를 해결하고자 합니다.
- 예를 들어, 역정규화한 시간 정보를 보다 정확하게 저장하기 위해 JPA 리스너를 학습하고 적용한 경험이 있습니다.
- 부가 로직에 해당하는 이력 저장 기능 구현 시, 불필요한 의존성을 추가하지 않고자 Spring Event를 새롭게 학습하고 적용하였습니다.
- 최근 진행한 프로젝트에서는 테스트 커버리지 80% 이상을 보장하며 개발했습니다.
- 기록 기반으로 효율적이고 정확하게 소통합니다.
- 회고 및 학습 내용 등 꾸준히 기록하여, 2년간 약 200 건의 개인 블로그 글을 작성했습니다.
- 미래에도, 또 다른 팀원도 쉽게 이해할 수 있도록 이슈와 PR 본문을 상세하게 작성하며 협업합니다.
- 기록 기반의 소통은 기억보다 정확하며, 더 나은 업무 문화를 만들 수 있다고 믿습니다.
Projects
<aside>
✅ 프로젝트와 담당 업무에 대한 상세한 내용은 포트폴리오에서 확인하실 수 있습니다.
</aside>
괜찮을지도
서비스 바로가기
GitHub
프론트엔드 3명, 백엔드 4명
2023.06 ~ 2023.10 (진행중)
우아한테크코스 소속 프로젝트
지도 기반 참여형 데이터 매핑 커뮤니티 서비스
- 기획자, 팀장, 백엔드 엔지니어로 참여
- 기획, 개발 뿐만 아니라 실제로 서비스를 배포, 운영하고 유지보수
- 백엔드 엔지니어로서 서버 구축, API 개발, 성능 개선, 자동화 모두 경험
- 2023.10.20 기준 총 회원수 73명, 구글 애너리틱스 누적 접속 수 730명
- 2023.10.20 기준 테스트 커버리지 90%
담당 업무
- 일대다 연관 관계에 대한 Bulk Insert를 구현하여 쿼리 및 성능 개선
- 대상 데이터 2만 건(일대다 각각 1만 건, 1만 건) 기준 Latency 38초에서 8초로 개선, 관련 쿼리 3만개를 3개로 개선
- JPA 생명주기를 활용한 업데이트 일시에 대한 역정규화 컬럼 정합성 보장
- 서비스 계층에서는 역정규화한 데이터의 정합성을 신경쓸 필요 없이 비즈니스 로직에 집중
- 데이터 변환 및 API 호출 어플리케이션을 개발해 다량의 장소 데이터 이관 자동화
- 필요한 구글맵 데이터가 있으면 쉽게 우리 서비스의 특정 지도에 저장할 수 있음
- Spring Event를 활용해 기존 코드 수정 없이 데이터 변경 이력 저장 기능 추가 구현
- 코드 변경 범위가 적어 다른 기능에 영향을 끼치지 않고 빠르게 추가 구현 가능
- JPA 지연 로딩 시 Soft Delete 여부와 관계 없이 모두 조회하는 버그 해결
- 빠른 디버깅과 근본적 문제 해결 방법을 비교하고 더 좋은 선택을 하는 경험
- 다양한 플랫폼을 쉽게 적용할 수 있는 Oauth 2.0 소셜 로그인 기능 개발
- 디자인 패턴을 활용해 확장에 유연한 구조로 기능을 구현하는 경험
- 커스텀 예외 적용 및 예외 처리 구현
- 예외 사항을 유형 별로 정리하고, 여러 사람이 작성하는 코드에서 예외 처리의 일관성을 맞춰 나가는 경험
- Logback을 이용한 실행 환경 별 로그 모니터링 전략 개선 및 용량 부담 저하
- 로그 설정으로 인한 성능 저하 없이, 클라우드 워치 연결하여 쉽고 빠른 로그 모니터링 구축 가능
- 지속적인 코드 통합 및 배포 자동화를 통해 개발 프로세스 생산성 향상
- GitHub Actions Runner 활용하여 EC2 내 직접 빌드할 때보다 메모리 사용량 14% 절감
- Docker를 활용한 Blue-Green 무중단 배포 도입으로 서비스 중단 현상 개선
- 새 버전 배포 시, 약 10초였던 다운타임 없이(약 0.1초 이하) 서비스 사용 가능
Activities