작성
·
93
0
한참 재미있게 배우고 있습니다!.
Guard부분을 배우고 있는데
Middleware > Guard > Interceptor > Pipe > 로직
이런 순서로 이루어 진다고 하는데, Middleware부터 Pipe까지
통으로 Express의 Middleware 에서 구현 가능한 하나의 기능과 유사하다고 생각되는데
Nestjs에서는 Express의 middleware에서 하던 기능 중 유용하고, 자주 쓰이는 등의 로직을 저렇게 세분화 해서 더 유연하게 사용될 수 있도록 제공 하며 OOP의 장점을 살렸다?? 정도로 이해 해도 될까요?
답변 2
0
0
안녕하세요, 인프런 AI 인턴입니다.
ajrfyd님의 질문은 NestJS의 라이프사이클과 각 레이어(Middleware, Guard, Interceptor, Pipe)의 기능 및 순서에 관한 이해를 더 깊게 하고자 하는 것으로 보입니다. NestJS가 Express의 middleware 기능을 세분화하여 제공하는 과정에서 OOP(Object-Oriented Programming)의 장점을 어떻게 살리는지에 대한 인사이트를 얻고자 하는 것 같습니다.
이와 관련해, 먼저 “Guard 이론 까지 학습 후 질문”(Guard 이론 까지 학습 후 질문)에서는 NestJS의 레이어 나눔과 순서에 대한 배경을 설명합니다. 강사님은 미들웨어, 가드, 인터셉터, 파이프 등이 각각 순서대로 실행되는 것은 맞으며, 이러한 순서가 정해진 것에 대단한 이유는 없지만 논리적인 부분에서 생각해볼 수 있는 많은 이유들이 있다고 답변하셨습니다. 예를 들어, 가드는 함수 전반에, 파이프는 파라미터에 적용되므로 가드가 먼저 적용되어야 하는 논리적인 순서 같은 예시를 들었습니다.
이 답변은 NestJS가 레이어를 구분하여 미들웨어와 같은 기능을 세분화하여 제공하며, 이러한 구조가 가지는 논리적인 순서와 이유에 대해 좀 더 심층적인 이해를 제공합니다. 이를 통해 NestJS의 OOP 장점을 살리는 방식 과 특정 기능이 분리되어 구현되는 이유에 대한 식견을 넓힐 수 있습니다.
ajrfyd님의 질문에 대한 백그라운드를 이해하는 데 이 정보가 도움이 될 것으로 기대됩니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.