2022/04
-
[Nodejs] Nodejs 설치와 버전 관리, 개발용 의존성 설치 방법2022.04.28
-
[AWS] Serverless architect와 AWS Lambda2022.04.27
[Nodejs] Nodejs 설치와 버전 관리, 개발용 의존성 설치 방법
Nodejs 설치는 Nodejs 홈페이지에서 가능하며 LTS(Long Terms Support) 버전과 최신 버전을 확인할 수 있습니다. 일반적으로 LTS 버전을 다운로드하여 설치하는 것이 여러모로 좋습니다.
개발을 하다보면 프로젝트마다 Node 버전 호환 문제로 다른 버전을 사용해야할 때가 있습니다. 각각 다른 라이브러리나 프레임워크를 사용하게 되는 경우가 많기 때문입니다. 그때마다 Node를 지우고 필요한 버전으로 새로 설치하는 번거로움이 없이 NVM(Node Version Manager)이라는 버전 관리툴을 사용하면 쉽게 버전을 넘나들며 작업을 이어갈 수 있습니다.
Windows 환경의 경우 nvm-windows를 검색하셔서 나오는 Github 페이지에 들어가서 다운로드 가능합니다.
MacOS 환경의 경우 터미널에서 아래의 커맨드를 입력해줍니다
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
제대로 설치되었는지 확인하기 위해서 터미널에서 nvm을 입력해봅니다.
원하는 버전을 설치하기 위해서는 nvm install 이후에 해당하는 버전을 작성해주면 됩니다.
$ nvm install 14.**.**
nodejs 최신 버전을 설치하거나 LTS 버전을 설치하려면 각각 node와 --lts를 입력해줍니다.
$ nvm install node
$ nvm install --lts
설치된 nodejs들의 목록을 한번에 확인하기 위해서 nvm ls를 입력합니다.
nvm ls로 목록이 나타날 때 현재 적용되어있는 버전은 옆에 *가 표시되어 있습니다.
버전 변경을 하기 위해서는 nvm use로 원하는 버전을 선택해주면 됩니다.
삭제는 간단하게 nvm uninstall 후에 삭제를 원하는 버전을 입력합니다.
npm을 통해 의존성(Dependency) 설치할 때 -D 혹은 -save--dev를 사용하여 개발에만 사용되고 실제 브라우저에서는 사용하지 않을 패키지를 별도로 관리할 수 있습니다.
개발용 의존성 설치
npm install -D
혹은
npm install -save--dev
일반 의존성 설치
npm install
'IT > Develop' 카테고리의 다른 글
[Javascript] 변수선언 var, let, const ? (0) | 2023.02.06 |
---|---|
[Algorithm] Merge Sort (합병 정렬) (0) | 2022.12.09 |
[AWS] Serverless architect와 AWS Lambda (0) | 2022.04.27 |
[React] Axios로 API 호출하기 간단 예제 (0) | 2022.03.01 |
DBeaver로 Jumpbox를 거쳐 AWS Aurora PostgreSQL 접속해보기 (0) | 2022.02.22 |
[AWS] Serverless architect와 AWS Lambda
서버리스 아키텍트(Serverless Architect)
서버리스(Serverless)
개발자가 서버를 직접 관리할 필요 없이 애플리케이션을 빌드하고 실행할 수 있도록 하는 클라우드 네이티브 개발 모델
문자 그대로 서버가 진짜 없는 것이 아니라 추상화된 것
서버리스 서비스의 경우 클라우드 서비스를 제공하는 기업에서 서버를 관리하기 때문에 사용자는 스케일링 등의 관리를 하지 않고 전적으로 서비스와 어플리케이션 개발에 집중할 수 있습니다.
서버리스 아키텍트의 장단점
장점 | 단점 |
서버 관리가 불필요 (자동 확장, 장애 방지) |
다른 클라우드 컴퓨팅 자원보다 비쌈 (시간당 비용으로 계산했을 경우) |
개발한 코드에만 집중 가능 | 트리거 호출과 동시에 서버가 세팅되어 속도가 느림 |
사용한 만큼만 과금(BaaS, FaaS) | 장기적인 작업에 적합하지 않음 |
급격한 트래픽 변화에 유연 | 함수의 처리 결과에 따라 상태를 따로 저장 |
서버리스의 2가지 서비스 형태
서비스 형태 | BaaS(Backend as a Service) | FaaS(Function as a Service) |
개요 | 백엔드 개발에 필요한 기능들을 API 형태로 제공하는 서비스 |
기능을 하나의 함수로 구현 |
커스터마이징 | 커스터마이징 어려움 | 로직을 개발자가 작성하므로 커스터마이징 가능 |
특징 | 빠른 개발 가능 | 업로드한 코드를 함수 단위로 쪼개어 대기상태로 두었다가 Request가 있을 때마다 실행시켜 처리 |
대표 서비스 | Google Firebase | AWS Lambda, NCP Cloud Functions |
AWS Lambda
- AWS 람다는 서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있게 해주는 컴퓨팅 서비스
- 함수 실행 시간은 최대 15분으로 짧은 이벤트 기반 워크로드에 적합
- 코드가 실행되지 않을 때는 요금이 부과되지 않음
간단하게 예제를 통해 살펴봅시다.
AWS 콘솔에 접속해서 Lambda를 사용해봅니다.
함수를 생성하면 하단의 코드 소스란에 예시가 작성되어 있습니다.
정상적으로 작동하는지 테스트란에 들어가서 실제로 실행해봅시다.
Nodejs나 Python과 같은 언어는 코드 소스란을 통해 바로 수정 및 테스트가 가능하지만 Go lang의 경우 코드 소스 란이 없고 대신 zip파일을 업로드하거나 Amazon S3를 통해 업로드하는 형태로 Lambda를 사용할 수 있습니다.
'IT > Develop' 카테고리의 다른 글
[Algorithm] Merge Sort (합병 정렬) (0) | 2022.12.09 |
---|---|
[Nodejs] Nodejs 설치와 버전 관리, 개발용 의존성 설치 방법 (0) | 2022.04.28 |
[React] Axios로 API 호출하기 간단 예제 (0) | 2022.03.01 |
DBeaver로 Jumpbox를 거쳐 AWS Aurora PostgreSQL 접속해보기 (0) | 2022.02.22 |
[ flutter ] A RenderFlex overflowed by * pixels ... 오류 간단하게 해결하기 (0) | 2021.12.20 |