본문으로 이동
문서

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

임진호 컬리 · 컬리 기술 블로그

원문 보기

AI 핵심 요약

여러 물류 프로젝트에서 비슷한 기능을 각자 구현하고 관리하면서 생기는 중복과 대응 비용을 줄이기 위해, 컬리 물류 웹개발팀은 프런트엔드 기술과 공통 기능의 표준화를 시작했습니다. 외부 라이브러리와 자체 구현의 장단점을 비교해, 필요한 시간과 인력에 따라 선택하고 작은 기능부터 내부 패키지로 만들기로 했습니다. 신뢰를 위한 원칙으로 문서화·코드 리뷰·테스트를 세우고, Lerna 모노레포와 npm을 이용해 숫자 구분자 추가 기능을 배포했으며 TDD로 구현을 검증했습니다. 공통 코드를 꾸준히 공유하고 재사용하면 반복되는 재발 비용과 조직 내 소통·의사결정 비용을 줄일 수 있다는 점을 배웠습니다.

  • 외부 라이브러리와 자체 구현은 각각 장단점이 있으므로 기능의 중요도와 개발·유지보수 비용을 기준으로 선택하세요.
  • 공통 코드의 신뢰를 높이려면 문서화, 코드 리뷰, 테스트 스위트를 함께 운영해야 합니다.
  • 여러 패키지를 관리하고 배포하기 위해 Lerna 기반 모노레포와 npm 패키지를 활용할 수 있습니다.
  • 정규식 대신 작은 기능 단위로 나누고 TDD로 검증하면 확장과 수정이 쉬운 구현을 만들 수 있습니다.

소개

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

비슷한 학습 자료

문서 권선영

단계별 상태 관리 라이브러리 @use-funnel을 어떻게 만들게 되었는지 소개드릴게요. 문제의식을 공유하고 해결방법을 찾으려는 분들께 도움이 되면 좋겠어요.

프론트엔드 개발 도구

문서 장지훈

100개가 넘는 라이브러리를 관리하면서 마주했던 문제들을 플러그인 시스템으로 풀어낸 방법을 공유합니다.

프로그래밍 언어 데브옵스 · 인프라

문서 권가은

디자인 컴포넌트 라이브러리 빌드 및 구조 개선기

프론트엔드 UI/UX

문서 한승희

처음 만나는 React Query, 그리고...

프론트엔드

문서 김진실

카트 개발 연대기

문서 김진실

컬리 카트는 어떤 모습으로 성장하고 있을까?

백엔드

문서 한승희

컬리 프로덕트 웹개발 팀의 테크 스펙 정착기와 AI 자동화 시도

AI 코딩 애자일 · 협업