전체 글 73

의존성 주입이란?

와 이거 간단한건데 왜 이해하기까지 오래걸렸는지 의문.. 의존성 주입이란 객체간의 의존관계를 느슨하게 하기 위한 설계 패턴임 즉 의존성을 최소화 하려고 하는것 (의존성 '주입'이라길래 의존성을 더 높이는것이라고 생각했었다;;) 의존성이 있을 때 다른 객체를 직접 생성해서 사용하지 않고 생성자를 통해 외부에서 객체를 생성하여 주입함 * 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

PostgerSQL에 더미데이터 넣기, 데이터 확인하기 (pgAdmin 활용)

더미데이터 넣기 1. pgAdmin에서 데이터를 넣을 Table에 우클릭 -> Scripts -> INSERT Script 2. Query창에서 "?"마다 더미데이터로 사용 할 (본인이 생성한 Column에 알맞는) 내용 작성 3. 작성 완료 했으면 상단의 화살표 버튼 누르기 더미데이터 넣기 끝! * string을 큰 따옴표("")로 감싸면 오류가 나서 작은 따옴표('')로 바꿨더니 데이터 저장이 잘 되었다. 왜인지는 다음에 찾아봐야지.. 데이터 확인하기 아까와 같이 Table명에 우클릭 후 View/Edit Data -> All Rows 끝

개발/DB 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

class-vaildator 라이브러리

TypeScript와 JavaScript에서 클래스의 유효성 검사를 쉽게 할 수 있도록 도와줌 간단한 데코레이터를 사용하여 클래스 프로퍼티에 대한 검증 규칙을 지정할 수 있음 유효성 검사를 직접 구현하지 않아도되며 코드의 가독성과 유지보수성이 높아짐 ex) @IsNotEmpty(): 해당 필드가 비어있지 않는지 검사 ( null, undefined일 경우 유효성 검사 실패 )

db에서 index의 역할과 사용 이유

데이터베이스 내부에서 데이터 검색을 더욱 빠르게 하기 위해 사용함. 일반적으로 데이터베이스 내의 테이블의 컬럼중에서 검색할 때 자주 사용되는 컬럼을 대상으로 인덱스를 생성함 *db내에서 레코드를 저장할때 순서대로 정렬되지 않고 임의의 위치에 저장되는데 이 상황에서 검색을 하면 전체 레코드를 탐색해야 하기 때문에 오래걸림. index를 사용하여 검색할 필드에 대해 미리 정렬해 db내부에 저장하면 검색 속도를 향상시킬 수 있음 @@index -> 모델에 여러개의 index 지정

개발/DB 2023.04.07

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

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

개발/NestJS 2023.04.05