nestJS로 개인프로젝트만들기1

Parker.Park·2022년 8월 5일
0

personal_project1

목록 보기
1/9

nestJS활용하여 개인프로젝트만들기

바야흐로 취업준비할 시기이다. 부족한 지식을 쌓는다고 프로젝트관리에 소홀했던것 같다. TIL형식으로 쓰다보니간 전에 어떤 내용이 썼는지 분류가 안되어 헷갈렸다. 그래서 시리즈로 만들어서 정리하려고 한다.

cli?

CLI는 'Command-Line Interface' or 'Character User Interface'의 약자이다. 가장 대표적인 예로는 DOS, bash, 명령프롬프트로 대표되는 유닉스 셀 환경이라고 한다. 상반되는 개념으로는 GUI(Graphic User Interface) 라고 하고 윈도우와 같은 대표적인 예가 있다.

CLI 작동 방식

입력을 하면 출력을 하는 단순한 방식으로 되어 있다고 한다. 사용자가 입력한 명령어를 해석해 주는 소프트웨어를 쉘(shell)이라고 한다.

nestjs - Setting up a new project

nestjs 처음 First-steps를 보면 npm을 통해 nestjs의 cli를 설치하라고 안내되어있다. 여러 안내들이 있지만(영어로), 좀 더 nestjs를 활용하기 위해서는 binary file를 전반적으로 설치할 것을 설명한다.

//전반적인 CLI를 사용하기 위해서는 npm install -g command 명령어를 사용한다. 
$ npm i -g @nestjs/cli

또한 npm 대안으로는 npx를 통해서 설치할 것을 안내하는데 npm, npx, 수업시간에 배웠던 yarn에 대해서 정리해 보자. 그리고 nest new ~를 하면 패키지를 결정하게 되는데 npm, yarn, pnpm이 있다. 이 중 pnpm에 대해서도 간략하게 알아보도록 하려고 한다.

npm

npm은 'node package manager'의 약자로 런타임ㅎ 환경의 Node.js기본 패키지 관리자 이다. npm은 다음과 같은 명확한 구성이 있다고 한다.

  • 웹 사이트
  • CLI 환경
  • the registry(온라인 데이터베이스)

npm은 여러 패키지들이 모여 있어서 개발자가 좀더 쉽게 개발할 수 있도록 도와준다고 한다. 여기서 패키지는 의존성 및 버전을 추적할 수 있도록 구성 된다고 한다. 이후 일관성, 성능, 보안 문제를 해결하기 위해 npm 을 대신한 오픈 소스 공개 되었다고 한다.

yarn

yarn(Yet Another Resource Negotiator)은 npm들의 몇몇 문제를 보안하기위에 나왔다고 한다. npm 기반으로 설계하였지만 이외에 패키기 관리자 환경에서 영향을 미쳤다고 한다. 2020년 부터 유지보수 모드로 전환 하였다고 하고 yarn classic으로 이름을 바뀌었다고 한다.(1.xx버전은 레거시라고 한다.) 개발과 개선은 yarn berry에서 이루어지고 있다고 한다.

pnpm

pnpm 또한 대안되는 오픈소스 패키지이다. npm의 drop-in replacement(설정을 바꿀 필요 없이 바로 사용 가능하며, 속도와 안정성 등 다양한 기능 향상이 이루어지는 대체품)라고 한다. npm과 yarn의 큰문제점이라고 생각한 dependencies 중복 저장을 개선하기 위해 나왔다고 한다.(기존에는 node_modules 내부에 flat하게 설치되어 관리.) pnpm은 이런 문제를 해결하기 위하여 content-addressable storage를 사용하였다고 한다.

npx

npx 는 'execute npm package binaries'의 줄임말로 npm에 속해 있는 npm 패키지 실행 도구라고 한다. npx는 단지 실행해주는 도구이기때문에 가볍게 사용가능하다고 한다. npx는 별도의 설치 없이 스크립트 만으로도 실행할 수 있게 한다고 한다. 간편하게 확인하기 좋은 도구라고 한다.

참고

[CLI, 나무위키, 2022년07월21일 접속]
https://namu.wiki/w/CLI

[[CLI] CLI 기본 개념 및 사용법, medium.com/, 2022년07월21일 접속]
https://medium.com/@psychet_learn/cli-cli-%EA%B8%B0%EB%B3%B8-%EA%B0%9C%EB%85%90-%EB%B0%8F-%EC%82%AC%EC%9A%A9%EB%B2%95-c8d000ebc162

[[Node] npm vs npx vs yarn, tistory, 2022년07월21일 접속]
https://egg-programmer.tistory.com/227

[About npm, npm docs, 2022년07월21일 접속]
https://docs.npmjs.com/about-npm

[처음 시작하는 Node.js 개발 - 2 - npm, blog, 2022년07월21일 접속]
https://heropy.blog/2018/02/18/node-js-npm/

[npm, yarn, pnpm 비교해보기, yceffort, 2022년07월21일 접속]
https://yceffort.kr/2022/05/npm-vs-yarn-vs-pnpm

profile
개발자준비중

0개의 댓글