[자바스크립트] what Nest.js is?

강지훈·2022년 12월 21일
0

자바스크립트

목록 보기
9/12

Nest.js

Nest.js는 프레임워크이다.

  • Express는 굉장히 쉽게 서버를 만들 수 있게 만들어 줬지만 시스템 디자인 측면에서 지원하는 것은 거의 없기 때문에 이러한 문제를 해결하고자 출시 되었다.
  • 기반은 Typescript이며, 서버 가동에 굉장이 용이하다.

쓰는 이유는?

효율성

NestJS는 개발자와 팀이 고도로 테스트 가능하고, 확장 가능하며, 느슨하게 결합되고 유지관리가 쉬운 애플리케이션을 만들 수 있는 
즉시 사용 가능한 애플리케이션 아키텍처를 제공합니다.

그 외에도 TypeScript기반의 Framework이며 
Dependency Injection(의존성주입)
Inversion of Control(제어의 역전)
Module을 통한 구조화 등 생산성에 용이합니다.

안정성

NestJS는 TypeScript를 적극적으로 도입하면서 서버 어플리케이션 개발 시 발생 가능한 오류들을 사전에 방지할 수 있도록 합니다. 또한 세부적인 Module로 나누어져 있기 때문에 독립적인 Unit Test를 쉽게 작성 가능하도록 구현되어 있습니다.

확장성

NestJS는 Module Class를 지원하며, 각 Module은 비슷한 기능과 개념들을 Class 한 곳에 담아 캡슐화하고 서로 Import가 가능하도록 구현되어 있습니다.
이러한 Module 구조는 Architecture를 조직적(Organize)으로 가져가게 하고 느슨한 결합(Loose Coupling)을 가능하게 만들어 
확장성(Extensible)과 테스트 가능성(Testable)을 높입니다.


TypeScript

Nestjs의 기본이되는 TypeScript는 무엇일까?

기존 자바스크립트에 타입만 추가한 언어가 타입스크립트이다.

자바스크립트는 유연한 언어이지만,

String 값을 return해야하는 상황에 number나 boolean값이 들어가도
순수하게 리턴을 해준다. 모든 type을 any로 받아준다고 생각하면 편하다.

이러한 유연성이 실무에서는 에러를 잡아내지 못하는 결과를 초래한다.
내가 타입스크립트에서 리턴값을 string으로 정의해두면, 다른 값이
들어올때 에러가 발생하여 배포전에 문제를 수정하기에 굉장이 용이하다.

또한 VSCODE에서 언어를 typescript로 작성하면 자동완성을 잘 지원하기
때문에, 코드 작성 시에도 용이하다.


Typeorm

우선 ORM이란..
객체와 관계형 데이터베이스의 데이터를 자동으로 매핑해주는 것
객체 지향 프로그래밍은 클래스를 사용하고,
관계형 데이터베이스는 테이블을 사용한다.
이 사이에서 생기는 불일치를 ORM을 통해 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결해준다.

그 중 타입스크립트, 자바스크립트 언어로 사용이 가능한 ORM이

TYPEORM 이다.

  • 타입스크립트와 자바스크립트와 함께 사용할 수 있음
  • MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, ORACLE, SAP Hana, WebSql 등 지원
  • NestJS에서 공식으로 지원하는 ORM중 하나

profile
우당탕탕 개발자

0개의 댓글