탄탄한 백엔드 NestJS, 기초부터 심화까지 - 인프런 | 강의
Java에는 Spring이 있고 Python에는 Django가 있다면 Node에는 NestJS가 있습니다! 프로페셔널한 Node의 백엔드 NestJS와 Node 객체지향 프로그래밍 및 디자인 패턴을 배우세요! 이 강좌는 멤버십 구독 강좌이
www.inflearn.com
윤상석 님의 NestJS 강읠르 토대로 한 기록 포스팅 입니다.
웹 앱 아키텍쳐와 HTTP 프로토콜


구글.com 혹은 네이버.com을 주소창에 치면 해당 주소에 해당하는 서버 컴퓨터를 찾는다.
그 후 html,css,js로 이루어진 프론트 파일들이 다운받아져 화면에 그리게 된다.
로그인, 검색과 같은 버튼을 클릭하면 프론트에서 이벤트가 등록이 되고 프론트엔드는 해당 이벤트에 대한 api를 서버에 보내게된다.
그리고 api를 받은 서버는 해당 api에 맞는 비지니스로직에 맞게 데이터베이스에서 정보를 가져와 다시 프론트로 보내고
마지막으로 브라우저한테 씌워준다.
NestJS를 위한 express 핵심원리
express공식 문서 https://expressjs.com/
package.json
tsconfing.json
결국 우선 express를 쓸때 npm run start:dev로 열어줄것이다.
npm run start를 하게 되면 prestart가 먼저 실행 된다.
그럼 결국 tsc는 루트 경로에서 tsconfig.json을 읽어서 옵션에 맞게 컴파일한다.
dist의 경우 tsconfig.json에서 컴파일 옵션에서 설정해준 폴더인데 그 해당 옵션에 따라 컴파일을 마치게 되면,
dist라는 폴더가 생기게 되고 dist안에 타입스크립틀르 컴파일해나도 js파일들이 결과물로 나오게 된다.
--> src폴더를 전부 열어 컴파일을 시켜준다음에, 컴파일한 결과를 dist파일에 옮긴다 그리고 dist폴더에 있는 app.js가 실행
npm i express --save
npm i @types/express -D // 결국 start를 통해서 서버에서 결국 node로 js로 실행을 시켜줄것인데 개발할때만 타입스크립트를 쓴다.
데이터 모킹이란?
테스트를 실행하기 위해 실제 데이터가 아닌 개발자가 필요에 의해서 만든 데이터이다.
미들웨어 ==> next를 추가하면 된다.


#로깅 미들웨어 use !!
미들웨어는 순서가 중요하다.


분명 body를 가져 왔지만 콘솔에는 undefine이 나온다 그 이유는 express에서 body를 읽을수 있도록 즉, jsond을 읽을 수 있도록
미들웨어를 추가 해 줘야한다.
//* json middleware
express에서 데이터 추가를 위한 post를 쓰기 위해서는 즉, express에서 body를 읽을수 있도록.
express.json이라는 미들웨어를 사용해야한다.
#라우터 때어내기

이렇게 라우터를 express에서 하나 가져와서 router 하나로 묶는다.
그리고app.js에서 미들웨어 등록한다.
싱글톤 패턴
객체의 인스턴스가 오직 한개만 생성되게 한다.
싱글톤 패턴 사용 이유 : 추후 객체의 접근 시 메모리 낭비를 방지할 수 있다.
lisen에서 미들웨어 들을 다 세팅해준다.


라우트에 서비스패턴을 적용=> 서비스를 분리 하여 가독성과 유지보수를 down

'모카 스터디 > Nest' 카테고리의 다른 글
NestJS 게시판 커뮤니티 프로젝트 1 (0) | 2023.08.01 |
---|---|
NestJS 개요 및 객체지향 디자인 패턴 (0) | 2023.08.01 |
Nest JS 로그 및 설정 [John Ahn] (0) | 2023.07.30 |
Nest JS JWT/Passport 인증/인가 [John Ahn] (0) | 2023.07.30 |
Nest JS TypeORM 연동 [John Ahn] (0) | 2023.07.30 |