본문 바로가기

분류 전체보기

(67)
[NestJS] ConfigModule이란? 🦁️ ConfigModule이 뭔데? Nest에서 제공하는 Config 패키지 라는게 있다. 이게 무엇이냐면 Nest에서 dotenv(환경변수)를 내부적으로 활용하는 패키지를 제공하는데, 이를 통해 ConfigModule을 동적으로 생성해 볼 수 있다고 한다. 요컨데 ConfigModule을 사용해 미리 env를 설정해두면 다른 모듈에서도 process.env를 통해 접근이 가능하게 되는 것이다! 🦁️ 그래서 어떻게 쓸 수 있는데? 우선 패키지부터 설치해보도록 하자 $ npm i --save @nestjs/config 그 후에 app.module.ts의 @Module({ imports: [] })에 삽입하면 된다 @Module({ imports: [ //////////////////////////////..
[TIL] Class-Validator란? ☑️ Data Validation Data Validation(데이터 유효 검사)란 다루는 데이터가 모두 구조한 포맷과 일치하는 올바른 Format을 가지는지 확인하는 과정이라고 한다. 그렇다면 비슷한 이름의 Class-Validator는 무엇일까? ☑️ Class-Validator 데코레이터를 이용해서 편리하게 오브젝트의 프로퍼티를 검증할 수 있는 라이브러리로, 내부적으로 validator.js를 사용하여 유효성 검사를 수행한다고 한다. 사용하는 법은 간단한데, 다음과 같이 class 스키마를 정의하고, 프로퍼티의 유효성을 검증할 적절한 데코레이터를 달아주는 방식으로 사용한다. import { IsString, Min, Max, Length, IsInt, Contains } from 'class-val..
[TypeORM] TypeORM의 데코레이터 ⚡ TypeORM의 데코레이터? TypeORM에서 쓸 수 있는 데코레이터에 대해 알아보자. @Entity 데이터베이스 테이블을 정의하기 전에 실행해야 하는 데코레이터. 이 데코레이터는 각종 옵션을 사용할 수 있는데, 이중 name 옵션은 테이블명을 따로 지정하지 않아도 클래스명으로 매핑하지만, 테이블명을 지정할 수 있다. @Entity({ name: 'user' }) // name 옵션을 이용해 테이블 이름을 명시할 수 있다. export class UserEntity {} name의 재밌는 점은, @Entity 뿐 아니라 @JoinColumn에도 사용이 가능한데, 컬럼 이름과 이미 존재하는 Entity 속성의 이름이 같으면 덮어쓰기 기능처럼 쓸 수 있다. 옵션 용도 name 테이블 이름. 지정하지 않으..
[🚨️ERROR🚨️] Field 'title' doesn't have a default value ⚠️ Field 'title' doesn't have a default value null값이 들어오면 안되는데 null 값이 들어와서 생기는 오류. 원인 필수값으로, null을 허용하지 않는데 어떤 경로든 null값이 들어와서 발생한 오류. 해결 entity에 { nullable: true }를 주면 임시방편으로 해결은 될 수 있으나, 근본적인 해결이 아니므로 null이 될 수 없는 값에는 null로 값을 넣을 수 없게끔 코드를 다시 작성하는것이 바람직하다.
[🚨️ERROR🚨️] NestJS : circular dependency ⚠️ NestJS : circular dependency 원인 ManyToOne & OneToMany 등의 관계에서 의존성 주입을 서로에게 서로를 했을 경우 발생하는 에러. 해결 한쪽의 의존성을 해제하는 방법을 사용했다. 강제로도 해결가능하지만 해당 방법은 비추한다. 강제로 해결 하는 방법은 다음의 블로그를 참고하길 바란다. NestJS circular dependency 문제 해결 예를 들어, Module-A에 있는 Service-A와 Module-B에 있는 Service-B가 서로 의존주입을 하려 하면 문제가 발생하여 실행되지 않습니다.이를 해결하기 위한 간단한 방법은 "forwardRef" 입니다.위와 같이 두 모 velog.io
[🚨️ERROR🚨️] Graphql upload getting "Invalid JSON in the ‘operations’ multipart field" ⚠️ Graphql upload getting "Invalid JSON in the ‘operations’ multipart field" 해결 오타, 잘못된 줄바꿈, 잘못된 따옴표 등을 사용하지 않았는지 확인이 필요하다.
[🚨️ERROR🚨️] GraphQL query Error Message: Field \create\ argument \page\ of type \Float!\ is required, but it was not provided., ⚠️ GraphQL query Error Message: Field \create\ argument \page\ of type \Float!\ is required, but it was not provided., 원인 인자를 받아야하는데 받지 않을 때 발생한 에러. 해결 인자 입력을 빼먹지 않았는 지 확인하고, 다른 곳에서 import해서 쓴 것이면 의존성주입과 관련된 부분도 확인해 볼 필요가 있다.
[🚨️ERROR🚨️] TypeError: Cannot read properties of undefined (reading 'id') ⚠️ TypeError: Cannot read properties of undefined (reading 'id') 반환되는 값 중에 값이 undefined라 찾을 수 없을 경우 생기는 에러. 원인 가령 id의 값이 무조건 특정 값을 반환이 되게끔 코드가 짜여져있는데, 해당 값이 반환될 때 값을 찾을 수 없어서(undefined) 발생하는 에러. 해결 코드를 일일이 console.log 찍어보면서 어디서 문제가 생겼는지 확인해볼 필요가 있다. 오타, 객체 접근을 잘못했는 등의 다양한 이유가 있다.