반응형 개발일지/Monorepo2 [Monorepo] Monorepo 환경에서 ts-rest, zod, 그리고 tRPC 사용에 대한 고찰 최근 프로젝트에서 monorepo 구조를 채택하여 클라이언트와 서버 코드를 함께 관리하고 있습니다. 클라이언트는 모두 Next.js로 작성되었고, 서버는 NestJS를 사용하고 있습니다. 현재는 ts-rest와 zod를 활용하여 타입 안전성과 데이터 유효성 검사를 구현하고 있지만, tRPC를 알게되었고 도입하는 것이 좋을지 고민이 되었습니다. 이에 따라 각 도구의 장단점을 분석하고, 우리의 프로젝트 환경에 가장 적합한 선택을 찾아보았습니다. ts-rest와 zod의 조합 장점타입 안전성 강화: ts-rest를 통해 서버와 클라이언트 간의 타입을 공유할 수 있어 런타임 오류를 줄일 수 있습니다.유효성 검사: zod를 사용하여 입력 데이터의 유효성을 검증함으로써 안정적인 API를 구축할 수 있습니다.R.. 2024. 9. 20. [Monorepo] Monorepo 구축하기 제가 속한 팀에서는 10개 이상의 프론트 서버를 운영 중인데, 다양한 서비스와 서버를 운영하다 보니, 코드 중복과 유지보수의 복잡성, 그리고 서버 비용 증가와 같은 문제들이 발생했습니다. 이로 인해 코드 중복과 관리의 복잡성이 커졌고, 이를 해결하기 위한 방법을 고민한 끝에, 저는 모노레포(Monorepo)를 도입하기로 결정했습니다. 왜 모노레포인가? 여러 아키텍처 옵션 중 모노레포(Monorepo)를 선택한 이유는 여러 가지입니다. 멀티레포(Multi-repo)와 비교했을 때, 모노레포는 코드 중복 문제와 유지보수 복잡성 측면에서 큰 이점을 제공합니다. 특히 멀티레포 구조에서는 각 프로젝트가 별도의 저장소로 관리되기 때문에 공통 코드나 라이브러리를 여러 번 작성해야 하며, 서로 다른 버전을 관리하는 .. 2024. 9. 12. 이전 1 다음 728x90 반응형