제어의 역전(Inversion of Control) > 1. Angular의 DI 패턴을 적용한 NestJS에서 IoC 지위와 달리, node.js 일반에서 IoC는 부정적인 뉘앙스가 강하게 느껴졌다. 다수의 비동기 I/O 작업이 야기할 수 있는 콜백 지옥은 가독성 문제 뿐만 아니라 IoC 문제를 갖는다. AJAX를 이용해서 비동기적 데이터 교환을 할 때 ...
토큰 > 1. 이번 장에서 가장 중요한 개념이라고 하면 토큰을 뽑을 수 있을 것 같다. 모듈에서 provider의 기본 사용 형태 는 사실 다음 코드의 축약에 지나지 않는다. 이 때 provide의 value를 토큰이라 한다. 결국 service.ts에서 @injectable() 장식자로 등록한 의미는 '이것을 토큰으로 사용하겠다.' 정도로 이해할 수 ...
Module > 1. 모듈은 provider를 캡슐화하는 단위이다. 한 모듈의 구성 요소이거나 한 모듈이 import하는 모듈의 구성 요소가 아닌 이상 어떤 provider도 주입될 수 없기 때문에, NestJS는 export된 provider를 interface 내지는 API로 이해하고 있다. 2. 이 때 다음 문장과 도식이 provider 및 modul...
Static binding(정적 바인딩) > 1. 앞서 제시한 일반적인 모듈 사용법을 static, regular binding이라고 정의하는데 이는 뒤에 설명할 dynamic module과 짝 지어서 이해하면 좋을 것 같다. @Module() 장식자에는 controllers, providers, imports, exports 등이 속하는 것을 볼 수 있었...