본문 바로가기
IT/이더리움 Ethereum

이더리움 DApp 개발을 위한 Node.js 설치하기

by SidePower 2022. 9. 23.

Node.js®는 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임입니다.

자바스크립트(js)로

Non-blocking I/O와 싱글 스레드 개발이 가능한 서버 사이드 언어입니다.

자바스크립트(js)는 html과 함께 사용되는

웹 클라이언트 프론트 사이드 언어로만 알고 있었네요.^^;;

그동안 웹브라우저에만 있던 자바스크립트 엔진을 node.js에서

서버 개발에 활용하게 가져온 거 같아요.

그리고 런타임이란 프로그램 실행 환경을 말합니다.

 

여기서 node.js에서 강조하는

논블로킹과 싱글 스레드에 대해 아주 간단히 알아볼게요.

 

블로킹(blocking)은 간단하게 설명한다면

먼저 시작한 작업이 끝나야 다음 작업을 시작할 수 있는 거예요.

논블로킹(Non-blocking)은

먼저 시작한 작업과 상관없이 다음 작업도 바로 시작할 수 있는 거예요.

 

싱글 스레드란 간단하게 스레드(thread)가 하나라는 거예요.

스레드는 작업하는 일꾼인데요.

일꾼이 많을수록 좋을거 같지만 사실은 그렇지 않습니다.

 

컴퓨터는 여러 가지 일을 동시에 다 처리하는 거처럼 보이지만

여러 일들을 동시에 처리할 수 없고 순간순간 번갈아 가면서 조금씩 처리하기 때문에

마치 동시에 처리하는 거처럼 보일 뿐입니다.

 

일꾼 한명(싱글 스레드)이 일 하나를 가져와서 처리하기 때문에

정확하게 빨리 끝낼 수 있습니다.

또 여러 일꾼(멀티 스레드)이 동시에 여러 일들을 가져오지만 

여러 일들을 동시에 다 처리하는 게 아니고 번갈아가면서 하기 때문에 느려질 수 있어요.

그래서 node.js는 크지 않는 텍스트 데이터를 주고받는

웹 개발에 최적화되어 있는 개발 플랫폼이에요.

 

 

 nodejs 사이트 접속하세요.

https://nodejs.org/ko/

 

Node.js

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

nodejs.org

왼쪽의 안정적인 16.13.1 LTS 버전을 선택합니다.

 

 

 다운로드

node-v16.13.1-x64 실행해서 설치해주세요.

 

 Node.js Setup

 

 

왼쪽의 Tools for Native Modules(네이티브 모듈용 도구) 영문 해석입니다.
선택적으로 기본 모듈을 컴파일하는 데 필요한 도구를 설치합니다.
일부 npm 모듈은 설치할 때 c/c++에서 컴파일해야 합니다.
이러한 모듈을 설치하려면 일부 도구(python 및 Visual Studio 빌드 도구)를 설치해야 합니다.

 

필요한 도구를 자동으로 설치합니다.
이것은 chocalatey도 설치합니다.
설치가 완료되면 스크립트가 새 창에 팝업됩니다.

 

정리하면

Setup이 완료되면 스크립트 창이 뜨고 Native Modules을 설치한다는 거예요.

 

Setup이 끝나고 바로 아래 cmd 창이 실행되면서 Native Modules을 설치합니다.

 

 

 Install Additional Tools for Node.js

Enter 키 누르니 또 다른 창으로 변화고 또 Enter 누르고를 몇 번 하면 마무리될 거예요.

 

 PowerShell 추가 설치

Windows PowerShell이 자동으로 실행됩니다.

예. 클릭하셔서 파워쉘 허용해주세요.

파워쉘에서도 아무 반응 없으면 Enter를 몇 번 누르시면 계속 진행될 거예요.

다 설치되는데 몇 분 걸린 거 같아요.

 

 

 설치 완료...

바탕화면 왼쪽 하단의 윈도우 시작을 클릭해 보니

아래처럼 추가 설치된 프로그램이 많아졌네요.

 

 

 node.js 정상 여부 확인

cmd(명령 프롬프트)를 통해 node --version 명령어로 버전 체크

node 실행해서 간단하게 문자열 출력해봤습니다.

node --version
v16.13.1

> console.log('hello node.js world')

hello node.js world

 

 javascript 테스트

js 파일을 만들어 node.js로 정상 처리되는지 테스트했어요.

> test1.js 파일 내용
var name = "Maxim Coffee";
console.log("Good choice %s",name);
console.log("today is %d coffee",2+3);

> node test1.js 실행
Good choice Maxim Coffee
today is 5 coffee

끝...

반응형

댓글