익스프레스의 단점, 한계
필요한 기능이 생길 때마다 미들웨어가 자꾸 추가되고
그러면 익혀야 할 것이 늘어나고
코드도 계속해서 수정해야 함
Nest.js의 장점
컨트롤러, 서비스, 미들웨어, 인터셉터, 모듈 등 웹 서버에 필요한 다양한 구성 요소를 커맨드로 정확하게 구현 가능
ex)
nest g co posts
-> Posts 컨트롤러 생성 가능
nest.js가 기계적으로 구성한 바탕 위에서는 오히려 실수하기가 힘들다!
때문에 코드의 생산성이 올라가 로직의 퀄리티를 올리는데 집중할 수 있음
컨트롤러
데코레이터를 통해 클래스가 컨트롤러 역할을 함
컨스트럭쳐 인자로 서비스 객체를 넘기면 멤머 변수에 서비스 객체가 주입
=> DI (의존성 주입)
생성자를 통한 DI
컨트롤러는 고객(클라이언트)의 음식을 주문받고 주방장(서비스)에게 음식 오더를 내리는 종업원 담당
이후에 주방장(서비스)는 음식을 만들어서 컨트롤러(종업원)에게 전해줌
typeORM
config : 노드의 .env와 같은 역할
joi : validator의 역할
엔티티
데이터베이스의 특정 테이블을 대표하는 객체
이 객체를 통해 ORM 프레임워크가 데이터베이스와 통신
리포지토리
엔티티와 데이터베이스 간의 중간 계층을 형성하는 객체
프로그래머가 데이터베이스와의 통신과정을 알지 못하더라도 추상화 된 리포지토리의 함수를 사용하여 데이터베이스에서 원하는 결과를 얻을 수 있도록 함
'⌨️ > Node.js' 카테고리의 다른 글
[jest] nestjs 테스트 코드 (0) | 2024.04.22 |
---|---|
[Node.js] 테스트 코드 (Test Code), Jest 테스팅 프레임워크 (0) | 2024.02.28 |
[Node.js] bcrypt 함수로 암호화하기 (1) | 2024.02.06 |
[Node.js] npx prisma db push (0) | 2024.01.31 |
[Node.js] MongoDB, Mongoose, schema, model 정리 (1) | 2024.01.28 |