![[NestJS] Interceptor](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdIxWMQ%2FbtsKival7hI%2FZPKwazf2GDxKYLWR6CoEt1%2Fimg.png)
인터 셉터 NestJs에는 인터셉터라는것이 있다.처음에는 미들웨어의 다른 용어라고 생각했는데 미들웨어는 따로 있다.미들웨어와 비슷해보이지만 그림 처럼 요청이 핸들러로 들어가기 전에 요청을 가로채거나,응답하기 전에 가로채서 변형이 가능하다. Nest의 생명주기에서 미들웨어가 가장 먼저 실행되기 때문에 요청 부분은 미들웨어를 쓰지 않을까,응답할때 응답을 변형하거나 로그를 찍는등의 역할을 하면 좋겠다 정도의 생각만 들었다.아직 이 인터셉터라는 개념의 유용함과 편리함에 대해 느껴보지 못해서 정확히는 감이 안잡힌다. 인터셉터 만들어보기import { CallHandler, ExecutionContext, NestInterceptor } from "@nestjs/common";import { map, Observ..
![[NestJs] 데코레이터,컨트롤러,서비스,모듈](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2qj4I%2FbtsKgKS5QeG%2F9yJSV7mqJsb783nd2Mklt1%2Fimg.png)
데코레이터NestJs에서 중요한 개념이고 다양한 기능들이 데코레이터로 제공된다.클래스나 속성,메서드,매개변수에 추가 기능을 쉽게 적용할 수 있도록 도와주는 문법이다.NestJs에서는 데코레이터를 통해 메타데이터를 추가하거나 특정 동작을 부여한다. C#의 어트리부트와 비슷하고 C#에서는 대괄호 안에 넣는데, 자바스크립트는 @를 앞에 붙여서 사용한다. 아래 코드를 보면 AppController 클래스는 @Controller 데코레이터를 통해 해당 클래스가 컨트롤러 임을 알리고,@Get 데코레이터를 통해 해당 함수가 Get Http 요청을 처리해야하는 함수인지를 알린다.@Controller()export class AppController { constructor(private readonly appServ..
![[NestJs] NestJs 시작하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAlmkO%2FbtsKfNiJT5A%2FaRjr2aPvQlqhIUaeXMTSw0%2Fimg.webp)
현업에서 내가 서버를 다룰 일은 아마? 없겠지만 하나 정도는 공부해보고 싶었다. 서버를 개발하기 위해 여러가지 언어, 프레임워크 선택지가 있지만, 여러곳에 쓰임새가 많은 자바스크립트와 타입스크립트 쪽을 생각했고 그중에서도 구조를 강제하는 NestJs가 맘에 들었다. NestJS NestJs는 Node.js 서버를 구축하기 위한 프레임워크다.자바 스크립트와 타입 스크립트 전부 가능하며, Express를 기반으로 작동한다. (Fastify도 사용 가능)컨트롤러,서비스의 묶음으로 이루어진 모듈들간의 상호작용을 통해 어플리케이션을 구성한다. NestJS는 DI(의존성 주입) 와 Ioc(제어의 역전) 라는 개념을 사용하는데 아직 잘 와닿지가 않아서 나중에 따로 포스팅을 해볼 예정이다. 유니티에도 DI를 이용한 ..
![aws API Gateway - Lambda - DynamoDB로 Unity와 연결해보기 - 2편](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8Dwvl%2FbtsF0sJYCsD%2FfXPfZCtvEmKXSpPXsmkA0K%2Fimg.png)
aws API Gateway - Lambda - DynamoDB로 Unity와 연결해보기 - 1편 https://dev-junwoo.tistory.com/151 aws API Gateway - Lambda - DynamoDB로 Unity와 연결해보기 - 1편 Aws 가입 - 프리티어 aws를 새로 가입하면 1년동안 여러 서비스들을 한도 내에서 무료로 이용할 수 있다. 테스트를 위해 가입을 해주었다. 저 3가지 서비스 모두 프리티어일때 테스트용도로 무료로 dev-junwoo.tistory.com API Gateway - Lambda는 연결 해두었고, 이제 DB를 연결해볼 차례이다. DynamoDB DynamoDB란? aws에서 제공하는 NoSQL 데이터베이스 서비스다. 사용자가 서버를 관리하거나 소프트웨어..
![aws API Gateway - Lambda - DynamoDB로 Unity와 연결해보기 - 1편](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbfxGxZ%2FbtsF3eJNIW5%2F2aKnAKORIKK2t3hznF5jx1%2Fimg.png)
Aws 가입 - 프리티어 aws를 새로 가입하면 1년동안 여러 서비스들을 한도 내에서 무료로 이용할 수 있다. 테스트를 위해 가입을 해주었다. 저 3가지 서비스 모두 프리티어일때 테스트용도로 무료로 이용하기에는 충분하다. 지역 오른쪽 상단에 버튼을 눌러주면 여러 지역들이 뜬다. 서비스를 이용할때 지역마다 따로 만들어지고 가격도 다르기 때문에 서울로 선택해준다. Lambda Lambda(람다)? 람다는 서버리스(Serverless) 서비스다. 서버가 없다는 뜻이 아니라 직접 서버를 관리하지 않는다고 해서 서버리스다. 작은 함수로 쪼개서 서버에 올리는 방식이다. 우리가 호출하지 않을 때 이 함수는 자고있다가 우리가 요청을하면 그때서야 깨어나서 응답을 해준다. 직접 서버를 관리하지 않고 함수만 만들어두면 되기..