1인 개발자의 가성비 기술 스택 – Nestia

백엔드 개발이 필요하다면 주로 TypeScript를 활용해 Node.js 기반의 백엔드를 개발한다.

Java 진영에 백엔드를 위한 Spring 프레임워크가 있듯이, Node 진영에도 이와 비슷한 NestJS라는 프레임워크가 있다.

이번에 소개할 라이브러리는 NestJS 위에서 동작하는 Nestia라는 라이브러리다.

Nestia는 간단히 말하자면, NestJS 개발 시 유용한 도구 모음이다.

주로 다음과 같은 기능을 제공한다.

  • API와 DTO들을 SDK로 만들어 NPM에 배포
    • JS 생태계의 프론트에서 NPM 모듈을 다운받아, 라이브러리를 사용하듯이 프론트 <-> 백엔드 통신을 할 수 있다.
  • API 문서 자동 생성
    • 기존 NestJS 코드는 Swagger 문서를 작성하기 위해, 코드에 기능과 상관없는 데코레이터 작성을 필요로 한다.
    • Nestia를 사용하면 코드에 작성한 주석 그 자체가 Swagger 문서로 변환된다.
  • 순수 TypeScript 인터페이스(타입) 사용 가능
    • 기존 NestJS 개발시, TS -> JS로 컴파일되는 한계 때문에, class-validator와 런타임 타입 검증 라이브러리를 사용해야 한다.
    • class-validator를 사용할 경우 아래와 같은 불필요한 코드를 작성해야 한다.
      • 이미 타입이 정의되어 있음에도 불구하고 @IsString 데코레이터를 작성해야 한다.
// class-validator version.
import { IsString } from 'class-validator';

class CreateUserDto {
  @IsString()
  name: string;
}


// nestia version.
interface CreateUserDto {
  name: string;
}

이 밖에 여러 기능이 있으니 궁금하다면 공식 문서에서 찾아보면 된다.

Series

1인 개발자의 가성비 기술 스택 – Shadcn UI

나는 웹 프론트 개발이 필요하면 주로 React(Next.js) + Tailwind CSS + Shadcn UI 조합을 사용한다. 이 조합은 현재 날짜 기준 …
/ blog, Frontend, Tech stack, Web

1인 개발자의 가성비 기술 스택 – Nestia

백엔드 개발이 필요하다면 주로 TypeScript를 활용해 Node.js 기반의 백엔드를 개발한다. Java 진영에 백엔드를 위한 Spring 프레임워크가 있듯이, Node 진영에도 이와 …
/ Backend, blog, Tech stack

1인 개발자의 가성비 기술 스택 – JavaScript 생태계

제목은 JavaScript(JS) 생태계라고 작성했지만, 사실 모든 프로젝트에서 TypeScript(TS)를 사용한다. 내가 프로젝트를 진행하며 고려하는 기술 스택 순위는 다음과 같다. 고객이 원하는 …
/ blog, JavaScript, Tech stack, TypeScript

1인 개발자의 가성비 기술 스택 – Coolify

1인 개발자의 가성비 기술 스택 시리즈의 첫 글이다. 사실 Coolify(쿨리파이)를 소개하기 위해 이 시리즈를 작성한 게 아닐까 싶을 정도로 내가 …
/ blog, Infra, Tech stack

1인 개발자의 가성비 기술 스택 – 시리즈 시작

퇴사 후 디지털 노마드 생활을 하며 프리랜서 개발자로서 살아남기 위해, 가성비 있는 개발을 주로 하게 되었다. 예를 들어, 웹 서비스 …
/ blog, Tech stack