신선 식품 스타트업(50~100명, 개발팀 10~13명)
백오피스 유지보수 및 고도화(2020.10 - 2022.05, 1년 8개월)
- 조회 속도 개선을 위한 쿼리 튜닝 및 인덱스 설정
- 출고 지시 시 동기화해야할 로직과 비동기 처리가 가능한 부분을 구분하여 로딩 시간 단축
- 다중 선택에 대한 처리를 배열로 변경하여 한 쿼리에 처리될 수 있도록 변경하여 속도 증진
- 패킹 프로세스 개선 (스캔 횟수 2번 → 1번, 나머지 1번은 Batch 서비스 로직으로 처리)
- DB 부하를 줄이기 위해 프로시저를 서비스단 로직으로 변경
- 운송사별 배송 결과를 연동하는 Batch서비스 개발
- 재고조사 및 피킹 등에 필요한 안드로이드 앱 및 레포트 개발
- 외부 운송사 서버의 비동기처리로 인한 문제 해결 및 실시간 DB커넥션 오류 해결
- 로컬에서 개발시 효율적이고 빠르게 처리하기 위해 변경된 코드를 서버 재시작 없이 테스트 가능하게끔 Hotswap을 적용(3분 → 5초)
- 개발팀 중 가장 많은 이슈 처리
분배작업을 위한 물류 지원 시스템(DAS) 연동 개발(2021.04 - 2021.05, 2개월)
- 연동 테이블 및 프로세스 설계
- 운송사별 로직 구현 및 적용
- 일일 CAPA 상승 (주문기준 3000건 → 10000건)
물류센터 이전 업무 전담 진행(2021.03 - 2021.04, 2개월)
- 센터 코드 변경에 따른 모든 서비스 로직 및 쿼리 파악 후 수정
- 수정한 모든 서비스에 대해 테스트 및 데이터 정합성 체크
- 재고 이전에 대해 다양한 방법 제시
판매재고 함수 개선(2021.01 - 2021.02, 2개월)
- DB 함수로써 프런트의 장바구니, 결제에서 호출
- 다수의 상품을 장바구니에 담을 시 10초 이상 지연 현상 발생
- 함수 內 쿼리별 시간 측정 후 시간 소요가 많이 되는 쿼리 색출
- 실행계획을 활용하여 쿼리 튜닝 및 인덱스 설정
- 전 상품에 대해 테스트 진행, 최종적으로 평균 70% 시간 감소
- 추후 별도의 테이블 생성 후 Batch 서비스를 사용하여 해당 함수값으로 변경
- 참조 값을 함수가 아닌 테이블 값으로 변경
Skill Keywords
- `Java` `Spring Boot` `MyBatis` `PostgreSql` `Linux` `Nexacro`
더보기