[백엔드] NestJS

2025. 10. 8. 21:53·공부한 것

NestJS란

  • Node.js 서버 측 애플리케이션을 구축하기 위한 프레임워크

핵심 아키텍쳐

  1. 의존성 주입 (Dependency Injection): 클래스가 필요한 의존성(객체)을 외부에서 주입받는 디자인 패턴. 이를 통해 구성 요소 간의 결합도를 낮추고 테스트 용이성을 높임.
  2. 모듈성 (Modularity): 애플리케이션의 코드를 관련된 기능 집합인 모듈 단위로 구성. 각 모듈은 특정 기능에 관련된 구성 요소들을 캡슐화함.
  3. 데코레이터 (Decorators): 클래스, 메서드, 프로퍼티에 메타데이터를 추가하는 TypeScript 기능. NestJS는 데코레이터를 사용하여 라우팅, 의존성 주입 등 프레임워크의 핵심 기능을 정의함.

구성 요소

  1. 컨트롤러 (Controllers): 특정 경로(Endpoint)로 들어오는 클라이언트의 요청을 받고 응답을 반환하는 역할.
  2. 프로바이더 (Providers): 서비스(Services), 리포지토리(Repositories) 등을 포함하는 개념. 주로 비즈니스 로직을 처리하고, 컨트롤러나 다른 프로바이더에 주입될 수 있는 클래스를 의미함. @Injectable() 데코레이터로 정의됨.
  3. 모듈 (Modules): 애플리케이션의 구조를 조직하는 기본 단위. @Module() 데코레이터로 정의되고, 관련된 컨트롤러와 프로바이더의 집합을 캡슐화하여 관리함.
  4. 파이프 (Pipes): 클라이언트 요청의 데이터를 유효성 검사(validation)하거나 필요한 형태로 변환(transformation)하는 역할.
  5. 가드 (Guards): 특정 경로에 대한 요청을 허가할지 여부를 결정하는 인증 및 인가 로직을 처리.
  6. 인터셉터 (Interceptors): 메서드 실행 전후에 추가적인 로직을 바인딩하는 기능을 제공함. 주로 로깅, 캐싱, 응답 데이터 변환 등에 사용.

'공부한 것' 카테고리의 다른 글

[백엔드] Spring  (0) 2025.10.09
[서버] Nginx  (0) 2025.10.09
[서버] 쿠버네티스(Kubernetes)  (0) 2025.10.08
TyprScript와 JavaScript의 차이  (0) 2025.08.03
express.js  (0) 2025.08.03
'공부한 것' 카테고리의 다른 글
  • [백엔드] Spring
  • [서버] Nginx
  • [서버] 쿠버네티스(Kubernetes)
  • TyprScript와 JavaScript의 차이
hsnyus
hsnyus
CTF, CS, DEVELOP
  • hsnyus
    hsnyus
    hsnyus
  • 전체
    오늘
    어제
    • 분류 전체보기 (98)
      • About (1)
      • 대외활동 (16)
      • 보안관제 (2)
      • 학교 (3)
      • 개발일지 (5)
      • 공부한 것 (26)
      • 사이버가디언즈 (9)
      • 일반 (8)
      • 스터디 (10)
      • Wargame (18)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    드림핵
    워게임
    프로그래밍
    스터디
    c언어
    DreamHack
    문제풀이
    사이버가디언즈
    개발
    ctf
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
hsnyus
[백엔드] NestJS
상단으로

티스토리툴바