개발/NestJS 7

의존성 주입이란?

와 이거 간단한건데 왜 이해하기까지 오래걸렸는지 의문.. 의존성 주입이란 객체간의 의존관계를 느슨하게 하기 위한 설계 패턴임 즉 의존성을 최소화 하려고 하는것 (의존성 '주입'이라길래 의존성을 더 높이는것이라고 생각했었다;;) 의존성이 있을 때 다른 객체를 직접 생성해서 사용하지 않고 생성자를 통해 외부에서 객체를 생성하여 주입함 * NestJS에서 간단하게 할 수 있음! ex) (NestJS 환경에서 의존성 주입하기) AuthService 클래스 내부에서 UserService 클래스를 사용해야 할 때 import { Injectable } from '@nestjs/common'; import { UserService } from './user.service'; @Injectable() export cl..

개발/NestJS 2023.04.10

의존성 (Dependency) 이란?

어떤 모듈 또는 객체가 다른 모듈 또는 객체를 사용하거나 그것으로 부터 영향을 받는 것. 일반적으로 객체 지향 프로그래밍에서 발생함 (클래스가 다른 클래스를 상속하거나 ... 뭐 그런거) 따라서 의존성이란 하나의 클래스가 다른 클래스의 메소드나 속성을 사용할 때 해당 클래스의 변경이나 제거가 다른 클래스에서 영향을 줄 수 있는 가능성을 말함. 의존성이 높으면 유지보수 및 테스트가 어려워지므로 의존성을 적절하게 관리하고, 의존성이 최소화된 코드를 작성하는것이 매우 중요함!

개발/NestJS 2023.04.10

NestJS에서 @Controller 의 역할

NestJS의 데코레이터로 컨트롤러 클래스를 정의할 때 사용함 * 컨트롤러 클래스: 특정 url을 사용하여 http요청 처리, 요청에 대한 응답 반환 - path: 컨트롤러에 연결된 기본 경로. /user 라고 지정하면 이 컨트롤러의 모든 경로는 /user로 시작함 - version: 컨트롤러의 API 버전을 지정함 - consumes: 컨트롤러에서 사용하는 모든 미디어 유형을 나타냄 (json, xml 등) - produces: 컨트롤러에서 생성하는 모든 미디어 유형을 나타냄 (json, xml 등) - security: 컨트롤러에서 사용하는 보안 정책을 나타냄 (jwt 등)

개발/NestJS 2023.04.10

NestJS에서 @UploadedFiles(), @Injectable()의 역할

@UploadedFiles() NestJS 데코레이터 요청 본문에서 업로드된 파일을 추출함 추출된 데이터는 컨트롤러 메소드의 파라미터로 전달됨 *사용시 multer 패키지와 같은 멀티 파트(form-data)요청을 처리하는 라이브러리 필요 @Injectable() NestJS 데코레이터 클래스를 하나의 provider로 사용할 수 있다. @Module을 사용해서 module에 등록하면 provider로 사용할 수 있다.

개발/NestJS 2023.04.05

dto 와 entity의 차이점

dto (Data Transfer Object) 데이터를 전달하기 위한 객체 데이터를 담아서 전달하는 바구니 주로 View와 Controller사이에서 데이터를 주고 받을 때 활용함 로직을 갖고있지 않는 순수한 데이터 객체. getter/setter 메소드만 갖고 이 외의 비즈니스 로직은 포함하지 않는다. *getter: 프로퍼티를 읽으려고 할 때 실햄됨 setter: value로 프로퍼티에 값을 할당하려고 할 때 실행됨 entity 실제 DB 테이블과 매핑되는 핵심 클래스 이를 기준으로 테이블이 생성되고 스키마가 변경된다. entity는 id로 구분되고 비즈니스로직을 포함할 수 있다.

개발/NestJS 2023.04.05