AI Briefing

컬리, 물류 웹개발팀의 공통 라이브러리 구축 전략과 첫 결과물 공개

·2022.01.04 15:00

핵심 내용

컬리 물류 웹개발팀이 중복 개발을 줄이기 위해 내부 공통 라이브러리를 구축하고 첫 패키지를 공개했다.

자세히 보기

급성장에 따른 표준화 필요성

**컬리(Curly)**는 2015년 서비스 개시 후 급성장하며 새벽배송 시장을 개척했으나, 다수 조직에서 유사 기능을 개별 개발하는 문제가 발생했다. 이로 인한 인력 및 시간 낭비를 해결하고 컨텍스트 스위칭 비용을 절감하기 위해 기술 표준화가 필요했다.

외부 vs 내부 라이브러리 선택

외부 well-known 라이브러리는 개발 시간 단축에 유리하지만, 무거움, 보안 의존성, 치명적 업데이트 위험이 있다. 반면 내부(in-house) 라이브러리는 가볍고 유연하게 수정 가능하지만, 지속적 관리와 작성자의 즉각적 대응이 요구된다. 물류 웹개발팀은 해결 난이도에 따라 외부 라이브러리를 쓰되, 그렇지 않은 경우 내부에서 작은 단위부터 제작하는 원칙을 세웠다.

모노레포 기반의 첫 패키지 개발

팀의 궁극적 목표는 물류 백오피스 통합과 도메인/프런트엔드 스택 규격화다. 이를 위해 react-boilerplate를 제작하고, lerna를 활용해 모노레포 구조로 패키지를 관리하며 npm을 배포 채널로 선택했다. 코드 신뢰 확보를 위해 문서화, 코드 리뷰, 테스트 스위트를 필수 원칙으로 삼았다.

add-separator 패키지 구현 및 성과

첫 번째 공통 기능으로 숫자 구분자 추가(add-separator) 기능을 TDD 방식으로 개발했다. 정규식 대신 인터페이스 기반 로직을 적용해 확장성을 높였으며, 결과적으로 정규식 사용 대비 평균 20%의 성능 개선을 기록했다. 해당 패키지는 @kurly-lfd/add-separator로 공개되어 생산성 향상에 기여하고 있다.

이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 요약 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.