/images/jg_02.jpg

what is REST api?

​ REST ful API RESTful API는 Representational State Transfer(표현 상태 전이)를 기반으로 하는 웹 서비스의 설계 원칙을 따르는 API입니다. REST는 분산 시스템에서 리소스 간 상태 전이를 위한 아키텍처 스타일로, 간결하고 확장 가능한 디자인을 제공합니다. RESTful API는 HTTP를 통해 자원을 나타내고 상호 작용하는 방식을 규정하며, REST의 기본 원칙을 따라야 합니다. ​ RESTful API의 주요 특징과 원칙은 다음과 같습니다: 자원 (Resource): 모든 것을 리소스로 표현합니다. 각 리소스는 고유한 식별자(URI)를 가지며, 이를 통해 리소스에 접근합니다.

why use a decorator? And what's the benefit?

​ 데코레이터를 사용하는 이유와 장점 데코레이터는 코드에 메타데이터를 첨부하고, 이를 기반으로 코드를 변형하거나 행동을 추가하는 강력한 도구입니다. ​ 여러 이유로 데코레이터를 사용할 수 있지만 주된 이점은 다음과 같습니다: 메타프로그래밍(Metaprogramming): 데코레이터를 사용하면 코드에 대한 정보를 주석(annotation)으로 첨부할 수 있습니다. 이 메타데이터를 기반으로 코드를 동적으로 변형하거나 특정 동작을 추가할 수 있습니다. 가독성과 모듈성 향상: 데코레이터를 사용하면 코드를 더 읽기 쉽게 만들 수 있습니다. 특히 프레임워크나 라이브러리에서 자주 사용되는 패턴이나 행동을 명시적으로 표현할 수 있습니다.

Nest Official_03_(Guards, Interceptors, Custom_decorators)

​ Guards 가드(Guard)는 라우트 핸들러 메서드의 실행 여부를 결정하는 역할을 합니다. 특히, 가드는 특정 조건이 충족되지 않으면 요청을 처리하기 전에 실행을 막습니다. 이는 권한 검사, 인증, 혹은 다양한 비즈니스 규칙을 적용할 때 유용합니다. 간단한 예로, 사용자의 권한을 확인하는 가드를 상상해볼 수 있습니다. 특정 엔드포인트에 접근하려는 사용자의 역할이나 권한이 충족되지 않으면 가드가 요청을 차단할 수 있습니다. 이를 통해 요청이 핸들러 메서드에 도달하기 전에 필요한 조건을 검사하고 처리할 수 있습니다. 가드는 @Injectable() 데코레이터로 주석이 달린 클래스로, CanActivate 인터페이스를 구현합니다.

Nest Official_02_(Modules, Middleware, Exception_filters, Pipes)

​ Modules 모듈은 @Module() 데코레이터로 주석이 달린 클래스입니다. @Module() 데코레이터는 Nest가 애플리케이션 구조를 구성하는 데 사용하는 메타데이터를 제공합니다. 각 어플리케이션은 최소한 하나의 모듈, 루트 모듈을 가지고 있습니다. 루트 모듈은 Nest가 어플리케이션 그래프를 구축하는데 사용하는 시작점입니다. 어플리케이션 그래프는 Nest가 Modules 및 Providers 간의 관계와 의존성을 해결하는 데 사용하는 내부 데이터 구조입니다. 매우 작은 애플리케이션의 경우 이론적으로 루트 모듈만을 가질 수 있지만, 이는 일반적인 경우가 아닙니다. 모듈은 구성 요소를 효과적으로 구성하는 데 강력하게 권장되는 방법이며, 대부분의 애플리케이션에서는 각각이 밀접한 관련성을 가진 일련의 기능을 캡슐화하는 여러 모듈을 사용하는 결과로서의 아키텍처가 형성됩니다.