본문으로 건너뛰기

"nest.js" 태그로 연결된 5개 게시물개의 게시물이 있습니다.

모든 태그 보기

· 약 20분
Jake Son

Nest.js 공식문서를 살펴보면 REST, GraphQL, WebSocket 등 다양한 기능을 제공하는걸 알 수 있다.
하지만 공식문서에는 없는 작지만 숨겨진 기능들이 존재한다.
이번 포스트에서는 이러한 기능 중 하나인 CLI Plugin에 대한 소개와 직접 플러그인을 만드는 방법을 소개한다.

· 약 23분
Jake Son

최근 Nest.js의 기본 기능을 직접 구현해보는 스터디를 진행하였다.
스터디 목표는 Nest.js의 @Controller, @Injectable, @Module 등의 데코레이터를 만들고, DI를 구현해 간단한 API 서버를 올리는 기능을 구현하는 것이었다.
또한 최대한 Nest.js의 코드를 참고하지 않고 직접 구현해보려고 노력했다.

이 과정에서 의존성 주입을 위한 Injector를 구현하기 위해 특정 클래스가 가지고 있는 의존성을 파악하는 방법을 찾아야했다.
또한 구현 과정에서 순환참조 문제를 해결해야했고, 이를 위해 Nest.js에서 제공하는 forwardRef가 어떤 원리도 동작하는지 알아보았다.

이번 포스트에서는 그 중에서 Injector의 의존성 주입 대상을 찾는 방법을 소개한다.

스터디 저장소: https://github.com/joyfulprogrammers/nest-clone

· 약 16분
Jake Son

요즘에는 웹 어플리케이션의 모니터링을 위해 Datadog과 같은 도구를 사용한다. 최근에 작업중인 사이드 프로젝트도 모니터링을 위해 Datadog을 사용하려고 했다. 하지만 APM(Application Performance Monitoring)과 같은 기능은 유료로 제공되기에 무료 솔루션을 찾아보았다.

그 과정에서 Open Telemetry이라는 프로젝트를 알게 되었다. 오픈소스이며 내가 원하는 기능을 제공하고 있었고, 또한 이전 포스트에서 소개한 Effect-TS는 Open Telemetry에 대한 지원이 잘 되어있었다. 그래서 이를 활용해 Nest.js 환경에서 각 계층에 대한 span을 aop를 통해 자동으로 생성하고, 이를 jaeger로 수집하는 방법을 설명하고자 한다.

정보

포스트에 소개한 내용은 다음 저장소에 적용되어 있다. https://github.com/bae-no/bae-no-server