Coding-Village-Protector / woowahan-ts

[우아한 타입스크립트 with 리액트] 북 스터디 📚
14 stars 2 forks source link

12.4.4_모노레포의 장단점을 서술해주세요. #35

Closed Stilllee closed 8 months ago

Stilllee commented 8 months ago

📝 359p

모노레포란 버전 관리 시스템에서 여러 프로젝트를 하나의 레포지토리로 통합하여 관리하는 소프트웨어 개발 전략입니다.

모노레포의 장단점을 서술해주세요.

eeeyooon commented 8 months ago

모노레포를 사용하면 개발 환경 설정도 통합할 수 있어서 더 효율적인 관리가 가능합니다. 모노레포의 장단점은 다음과 같습니다.

장점 🔥

단점 👾

sryung1225 commented 8 months ago

모노레포의 장점

모노레포의 단점

lulla-by commented 8 months ago

장점

단점

Stilllee commented 8 months ago

모노레포의 장점

1. 코드 중복 감소

여러 프로젝트를 하나의 레포지토리에서 관리함으로써 Lint, CI/CD 등의 개발 환경 설정을 통합적으로 관리할 수 있습니다. 이는 불필요한 코드의 중복을 줄여줍니다.

2. 효율적인 의존성 관리

공통 모듈을 동일한 프로젝트 내에서 관리함으로써 별도의 패키지 관리자를 통한 모듈 게시가 필요 없습니다. 이를 통해 기능의 변화를 쉽게 추적하고 의존성을 보다 효율적으로 관리할 수 있습니다.

3. 일관된 개발 환경

모든 프로젝트와 모듈이 동일한 도구와 설정을 공유함으로써 일관된 개발 환경을 유지할 수 있습니다.

4. 팀 간의 협업 용이성

하나의 레포지토리에서 작업함으로써 다른 팀이나 프로젝트와의 협업이 용이해집니다. 코드 변경 사항과 의존성에 대한 영향을 쉽게 파악할 수 있습니다.

모노레포의 단점

1. 레포지토리 크기 증가

시간이 지남에 따라 레포지토리의 크기가 커질 수 있으며, 이는 관리와 성능에 영향을 줄 수 있습니다.

2. 소유권 및 권한 관리의 복잡성

하나의 레포지토리에 다양한 이해관계가 얽혀 있을 경우, 소유권과 권한 관리가 복잡해질 수 있습니다. 각 프로젝트나 모듈의 소유권을 명확히 정의하고 규칙을 설정하는 추가적인 과정이 필요합니다.

3. 빌드 시간 증가

레포지토리의 크기가 커질수록 빌드 시간이 증가할 수 있으며, 이는 개발 효율성을 저하시킬 수 있습니다.

4. 툴링 및 인프라 요구사항 증가

대규모 모노레포를 효율적으로 관리하기 위해서는 고급 툴링 및 인프라가 필요할 수 있습니다. 이는 비용과 복잡성을 증가시킬 수 있습니다.

모노레포 전략은 프로젝트의 규모, 팀 구성, 개발 문화 등 다양한 요소를 고려하여 적절하게 선택해야 합니다.