새로운 프로젝트를 시작하기에 앞서 Nest.js, MySQL과 함께 사용할 ORM을 선택해야 하는 상황이 왔다. 다양한 ORM이 존재하지만 Prisma, TypeORM 둘 중 하나를 선택하기로 했다. 많은 글에서 두 ORM의 장단점을 비교하고 있지만, 성능 비교는 많지 않았고, 그마저도 최신자료는 없었다. Benchmark: Prisma VS TypeORM Prisma and TypeORM are possibly the main ORM choices for the JavaScript ecosystem in 2022, so I have... dev.to 뭐 어쨋든 참고해 보자면 위 글은 2년 전 자료이고, PostgreSQL을 사용했다고 한다. 대략 요약하자면, 전반적으로 거의 비슷하나 Prisma가 근소..
NestJS는 모듈과 서비스를 효과적으로 구성하고 관리할 수 있는 강력한 기능을 제공합니다. 오늘은 NestJS에서 서비스를 공유하는 두 가지 방법인 의존성 주입(Dependency Injection)과 모듈 임포트에 대해 알아보겠습니다. NestJS는 모듈과 서비스를 사용하여 애플리케이션을 구성합니다. 모듈은 애플리케이션의 부분을 나타내며, 서비스는 비즈니스 로직을 처리하고 데이터를 관리합니다. 상황 가정 1. Flowers와 Places라는 기능이 있다고 가정 (nest g resources flowers, nest g resources places) 2. FlowersController에서 PlacesService를 사용하고 싶음 3. 단, PlacesService를 새로 생성하는 것이 아닌 하나의..
nestjs + typeORM을 공부하던 중 특정 컬럼에 대해 유니크 속성을 주어야 하는데, 두 가지 방법이 보였다. 첫 번째는 변수에 @Column 데코레이터를 사용하는 것이고, 두 번째는 클래스에 @Unique 데코레이터를 사용하는 것이다. 두 방법 모두 유니크 속성을 부여한다는 것은 동일하지만 약간의 차이가 있다. 유니크 속성을 각각 부여하느냐, 합쳐서 부여하느냐의 차이다. @Column({ unique : true }) 일반적으로 원하는 특정 컬럼에 유니크 속성을 주기 위해 사용할 수 있다. @Column({ unique: true }) first: string; @Column({ unique: true }) second: string; 이러한 방식으로 생성된 제약조건을 살펴보면 각각 컬럼별로 두..