About Me
- 팀에 도움이 되는 업무를 합니다. 팀원들이 수동으로 하던 작업을 자동화하는 백오피스 프로그램을 개발한 경험이 있습니다.
- 꾸준히
기록
합니다. 개발에 관련된 주제의 글을 블로그에 기록하고 있습니다. 네이버 클라우드 공식 블로그에 등재된 적이 있습니다. 객체 지향 프로그래밍
을 지향합니다. 유지보수가 쉽도록OOP
에 입각하여 코드를 작성하고 있습니다.테스트코드
작성을 고수하고 있습니다.
Experience
C2C 중고 상품 거래 플랫폼
- 엘라스틱서치 클러스터 모니터링 및 퍼포먼스 튜닝
- 검색 API 서버 모니터링 및 장애 대응
- 색인 파이프라인 구축
- 검색 API 개발
- 상품 검색 API
- 검색어 자동완성 API
- 지역기반 상품검색 API
- 쿠폰 검색 API
연매출 3조, 국내 최대 반도체 설비 메이커
- SCTC3.0(반도체 설비 SW 프레임워크) 기반 신규 API 개발 및 버그 개선
- C/C++, modbus/tcp 기반 정전기 측정 드라이버 개발
- 정전시 설비 입구 차단 기능 개발
- 검색 서비스 SQL Injection 개선
- 통합 테스트 시나리오 & 사용자 가이드 작성
- 현장 장애 발생시 파견 대응
- 백오피스 프로그램 개발
- 2020년
우수사원
수상
Projects
중고나라 검색 클러스터 운영
2024.09 - 2024.10
- 엘라스틱서치 클러스터 퍼포먼스 튜닝
❗ 엘라스틱서치 데이터노드의 CPU High 발생
💡 슬로우쿼리 로깅 및 프로파일링을 통해 쿼리 로직 개선
💡 esrally 벤치마킹 수행을 통해 적절한 샤드 크기 탐색
리그오브레전드 인게임 논쟁에 대한 투표 서비스 (http://118.67.134.233:3000/)
- CI/CD 파이프라인 구축
❗ 새로운 기능을 개발할 때마다 수동으로 배포하여 시간이 오래 걸리고 실수하는 일이 잦음
💡 Naver Cloud Jenkins, GitHub Action 기반의 CI/CD 파이프라인을 구축하여 빌드/배포자동화
- 페이징 쿼리 개선
❗ 페이징 쿼리에서 테이블 풀 스캔으로 인한 지연 현상 발생
💡 실행 계획을 분석하여 인덱스를 타도록 쿼리를 수정하여 속도 향상 (0.7초 → 0.003초) 비동기
푸시 알림 시스템 구축
❗ 푸시 알림 기능의 오류가 전 시스템으로 전파되는 문제 발생
💡 푸시 알림 기능을 별도의 모듈로 분리하여 오류를 격리
❗ 시스템 다운으로 인해 메시지 전달이 보장되지 않는 문제 발생
💡 RabbitMQ를 사용하여 시스템 간 메시지 전달을 보장하도록 함
호텔 예약 서비스
- 동시성 이슈를 개선하기 위해 비관적락 활용
❗ 두 사용자가 재고 감소 API를 동시에 호출하면 Race-condtion 발생
💡 여러 스레드가 데이터베이스에 순차적으로 접근하도록동시성 해결
솔루션(낙관적락/비관적락/분산락) 적용 - 연결리스트 → 배열리스트 변경으로 성능 개선
❗ 테스트용 데이터를 DB에 삽입하는 과정에서 DB 커넥션 타임아웃 발생
💡 연결리스트를 직렬화할 때 시간 지연, 배열리스트로 변경 (800초 → 0.06초)
Education
삼성청년 SW 아카데미 1기
2018.12 ~ 2019.12
- 실무 지식을 익히고 팀 프로젝트 경험을 쌓기 위해 참여
- 웹 개발에 필요한 기본 지식(Java, MySQL, HTML, Vue.js) 학습
- 협업 툴(GitHub, Jira, Slack)을 이용한 4번의 팀 프로젝트 수행
경기대학교
융합보안학과/컴퓨터과학과
2013.03 ~ 2019.02
- 2017학년도 3학년 전학기 성적 우수 장학생
Skill
Backend
현재 업무에 사용중인 기술
- Java
- Spring Boot, Spring MVC, Spring Security
- MyBatis, JPA
- Junit5, Mockito
- gradle
- Intellij
DevOps
- Elasticsearch
- MySQL
- AWS
- Git/GitHub
- macOS, Ubuntu
Opensource
- 개발을 하며 겪은 문제와 실수를 정리하여 공유하는 블로그
- 네이버 클라우드 공식 블로그 등재
- Elasticsearch Java API Client 의 Hot thread 조회 기능 버그 리포트