자바스크립트 생태계에서 가장 핫한(?) NestJS부터 배워보고자 한다.
NestJS + typeORM + GraphQL 설치 및 기초개념
이정도 설정만 해주면, 파일의 변경이 있을 때마다(저장시마다) 자동으로 마이그레이션이 진행된다!
NestJS의 핵심 개념들을 내 나름대로 이해하기 편한 수준에서 정리해본다. Controller와 Provider등을 합쳐놓은 덩어리로, nest application 구조를 구성하는 기본단위라고 할 수 있다.A module is a class annotated wit
express에도 많이 보았던 것인데, nest에도 자주 등장한다. 오늘은 미들웨어에 대해 한번 정리해보자
Dependency Injection(의존성 주입, DI)은 백엔드를 접하다보니 계속해서 보게 되는 용어이다. 사실 생소한 개념이어서 명료하게 이해되지는 않았지만, Nest를 배우면서 어느정도 감을 잡을 수 있었다.
Nest에는 Guards라는 게 있다(뭐가 이렇게 많냐...)미들웨어와 비슷한 기능을 하지만, 미들웨어와는 다른 부분이 있는데 그 부분은 뒤에 다시 정리해보고자 한다.
Nest는 TypeORM과 함께 사용하면 사용의 편의성이 아주 좋아진다. 특히, entity를 생성하기만 해도 몇가지 세팅만 하면 ORM을 아주 간편하게 할 수 있다. 그 중 entity를 관리하는 데 사용되는 Repository를 정리해본다.
Nest에서는 Decorator가 아주 많이 사용되는데, HTTP route handlers와 함께 주로 사용된다.
NestJS를 접할 수록 정말 다양한 기능들이 있다는 것에 놀라고 있다. 오늘은 Role구현 등에 이용되는 Metadata를 알아보자
네스트 서버에서 정적파일을 제공하기 위한 방법을 알아보자
NestJS에서 enum타입은 주로 GraphQL과 함께 사용되며, 특정값들의 집합으로 타입을 제한할 때 사용된다.
Eager relation을 설정하면 엔티티가 로드 될 때마다 자동으로 relation된 엔티티가 함께 로드 된다.
Nest와 TypeORM으로 매우 간단하게 페이지네이션을 구현해보자
PubSub이란? 서버에서 특정 이벤트 구독(Subscription)하고 있다가, 해당 이벤트가 발생(Publish)했을 시의 동작을 정의할 수 있는 기능이다.
Task Scheduling 지정한 날짜 혹은 일정 간격으로 특정 함수가 실행되도록 하는 기능