# overview

[🚀Apollo] Cache - Overview
Apollo 공식 문서를 그대로 번역한 글 입니다.apollo client store는 graphQL의 결과를 저장해 두기 때문에 이미 저장된 데이터를 다시 요청할 때에는 즉시 그 결과 값을 응답합니다.
Custom Decorators
Nest는 데코레이터라는 언어기능을 중심을 구축되었다.ES2016 데코레이터는 함수를 반환하고 대상, 이름 및 속성 설명자를 인수로 사용할 수 있는 표현식이다.데코레이터 앞에 @ 문자를 붙이고 이를 데코하려는 항목의 맨위에 배치하여 적용한다.데코레이터는 클래스, 메서드
Interceptors
인터셉터는 @Injectable() 데코레이터로 주석이 달린 클래스이다.인터셉터는 NestInterceptor 인터페이스를 구현해야 한다.인터셉터에는 AOP 기술에서 영감을 받은 유용한 기능들이 있다.메서드 실행 전/후 추가 로직 바인딩함수에서 반환된 결과 변환함수에서
Guards
가드는 @Injectable() 데코레이터로 주석이 달린 클래스이다.가드는 CanActivate 인터페이스를 구현해야 한다.가드는 단일 책임(Single Responsibility)이 있다.런타임에 존재하는 특정 조건(ex: 권한, 역할, ACL 등)에 따라 지정된 요
Pipes
파이프는 @Injectable() 데코레이터로 주석이 달린 클래스이다.파이프는 PipeTransform 인터페이스를 구현해야 한다.파이프는 다음과 같이 두가지 경우에 사용한다.변환: 입력 데이터를 원하는 형식으로 변환(ex: string -> int)유효성 검사: 입력
Exception Filters
Nest에는 어플리케이션 전체에서 처리되지 않은 모든 예외를 처리하는 Exception Layer가 내장되어 있다.어플리케이션 코드에서 예외를 처리하지 않으면, 해당 Layer에서 예외를 포착해 사용자에게 자동으로 응답을 보낸다.기본적으로 이 작업은 HttpExcept
Middleware
미들웨어에 대한 설명에 앞서 다음 Nest의 요청 생명주기에 대해 알고 가는 것이 도움이 될 것 같다.Nest Request LifecycleIncoming requestGlobally bound middlewareModule bound middlewareGlobal
Modules
@Module() 데코레이터로 주석이 달린 클래스이다. 해당 데코레이터는 Nest가 어플리케이션의 구조를 구성하는데 사용하는 메타데이터를 제공한다.각 어플리케이션은 루트 모듈이라는 하나 이상의 모듈이 있다. 루트 모듈은 Nest가 어플리케이션 그래프(Nest가 modu
Providers
Nest의 기본 클래스는 Service, Repository, Factory, Helper 등이 있으며, 이들은 Provider로 취급된다.Provider의 주요 아이디어는 종속성으로 주입할 수 있다는 것이다.즉, 객체는 서로 다양한 관계를 만들 수 있으며, 객체의 인
Controllers
클라이언트로부터 들어오는 요청을 처리하고 응답을 클라이언트에 반환라우팅 매커니즘은 어떤 컨트롤러가 어떤 요청을 수신했는지를 제어. 각 컨트롤러에는 둘 이상의 라우트가 있을 수 있으며, 다른 라우트는 다른 작업을 수행기본 컨트롤러를 만들기 위해 클래스와 데코레이터(@)를
Nestjs
효율적이고 확장 가능한 Node.js 서버측 어플리케이션을 구축하기 위한 프레임워크Express나 Fastify 프레임워크 위에서 동작하기에 해당 프레임워크의 기능도 사용하며, Nestjs만의 기능 사용기본적으로 TypeScript를 지원(자바스크립트로도 코딩 가능)O