Closed 2Ruk closed 11 months ago
링크: https://www.notion.so/keep-me-in-mind/NestJS-Study-Week-1-cc025842503c4b488e499a5aff16cb50?pvs=4
graph LR
A_Client(Client)
A(Request)
B(Middleware)
C(Guards)
D(pre-Interceptors)
E(Pipes)
Controller(Controller)
Service(Service)
Repository(Repository)
H(post-Interceptor)
I(Exception filters)
J(Response)
subgraph Logic
direction TB
Controller --> Service
Service --> Repository
Repository --> DB[(Database)]
DB[(Database)] --> Repository
Repository --> Service
Service --> Controller
end
subgraph Input
A_Client --> A
A --> B
B --> C
C --> D
D --> E
end
subgraph Response
H --> I
I --> J --> ClientResponse
end
subgraph LifeCycle
Input --> Controller
Logic
Controller --> Response
end
style LifeCycle fill:#AAA
style Input fill:#30A8E6
style Logic fill:#E67630
style Response fill:#30E6AD
graph TB
subgraph clusterMiddleware
B1(Globally bound middleware)
B2(Module bound middleware)
end
subgraph clusterGuards
C1(Global guards)
C2(Controller guards)
C3(Route guards)
end
subgraph clusterInterceptors
D1(Global interceptors)
D2(Controller interceptors)
D3(Route interceptors)
H1(Route interceptors)
H2(Controller interceptors)
H3(Global interceptors)
end
subgraph clusterPipes
E1(Global pipes)
E2(Controller pipes)
E3(Route pipes)
E4(Route parameter pipes)
end
subgraph clusterExceptionFilters
I1(Route exception filters)
I2(Controller exception filters)
I3(Global exception filters)
end
@justinaus 문서 정리 너무 잘 해주셨네요!!! 최고입니다!!
맞습니다! 왠지 아실 것 같은데..! DB 조회에 대한 영역은 I/O영역으로 node event loop에서 poll phase(Thread Pool을 가지고있는)에 의해 돌아갑니다!
@HONG33333 삼님도 훌룡하게 정리를 잘 해주셨군요!! Provider에 대한 궁금증 - 모듈에 등록하면 nest가 알아서 객체들끼리 이어줌..? 에 대해서는 한 Module 범위 내에서만 보장이 됩니다! Module에서 construct에서 사용하는 provider ( Repository나 다른 Service등 )은 Provider 혹은 다른 Module에서 export 로 공급될 때 해당 Module을 import할때만 공급을 받을 수 있습니다!
즉