TIL

24.04.01

아리단길아조씨 2024. 4. 2. 10:42
728x90

dto에 enum 값 어떻게 넣누... @IsEnum(Categoty) category: Categoty

@IsDate와 @IsDateString의 차이

  1. @IsDate: 속성이 JS의 Date 객체와 일치하는지 확인하는데 사용한다. 해당 속성이 유효한 JS객체인지 검증함
  2. @IsDateString: 속성이 유효한 날짜 형식의 문자열인지 확인하는데 사용된다. 속성 값이 특정한 형식의 날짜 문자열인지 검증할 때 사용

=> scheduleDate에는 Date객체 형태를 할당했기 때문에 @IsDate가 더 올바른 선택임

@Injectable(): 해당 클래스가 주입가능한 서비스로 등록되도록 지정하는 역할을 한다. 이 데코레이터는 괄호에 추가적인 매개변수를 요구하지 않는다.(대부분 그냥 빈 괄호로 내버려둠)

@InjectRepository(): TypeORM과 같은 데이터베이스ORM을 사용할 때 주로 NESTJS에서 사용 Repository를 주입하여 해당 Repository를 사용할 수 있게 도와주는 데코레이터

constructor( @InjectRepository(Schedules) private ScheduleRepository: Repository<Schedules> ){}

  1. @InjectRepository(Schedules): @InjectRepository를 사용해서 Schedule 엔티티에 대한 Repository를 주입받음
  2. private ScheduleRepository: Repository<Schedules>
  • ScheduleRepository에 Schedule 엔티티의 레포지토리라고 지정해줌

1-A: constructor를 사용하는 이유: NestJS에서 의존성 주입을 하기위해서는 클래스 생성자를 통해서 외부에서 주입을 받을 의존성을 명시적으로 선언해주기 때문.

2-A: private 키워드를 사용하는 이유: ScheduleRepository를 해당 클래스에서만 접근할 수 있게 만드는 접근제어자임. 외부에서 직접적으로 조작하지 못하도록 보호하려고 사용

결론: 위의 코드로 인해서 schedules 엔티티에 대한 데이터베이스 작업을 수행할 수 있게되었음

return과 throw의 공통점과 차이점 둘 다 함수나 메서드에서 값을 반환하는데 사용이된다. retrun: 함수나 메서드에서 값을 반환하고, 해당 함수의 실행을 종료시킴 throw: 예외를 발생시키는데 사용이 되며, throw를 처리할 수 있는 catch문이나 상위 호출자에게 예외 전파 따라서 return문은 값을 반환하고 함수를 종료하는 데 사용되며, throw문은 예외를 발생시키는 데 사용된다. 예외 = 프로그램이 실행 중에 발생하는 오류나 예기치 못한 상황을 의미함

'TIL' 카테고리의 다른 글

24.04.03  (1) 2024.04.04
24.04.02  (0) 2024.04.03
24.03.29~03.31  (0) 2024.04.01
24.03.28  (0) 2024.03.29
24.03.27  (0) 2024.03.28