🌚 Backend/Nest.js

[강의 수강] NomadCoder NestJS로 API 만들기 #0

김_수댕 2024. 12. 12. 11:30
반응형

들어가며

원래 파이어베이스를 사용하기로 했던 코촉촉 팀 ERD를 대충이나마 생각해놓고 구현하기 위해 그려봤다.

다른 부분은 크게 어려움이 없었는데, 채팅 부분에 대해 연관성이 너무 높았다.

테이블 최소 4개여서 파이어베이스만으로는 구현이 불가능했다.

노선을 바꿔 백엔드를 구축해야겠다는 생각을 했고 그 과정은 아래 글에 작성할 예정이다.

https://let-d0-study.tistory.com/entry/%ED%8C%8C%EC%9D%B4%EC%96%B4%EB%B2%A0%EC%9D%B4%EC%8A%A4%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EC%A7%80-%EB%AA%BB%ED%95%9C%EB%8B%A4%EA%B5%AC%EC%9A%94-%EA%B7%B8%EB%9F%BC-%EC%96%B4%EB%96%A1%ED%95%98%EC%A7%80

 

https://let-d0-study.tistory.com/entry/%EB%B0%B1%EC%97%94%EB%93%9C%EB%A5%BC-%ED%95%B4%EC%95%BC%ED%95%98%EB%8A%94%EB%8D%B0-%EC%96%B4%EB%96%A4-%EB%8F%84%EA%B5%AC%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%B4%EC%95%BC-%ED%95%A0%EA%B9%8C-NestJS

 

아무튼 그래서 NodeJS도 있는데 NestJS를 공부해야겠다 생각한 이유는 구조가 짜여져있다는 점이 컸다.

express의 경우 자유도가 높아 초기 빌드가 쉬울 수 있지만, 그 부분이 오히려 막막하게 느껴져서 구조가 고정되어있는 NestJS를 선택했다.

한 번 사용하는 방법을 익히고 나면 금방 다른 부분에 대해서도 응용할 수 있을 것 같아서 오히려 전체 개발 속도가 빠를 것 같다.

 

정리한 내용

NestJS?

NestJS => node.js 위에서 동작하는 프레임워크, node.js에 백엔드를 구현할 수 있게 해줌

node.js 위에서 동작한다 === express 위에서 동작한다.

express는 모든 node.js 어플리케이션의 초석임

 

구조가 특이함 node.js에도 없는 구조를 가짐

node.js는 자율성이 높음. 장점이자 단점.

nest.js는 OOP, 함수지향, 함수 반응형까지 지원해줌

 

이 강의는 nest.js로 Rest-api 만들고, 만든 api 테스트까지 할 예정

nest.js 모조리 typescript 기반

 

API 테스트를 위해 아래의 도구를 사용할 예정

https://insomnia.rest/

 

The Collaborative API Development Platform

Leading Open Source API Development Platform for HTTP, REST, GraphQL, gRPC, SOAP, and WebSockets

insomnia.rest

 

NestJS install

npm install -g @nestjs/cli

명령어로 nest를 설치해주면 된다.

원래라면 잘 설치되야 했겠지만. 내 맥북은 그럴 생각이 없나보다...

https://let-d0-study.tistory.com/entry/nestjscli-EACCES-ERROR-command-not-found-nest

 

EACCES ERROR @nestjs/cli & command not found: nest

npm install -g @nestjs/cli 명령어로 nest를 설치해주려고 했다.근데 아래 이미지처럼 좌자작하고 에러가 나왔다. EACCES . 즉 권한 문제였다.처음에는 npm 캐시문제 인줄 알고 npm cache clean --force 명령어로

let-d0-study.tistory.com

 

우여곡절 끝에 해결!

 

Nest 프로젝트 생성하기

Nest를 설치하고 프로젝트를 생성하기 위해 nest new [프로젝트명] 을 입력해주었다.

그런데...

https://let-d0-study.tistory.com/entry/Failed-to-execute-command-npm-install-silent-ERROR

 

Failed to execute command: npm install --silent ERROR

분명 설치도 확인했고 이제 프로젝트를 만들려는데 갑자기 에러 뚜둥찾아보니까 23년부터 있던 kt 인터넷망과 관련된 이슈인거 같은데 왜 아직도...https://minyakk.tistory.com/26 [NestJS] Failed to execute co

let-d0-study.tistory.com

말을 줄이겠습니다... 휴

 

그래도 정말정말 우여곡절 끝에 Nest 프로젝트를 생성했다!

반응형