Frontend

    Jest 란

    Jest 란

    Jest는 Facebook에서 개발한 JavaScript 테스트 프레임워크로, JavaScript 코드의 정확성을 검증할 수 있도록 테스트 코드를 작성하는 데 도움을 준다.  유닛 테스트: 개별 함수나 모듈을 테스트하여 특정 입력에 대해 예상한 출력이 나오는지 확인할 수 있다.스냅샷 테스트: UI 구성 요소의 출력이 이전 실행과 동일한지 확인한다. 이 기능은 특히 React 같은 UI 라이브러리에서 유용하다.비동기 코드 테스트: Promise나 async/await를 사용한 비동기 코드를 쉽게 테스트할 수 있다.모의 객체 (Mocking): 의존성을 모의 객체로 대체하여 테스트할 수 있다. 이는 외부 API 호출이나 데이터베이스 접근과 같은 테스트하기 어려운 부분을 모의하여 테스트할 수 있게 해준다.테스..

    REST와 GraphQL: Controller와 Resolver의 차이점 이해하기

    REST와 GraphQL: Controller와 Resolver의 차이점 이해하기

    REST와 GraphQL은 서버와 클라이언트 간의 데이터 통신을 위한 두 가지 주요 방식이다.각 방식은 NestJS에서 각각 Controller와 Resolver를 사용하여 구현된다.Resolver와 Controller는 목적과 사용되는 환경에서 차이가 있다. 둘 다 요청을 처리하고 응답을 반환하는 역할을 하지만, 사용하는 프로토콜과 구체적인 사용 사례에서 차이를 보인다.  REST와 Controller@Controller('users')export class UserController { constructor(private readonly userService: UserService) {} @Get() findAll(): Promise { return this.userService.findA..

    NestJS의 기본 모듈 구조

    NestJS의 기본 모듈 구조

    기본 모듈 구조기본적으로 모듈은 @Module() 데코레이터를 사용하여 정의되며, 아래와 같은 속성을 가진다. imports: 다른 모듈을 가져와 현재 모듈에서 사용한다.controllers: HTTP 요청을 처리하는 컨트롤러를 등록한다.providers: 서비스나 리포지토리 등의 종속성을 주입하는 제공자들을 정의한다. 즉 앱의 다른 부분에서 쉽게 사용할 수 있도록 한다.exports: 모듈 외부에서 사용될 수 있도록 제공자들을 내보낸다. import { Module } from '@nestjs/common';import { UsersController } from './users.controller';import { UsersService } from './users.service';@Module({ ..

    GraphQL 스키마에서 enum 타입을 정의할 때 사용, registerEnumType

    GraphQL 스키마에서 enum 타입을 정의할 때 사용, registerEnumType

    import { registerEnumType } from '@nestjs/graphql';enum UserRole { ADMIN = 'ADMIN', USER = 'USER', GUEST = 'GUEST',}registerEnumType(UserRole, { name: 'UserRole', // GraphQL 스키마에서의 이름 description: 'User roles in the system', // 선택적 설명}); registerEnumType은 GraphQL 스키마에서 enum 타입을 정의할 때 사용된다.이를 통해 GraphQL API에서 사용할 수 있는 열거형 타입을 등록하고 설명을 추가할 수 있다.이 예제에서 UserRole은 ADMIN, USER, GUEST 값을 가지는 열거형(e..