우리는 왜 공통 라이브러리를 만들기 시작했나
임진호 · 컬리 · 컬리 기술 블로그
소개
우리는 왜 공통 라이브러리를 만들기 시작했나
AI 핵심 요약
여러 물류 프로젝트에서 비슷한 기능을 각자 구현하고 관리하면서 생기는 중복과 대응 비용을 줄이기 위해, 컬리 물류 웹개발팀은 프런트엔드 기술과 공통 기능의 표준화를 시작했습니다. 외부 라이브러리와 자체 구현의 장단점을 비교해, 필요한 시간과 인력에 따라 선택하고 작은 기능부터 내부 패키지로 만들기로 했습니다. 신뢰를 위한 원칙으로 문서화·코드 리뷰·테스트를 세우고, Lerna 모노레포와 npm을 이용해 숫자 구분자 추가 기능을 배포했으며 TDD로 구현을 검증했습니다. 공통 코드를 꾸준히 공유하고 재사용하면 반복되는 재발 비용과 조직 내 소통·의사결정 비용을 줄일 수 있다는 점을 배웠습니다.
- 외부 라이브러리와 자체 구현은 각각 장단점이 있으므로 기능의 중요도와 개발·유지보수 비용을 기준으로 선택하세요.
- 공통 코드의 신뢰를 높이려면 문서화, 코드 리뷰, 테스트 스위트를 함께 운영해야 합니다.
- 여러 패키지를 관리하고 배포하기 위해 Lerna 기반 모노레포와 npm 패키지를 활용할 수 있습니다.
- 정규식 대신 작은 기능 단위로 나누고 TDD로 검증하면 확장과 수정이 쉬운 구현을 만들 수 있습니다.
비슷한 학습 자료
@use-funnel 개발기 #1: 왜 기존 라이브러리를 두고 새로 만들었나?
권선영 · 토스 기술 블로그
Node.js 라이브러리 배포 파이프라인에 플러그인 시스템 도입기
장지훈 · 토스 기술 블로그
디자인 컴포넌트 라이브러리를 ‘실제 사용 방식’에 맞게 다시 설계한 이야기
권가은 · 컬리 기술 블로그
뷰티 필터를 개발하며 얻은 새로운 경험
한승희 · 컬리 기술 블로그
카트 개발 연대기
김진실 · 컬리 기술 블로그
개발자의 시간을 벌어주는 두 가지 도구: 잘 쓴 테크 스펙, 그리고 AI
한승희 · 컬리 기술 블로그