
📱 010-2034-0448
📧 [email protected]
https://github.com/dlqhdnjs5
안녕하세요 시도를 좋아하는 개발자 이보원 입니다.
- Java, Kotlin, Web Flux, Spring, MySQL, Kafka, Linux 등을 사용 하며 확장성과 유지 보수, 내부의 견고함을 고민해온 7년차 백엔드 개발자 입니다.
- 3년간 E-commerce 프로젝트를 경험하고, 그 후 Naver의 인프라 시스템들을 유지 보수/운영 을 맡아 오며 다양한 경험을 쌓아 왔습니다.
- 한 시스템의 설계, 구축부터 IDC 이중화, 성공적인 오픈 까지의 경험이 있으며 다양한 프로젝트에서 동료들을 이끌며 설계부터 배포 시나리오 작성, 무중단 배포까지의 작업을 주도하였습니다. 이를 통해 팀의 효율성을 높이고 프로젝트를 성공적으로 이끌어내 왔습니다.
- 꾸준한 코드 리뷰, 페어 코딩, 문서화 등을 통해 코드 품질, 개발 능력을 높이고 동료들의 의견을 적극 수용하여 시스템을 안정적이고 효율적으로 유지 하는 것에 보람을 느낍니다.
- 항상 주인 의식을 갖고 업무에 임하며 함께 성장하는 문화를 존중합니다.
SKILL
Backend Development
Java
Kotlin
WebFlux
Spring Framework
Spring Boot
Mybatis
JPA
Frontend Development
JavaScript
jQuery
TypeScript
React.js
Next.js
Database & Messaging
DevOps & Tools & Cloud
AWS
Naver Cloud
Apache
Nginx
PROJECT
엔테크서비스
백엔드 개발자 / 대리
📅 2021.04.21 ~ 재직중
네이버 서버 관제 시스템 고도화
네이버 사내 서버 및 URL들의 실시간 metric 차트노출, metric 상태 모니터링 설정 및 알림 시스템에 대한 고도화로써 서버 및 화면을 같이 개발 하였습니다.
📅 2021.04.21 ~ 진행중 / TO: 5 / 팀원
주요 기여
- Kafka 클러스터, 모듈 서버 IDC 이중화 작업 및 HA 구축
- IDC 재난 상황에 대비한 Kafka 클러스터 및 Consumer 모듈의 이중화 ****프로젝트를 주도하여 설계하고 구현까지 이끌었습니다 .
프로젝트 초기 단계부터 위기 시나리오를 직접 작성하고, Active-Active 형태의 구조로 이중화를 설계하며, 장애 감시 기능으로 IDC간 Health Check 개발 및 Failover 기능을 개발 하였습니다.
이를 통해 안정성을 강화하여 서비스 연속성이 보장되고, 장애 발생 시 신속한 복구가 가능해졌습니다.
- 레거시 프레임워크를 Spring Boot로 전환 및 데이터베이스 마이그레이션
- Struts2 기반의 Lucy 프레임워크에서 운영 중인 레거시 시스템을 Spring Boot 기반으로 전환하였습니다.
프로젝트 구조는 모놀리식한 형태에서 계층형 아키텍처(Controller-Service-Repository) 로 재정비하였고, 필요에 따라 도메인 분리도 함께 고려하였습니다.
- 기존에는 Action 중심의 구조로 각 요청을 처리하고 있었으나, 이를 RESTful API 기반의 Controller 구조로 개편하였으며 XML 설정을 Java Config, 어노테이션 기반으로 변경하여 모듈화 및 유지보수성을 향상 시켰습니다.
- Kafka Consumer Lag 모니터링 기능 개발
- Spring Batch와 Kafka AdminClient를 활용하여 파티션별 Lag 현황을 시각화하여 모니터링 효율성을 향상시켰습니다.
- 커스텀 어노테이션, AOP, 리플렉션을 사용한 OPEN API의 시간대별 데이터 처리 기능 확장
- 커스텀 어노테이션, AOP, 리플렉션을 통해 특정 API을 사용하는 다양한 시간대의 사용자들에게 정확한 데이터를 제공할 수 있게 되며, 로직을 단순화하여 서비스의 유연성과 외부 사용자 이용률을 향상 시켰습니다.
- 배치 성능 최적화
- 스프링 배치 데이터 처리 구조 변경 및 멀티 쓰레드 사용 등을 통해 20분 이상 소요되는 배치들을 5분 미만으로(75%) 단축시켰습니다
- 관리자 메뉴 개발을 통한 세분화된 권한 관리 기능 구현
- 시스템 내 관리자 메뉴를 개발하여 컨트롤러 및 메서드 단위로 접근을 통제하는 세분화된 권한 관리가 가능토록 개발. 이를 통해 보안성이 강화되고, 사용자별 맞춤형 접근 제어가 가능하게 되었습니다.
- 스케일 아웃 시 서버 환경 구축 및 버전 업 자동화 기능 제공
- 쉘 스크립트와 Git Enterprise를 연동하여 서버 환경 구축과 버전 업 작업을 자동화하였습니다. 이를 통해 스케일 아웃 시 서버 환경 구축의 효율성이 향상되고, 수작업으로 인한 오류를 최소화하였습니다.
- WebFlux 및 ReactiveKafka를 활용한 서버 메트릭 데이터 처리 및 컨슈머 설계/개발/운영 경험
- 사내 LLM 기반 코드리뷰 자동화 시스템 구축 (GitHub Actions 연동)
- 사내에서 자체 개발한 LLM(Large Language Model) Provider를 활용하여, 코드리뷰 프로세스를 자동화하는 시스템을 구축하였습니다. GitHub Actions를 기반으로 Pull Request에 특정 댓글을 남기면, 해당 워크플로우가 트리거되어 리뷰 대상 코드와 Diff를 LLM에 전달하고, 분석된 결과를 자동으로 리뷰 코멘트로 작성하는 방식으로 구성하였습니다. 이로 인해 코드 리뷰에 많은 시간을 할애하는 부분을 일정 최소화 시켰습니다.
기술 스택
Spring Boot
Spring Batch
Quartz Schedular
Java 11
Kotlin
WebFlux
MyBatis
SpringDataR2DBC
Kafka
Redis
Mysql
Javascript
TypeScript
NextJs
React.js
Redux
Nginx
Gradle
Swagger
EDUCATIONAL HISTORY
| --- | --- | --- | --- | --- | --- |