wam
w__am 개발노트
wam
  • 분류 전체보기 (165)
    • CS 지식 (10)
      • 자료구조 (0)
      • 알고리즘 (0)
      • 컴퓨터 구조 (0)
      • 운영체제 (0)
      • 네트워크 (7)
      • 데이터베이스 (0)
      • 디자인 패턴 (3)
    • Frontend (131)
      • Three.js (64)
      • NPM (1)
      • Nest.js (19)
      • React (10)
      • Apollo (7)
      • TypeScript (2)
      • JavaScript (12)
      • HTML, CSS (1)
      • Jest (3)
      • E2E (5)
      • Cypress (7)
    • Database (12)
      • TypeORM (12)
    • IT 지식 (8)
      • 클라우드 서비스 (3)
      • 네트워크 (1)
      • 데이터 포맷 (2)
      • 기타 (2)
    • IT Book (2)
    • 유용한 사이트 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 🐱 Github

인기 글

태그

  • math.cos()
  • API
  • getelapsedtime()
  • Interface
  • gridhelper
  • react 성능 최적화
  • joi 에러
  • mapped types
  • 렌더링 성능 최적화
  • getdelta()
  • isabstract
  • three.js 구성 요소
  • math.sin()
  • 삼각함수
  • threejs 개발 할 때 도움을 줄 수 있는 유틸리티
  • type-graphql
  • 디자인 패턴
  • 함수의 범위
  • Decorators
  • 스코프
  • 오프-프레미스(off-premise) 방식
  • axeshelper
  • 초기 환경설정
  • 함수 리터럴
  • 데이터 포맷
  • 원형적인 움직임
  • e.preventdefault()
  • 함수 표현식
  • reactive variables
  • 함수 선언문

최근 글

관리자

글쓰기 / 스킨편집 / 관리자페이지
hELLO · Designed By 정상우.
wam
Frontend/Nest.js

NestJS 소개

NestJS 소개
Frontend/Nest.js

NestJS 소개

2022. 12. 30. 09:37

 

  • NestJS는 Node.js에 기반을 둔 웹 API 프레임워크
  • Express 또는 Fastify 프레임워크를 래핑 하여 동작.
  • 기본으로 설치하면 Express를 사용

 

  • req나 res 같은 Express 객체를 직접적으로 사용하는 게 좋은 방법은 아니다.
  • 왜냐면 NestJS는 두 개의 프레임워크랑 작동한다.
  • 기본적으로 Express 위에서 실행 이걸 Fastify로 전환시킬 수 있다.
  • 즉, Nest는 Express 프레임워크를 사용하도록 만들 수 있고 Fastify 같은 다른 라이브러리와 호환이 된다. (Fastify는 Express보다 2배 정도 빠름)
  • NestJS가 이 두 개 프레임워크 위에서 동시에 돌아간다.
  • 그래서 Express에서 req, res 객체를 많이 사용하지 않는 게 중요하다.
  • NestJS방식만 사용한다면 Express, Fastify로 바로 전환할 수 있다.

 


 

  • Node.js는 손쉽게 사용할 수 있고 뛰어난 확장성을 가지고 있지만, 과도한 유연함으로 인해 SW의 품질이 일정하지 않고 알맞은 라이브러리를 찾기 위해 사용자가 많은 시간을 할애해야 한다.
  • 이에 반해 NestJS는 데이터베이스, ORM, 설정(Configuration), 유효성 검사 등 수많은 기능을 기본 제공하고 있다.
  • 그러면서도 필요한 라이브러리를 쉽게 설치하여 기능을 확장할 수 있는 Node.js 장점은 그대로 가지고 있다.

 


 

  • NestJS는 Angular로부터 영향을 많이 받음.
  • 모듈/컴포넌트 기반으로 프로그램을 작성함으로써 재사용성을 높여준다.

 


 

  • IoC(Inversion of Control, 제어역전),
  • DI(Dependency Injection, 의존성 주입),
  • AOP(Aspect Oriented Programming, 관점 지향 프로그래밍)와 같은 객체지향 개념을 도입
  • 프로그래밍 언어는 타입스크립트를 기본으로 채택하고 있다. 타입스크립트가 가진 타입시스템의 장점을 누릴 수 있다.

 


 

  • NestJS는 국내에서도 점점 인기를 얻고 있고 모두싸인과 당근마켓 등 여러 회사에서 적용되어 사용자가 늘고 있다.
  • 백엔드 개발을 처음 접하는 사람도 쉽게 따라하면서 백엔드에 필요한 기술들을 습득할 수 있다.

 


 

NestJS는 Node.js를 기반으로 한 최신 웹 프레임워크이다. 이 프레임워크는 TypeScript를 기본 언어로 사용하며, Angular에서 영감을 받은 모듈화된 구조를 가지고 있다.

 

이를 통해 강력하고 확장 가능한 서버사이드 애플리케이션을 작성할 수 있다.



NestJS의 주요 특징

1. 모듈화

 NestJS는 애플리케이션을 모듈로 분리하여 관리하며, 이를 통해 코드를 보다 쉽게 유지보수하고 확장할 수 있다.



2. 의존성 주입

NestJS는 Angular의 의존성 주입 패턴을 차용하여, 효율적으로 의존성을 관리하고 테스트할 수 있다.

 

3. 데코레이터

TypeScript의 데코레이터를 활용하여 코드의 가독성과 구조를 향상시킨다. 이를 통해 라우팅, 미들웨어, 가드 등 다양한 기능을 쉽게 구현할 수 있다.

 

4. 다양한 프로토콜 지원

HTTP뿐만 아니라 WebSockets, gRPC, GraphQL 등 다양한 프로토콜을 지원한다.

 



NestJS는 특히 대규모 애플리케이션이나 복잡한 백엔드 시스템을 구축하는 데 적합하며, 빠르게 성장하는 커뮤니티와 풍부한 문서를 제공하고 있다.

 

 

 

출처 : wikidocs

저작자표시 변경금지

'Frontend > Nest.js' 카테고리의 다른 글

NestJS : 형변환  (0) 2023.01.09
NestJS : 라우터 및 데코레이터 설명  (0) 2023.01.09
NestJS : 아키텍처  (0) 2023.01.09
Nuxt, Next, Nest 차이점  (0) 2022.12.30
Express가 좋을까 NestJS가 좋을까?  (0) 2022.12.30
    'Frontend/Nest.js' 카테고리의 다른 글
    • NestJS : 라우터 및 데코레이터 설명
    • NestJS : 아키텍처
    • Nuxt, Next, Nest 차이점
    • Express가 좋을까 NestJS가 좋을까?
    wam
    wam

    티스토리툴바

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.