본문 바로가기
반응형

전체 글99

Turborepo로 모노레포(Mono-repo) 구축하기 - (1) 기초 프론트엔드 모노레포(Mono-Repo) 도입 배경모노레포로 가는 첫 번째 단계: 모놀리식에서 멀티레포로 현재 운영하고 있는 서비스의 초기 구성도입니다.아주 오래전 20세기말(ㅋㅋ) 백과 프론트 소스가 뒤섞인 하나의 거대한 프로젝트로yelee.tistory.com 지난 포스팅에서 모노레포를 도입하게 된 배경에 대해 다루었습니다.이번 포스팅에서는 모노레포 구축에 필요한 기초 세팅과 설정 방법에 대해 설명하겠습니다.Lerna, nx 등 다양한 모노레포 관리 도구가 있지만, 저는 Turborepo를 선택하여 구성해 보기로 했습니다 Turborepo란?Turborepo는 자바스크립트와 타입스크립트 모노레포를 위한 빌드 시스템입니다모노레포는 장점이 많지만, 각 워크스페이스가 자체 테스트, 린팅, 빌드 프로세스를 갖.. 2024. 8. 9.
프론트엔드 모노레포(Mono-Repo) 도입 배경 모노레포로 가는 첫 번째 단계: 모놀리식에서 멀티레포로 현재 운영하고 있는 서비스의 초기 구성도입니다.아주 오래전 20세기말(ㅋㅋ) 백과 프론트 소스가 뒤섞인 하나의 거대한 프로젝트로 시작한 서비스인데, 하나씩 리액트로 분리되어 나가는 과정에 합류하게 되었습니다. 3년 전 제가 팀에 합류할 당시 두 명의 프론트엔드 개발자가 서블릿과 리액트 프로젝트 7개를 넘나들며 개발하는 아주 혼란스러운 상황이었습니다.자사에서 제공하는 상품은 크게 5개의 카테고리로 나뉘는데 이는 각각 별도의 리액트 프로젝트로 존재하고 있었고, 유저 전용 페이지는 2개의 리액트 프로젝트로 존재하고 있었습니다. 여기에 장바구니와 결제를 또 별도의 리액트 프로젝트로 떼어낼 거라는 로드맵까지.. 🫠애자일 조직에서 이렇게 많은 프로젝트를 관리.. 2024. 8. 6.
parseInt()와 Number()의 차이 자바스크립트에서 parseInt()와 Number()는 문자열을 숫자로 변환하는 데 사용하는 메소드인데차이점이 뭘까? parseInt()// parseInt() 예제console.log(parseInt('123')); // 123 (기본 10진수로 파싱)console.log(parseInt('123', 10)); // 123 (10진수로 파싱)console.log(parseInt('1010', 2)); // 10 (2진수로 파싱)console.log(parseInt('123abc')); // 123 (숫자가 아닌 문자가 나오기 전까지 파싱)console.log(parseInt('abc123')); // NaN (숫자로 시작하지 않으면 NaN)- 문자열을 숫.. 2024. 7. 14.
타입스크립트 유틸리티 타입 (Utility Types) 타입스크립트(TypeScript)는 자바스크립트(JavaScript)에 정적 타입을 부여하여, 코드를 더 안전하고 유지보수하기 쉽게 만들어줍니다. 이 글에서는 타입스크립트의 유틸리티 타입들에 대해 소개해보겠습니다. 1. PartialPartial는 제네릭 타입 T의 모든 프로퍼티를 옵셔널로 만듭니다. 즉, T의 모든 프로퍼티가 있을 수도 있고 없을 수도 있는 상태로 만들어줍니다.interface User { id: number; name: string; email: string;}const updateUser = (id: number, userUpdate: Partial) => { // 일부 프로퍼티만 업데이트 가능};// 올바른 호출updateUser(1, { id:1 });updateUser(.. 2024. 6. 23.
반응형