컬리, 공통 라이브러리 구축으로 개발 효율 UP!

by DD
4년 전
조회수 6

컬리의 급성장에 따라 코드 중복유지보수의 어려움 발생

공통 라이브러리 구축을 통해 코드 재사용성개발 생산성 향상

Lerna를 활용한 모노레포 구성 및 TDD 기반의 개발 방법론 도입

공통 라이브러리 구축의 기술적 배경

컬리는 급증하는 요구사항에 대응하기 위해 공통 라이브러리 구축을 결정했다. 코드 중복을 줄이고, 유지보수성을 높이기 위함이다. 따라서, 모노레포를 구성하여 여러 패키지를 효율적으로 관리하고, Lerna를 통해 패키지 배포 및 버저닝을 간소화했다.

외부 vs 내부 라이브러리 선택의 딜레마

외부 라이브러리는 개발 시간 단축다수 애플리케이션 적용의 장점이 있다. Day.js와 같은 널리 사용되는 라이브러리를 예시로 들 수 있다. 반면, 신뢰성 문제, 수정의 어려움, 유료화 가능성 등의 위험이 존재한다. 따라서, 내부 라이브러리 구축을 통해 신뢰도를 높이고 유연한 대응을 가능하게 했다.

TDD 기반의 공통 라이브러리 개발

컬리는 TDD(Test-Driven Development)를 통해 공통 라이브러리를 개발했다. 정규식 대신, 구분자 추가 기능을 구현하여 성능을 개선했다. 구체적으로, TDD를 통해 코드 품질을 높이고, 유지보수성을 확보했다. 결과적으로, 20% 성능 향상을 달성했다.

우리는 왜 공통 라이브러리를 만들기 시작했나