개발 48

dto 와 entity의 차이점

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

개발/NestJS 2023.04.05

Swagger에서 ApiOkResponse(), ApiOperation(), ApiTags()의 역할

ApiOkResponse() Swagger 데코레이터 성공적인 API 호출(200)에 대한 응답을 정의함 ApiOperation() Swagger 데코레이터 API 엔드포인트에(Get,Post,Put,Delete) 대한 메타정보를 제공함 *메타정보: API의 설명, 요청 및 응답 페이로드, 성공/실패 상태 코드 및 예외처리 ApiTags() Swagger 데코레이터 API를 그룹화 하는 태그를 지정함 Swagger UI에서 그룹으로 API 검색 가능

개발/Swagger 2023.04.05

Prisma 에서 @map(), @@map() 데코레이터의 역할

@map은 DB에서 사용되는 이름과 Prisma모델에서 사용되는 필드 이름을 다르게 설정할때 사용한다. DB상의 컬럼명을 변경! @@map은 DB상의 테이블명을 변경! @map 사용 시 Prisma 모델과 DB 스키마 간의 이름 규칙차이를 극복할 수 있다. ex) Prisma 모델에서는 'firstName'이고 DB스키마에서는 'first_name' 일 때 model User { id Int @id @default(autoincrement()) firstName String @map(name: "first_name") lastName String @map(name: "last_name") } -->Prisma는 'firstName'의 이름을 'first_name'으로 인식함

개발/PrismaORM 2023.04.04

쿠키와 세션의 차이점

일단 둘 다 웹서버에서 클라이언트를 식별하고 상태를 유지하기 위한 것임 쿠키: - 클라이언트 브라우저에 저장됨 - 그래서 보안에 취약! - 작은 용량의 데이터만 저장 가능 - 만료 시간을 설정해서 그 시간이 되면 자동 삭제~~ 세션: - 서버에 저장됨 - 그래서 보안에 강함! - 비교적 큰 데이터도 저장 가능 - 브라우저를 종료하거나 서버에서 세션을 삭제하기 전 까지 유지됨~! - 대규모 트래픽에서는 속도가 느려질 수 있음!~ 뭐가 더 좋은지는 상황에 따라 다름!!

async/await 란?

함수앞에 async라고 작성하면 그 함수는 자동으로 Promise를 반환하게 됨 async로 선언한 함수 내에서 await이라는 단어 뒤에 오는 작업(Promise객체)을 끝날때까지 멈췄다가 다음 작업을 실행함 비동기적인 상황에서 작업의 순서를 정해야할때 사용함 (이벤트 루프를 직접 사용하진 않지만 이벤트루프를 사용하는 promise를 사용하므로~! 이벤트루프를 간접적으로 사용함.... 설명이 뭔가 내가 그린 기린 그림 같다.)

개발/JavaScript 2023.03.25