본문 바로가기

BACKEND/Node.js+NestJS7

fnm install - fast node manager 새로운 서버 장비에 노드(Node.js)를 설치하려고 웹페이지(www.nodejs.org)를 방문했더니 이전과 뭔가가 달라졌네요. 개발을 하다 보면 여러 개의 노드 버전을 사용하게 되는데 이럴 때 노드 버전 관리자가 필요합니다. 주로 nvm으로 관리했었는데 fnm이라는 관리자가 생겨서 구글링을 해 보니 제법 괜찮은 것 같아서 갈아탔습니다. fnm은 Fast Node Manager의 약어로 Node.js 버전 관리 도구 중 하나입니다. fnm은 빠르고 간단한 CLI 도구로, 다양한 Node.js 버전을 쉽게 설치하고 관리할 수 있습니다. 제작자가 fnm을 만든 계기는 nvm이 너무 느려서였다고 합니다. nvm에 영향을 받아서인지 nvm과 비슷한 인터페이스를 가지고 있습니다. 특징을 짧게 설명드리면 아래와 .. 2024. 6. 24.
Windows NVM 설치하기(install) 시스템(데스크톱 혹은 서버)에서 여러 버전의 노드(Node.js)를 사용하고 싶다면 NVM을 설치해서 관리할 수 있습니다. 윈도우에서 NVM 설치는 Linux(Ubuntu), macOS 와 WSL2에서 설치하는 방법과는 좀 다릅니다. 단일 버전을 설치하고 싶은 경우에는 노드 사이트에서 다운로드 받으시면 됩니다. GitHub에서 Windows용 NVM을 다운로드합니다. Go 언어로 작성되었으며 Node.js가 먼저 설치되어 있어야 실행이 가능합니다. nvm-setup.exe 혹은 nvm-setup.zip 파일을 다운로드하여 실행합니다. NVM을 설치할 폴더를 선택합니다. 노드(Node.js)를 설치할 폴더를 지정합니다. 이미 설치된 노드가 존재할 경우 아래와 같은 메시지가 표시됩니다. 를 누르고 계속 진행.. 2023. 12. 17.
Fastify 알아보기 fastify는 Express 처럼 Node.js 기반의 백엔드 프레임워크 중 하나입니다. 이름에서 짐작할 수 있듯이 Express보다 거의 두 배 이상 빠른 성능과 편리한 로깅 처리, 개발 편의성, 확장성 등을 가지고 있지만 Express가 너무 광범위하게 많이 사용하다 보니 사용층은 생각보다 넓지는 않은 것 같습니다. 특징 고성능(High performant) - 초당 최대 30,000개의 요청을 처리할 수 있는 가장 빠른 웹 프레임워크 중 하나입니다. 확장성(Extensible) - 후크, 플러그인 및 데코레이터를 통해 확장이 가능합니다. 스키마 기반(Schema based) - JSON 스키마를 사용해 경로를 검증하고 출력을 직렬화할 수 있으며 이 스키마는 고성능으로 컴파일할 수 있습니다. 로깅(.. 2023. 11. 25.
NestJS 알아보기 NestJS는 Node.js의 유연함을 그대로 가지면서도 프레임워크 내에 유용한 기술을 이미 다수 구현해 두었습니다. NestJS는 Node.js에 기반을 둔 웹 API 프레임워크로 Express 혹은 fastify 프레임워크를 래핑하여 동작합니다. 아시다시피 Express와 fastify는 모두 Node.js를 쉽게 사용하기 위해 만들어진 프레임워크입니다. 즉, NestJS로 작성한 소스 코드를 Node.js 기반 프레임워크인 Express나 fastify에서 실행 가능한 자바스크립트 소스 코드로 컴파일하는 역할을 합니다. NestJS는 기본 설치 시 Express를 설치합니다. fastify와 같은 다른 프레임워크 대신에 Express를 사용하는 이유는 Express가 가장 널리 사용되고 있고 수많은.. 2023. 11. 25.
Swagger 사용해 보기 Swagger란 Swagger는 APi 개발 Workflow 전반에 걸쳐 일관성과 규율을 주도하도록 팀을 위해 구축된 통합 API 설계 문서 플랫폼입니다. 다시 말하자면, 구현할(구현한) API 명세와 API 테스트 수행을 동시에 가능하도록 도와주는 프레임워크입니다. 노션(Notion) 앱에 명세를 정리하고, Insomnia, Postman과 같은 툴로 테스트를 하는 과정을 한번에 할 수 있습니다. 개발된 API 설명서를 사용자에게 제공하면서 API를 테스트할 수 있는 Testbed를 제공할 수 있습니다다. 기존의 Open API들을 사용할 때, Postman을 이용해서 API 테스트를 하셨다면 이젠 Swagger를 사용하여 Open API 문서 작성하면서 테스트를 해 보세요. 더 빠르고 표준화된 API.. 2023. 2. 3.
NVM (Node Version Manager) - 노드 버전 관리하기 노드(Node.js)를 사용하는 분이라면 여러 프로젝트를 관리하면서 여러 노드 버전을 사용해야 될 상황이 오게 됩니다. 프로젝트를 변경할 때마다 해당하는 특정 노드 버전을 설치해 주는 것은 굉장히 비효율적인 방법입니다. 이렇게 여러 노드 버전을 관리하기 위해 등장한 도구가 NVM(Node Version Manager)입니다. 파이썬의 pyenv와 비슷하게 NVM은 다양한 버전의 노드 리스트를 확인할 수 있고, 편하게 설치 및 삭제 그리고 전환까지 할 수 있는 매우 편리한 도구입니다. NVM 설치하기 NVM GitHub에서 최신버전 확인합니다. cURL 혹은 wget 명령어를 사용해서 nvm을 설치할 수 있습니다. (curl 혹은 wget이 설치되어 있지 않으면 설치하신 후 아래 명령어를 실행해 주세요) .. 2022. 4. 15.