목록 보기
우리는 왜 공통 라이브러리를 만들기 시작했나
프론트엔드

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

마켓컬리
마켓컬리
2022년 1월 4일

두줄요약

반복 개발을 줄이기 위해 외부 라이브러리와 내부 공통 라이브러리의 선택 기준을 정리했습니다. Lerna 모노레포와 TDD로 숫자 구분자 패키지를 구현하고 신뢰 원칙을 세웠습니다.

문제 상황

  • 여러 프로젝트에서 유사 기능을 개별 개발·관리하며 발생하는 재발 비용과 대응 방식의 분산
  • 파편화된 물류 도메인과 프런트엔드 기술 스택의 규격화 필요

선택 이유

  • 문제 규모와 공통성에 따라 외부 라이브러리 사용 또는 작은 단위의 내부 공통 라이브러리 제작
  • 내부 제작을 통한 경량화, 내부 정책 반영, 변경 대응 유연성 확보
  • 기술 표준 기반의 컨텍스트 스위칭 비용 및 버스 팩터 감소 기대

구조와 흐름

  • React boilerplate를 신규 프로젝트에 적용하고 공통 기능을 단계적으로 발굴
  • Lerna 모노레포에서 npm 패키지로 공통 설정 공유와 패키지 배포·버저닝 관리
  • 문서화·코드 리뷰·테스트 스위트를 코드베이스 신뢰 원칙으로 설정

성능/운영 포인트

  • 숫자 구분자 추가 기능을 TDD와 작은 기능 조합으로 구현
  • 정규식 대신 입력 검증·문자열 분할·역순 조합 방식 적용
  • 정규식 기반 함수 대비 평균 약 20% 높은 성능 측정 결과

다음 읽기

#React 주제를 이어서 읽기

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

반복 구현을 줄이고 기술 표준을 만들기 위해 공통 라이브러리 도입 배경과 기준을 정리했습니다. Lerna 모노레포와 npm으로 add-separator를 배포하고 문서화·리뷰·테스트 원칙을 세웠습니다.

마켓컬리
마켓컬리
프론트엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...