Node.js®는 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임입니다.
자바스크립트(js)로
Non-blocking I/O와 싱글 스레드 개발이 가능한 서버 사이드 언어입니다.
자바스크립트(js)는 html과 함께 사용되는
웹 클라이언트 프론트 사이드 언어로만 알고 있었네요.^^;;
그동안 웹브라우저에만 있던 자바스크립트 엔진을 node.js에서
서버 개발에 활용하게 가져온 거 같아요.
그리고 런타임이란 프로그램 실행 환경을 말합니다.
여기서 node.js에서 강조하는
논블로킹과 싱글 스레드에 대해 아주 간단히 알아볼게요.
블로킹(blocking)은 간단하게 설명한다면
먼저 시작한 작업이 끝나야 다음 작업을 시작할 수 있는 거예요.
논블로킹(Non-blocking)은
먼저 시작한 작업과 상관없이 다음 작업도 바로 시작할 수 있는 거예요.
싱글 스레드란 간단하게 스레드(thread)가 하나라는 거예요.
스레드는 작업하는 일꾼인데요.
일꾼이 많을수록 좋을거 같지만 사실은 그렇지 않습니다.
컴퓨터는 여러 가지 일을 동시에 다 처리하는 거처럼 보이지만
여러 일들을 동시에 처리할 수 없고 순간순간 번갈아 가면서 조금씩 처리하기 때문에
마치 동시에 처리하는 거처럼 보일 뿐입니다.
일꾼 한명(싱글 스레드)이 일 하나를 가져와서 처리하기 때문에
정확하게 빨리 끝낼 수 있습니다.
또 여러 일꾼(멀티 스레드)이 동시에 여러 일들을 가져오지만
여러 일들을 동시에 다 처리하는 게 아니고 번갈아가면서 하기 때문에 느려질 수 있어요.
그래서 node.js는 크지 않는 텍스트 데이터를 주고받는
웹 개발에 최적화되어 있는 개발 플랫폼이에요.
● nodejs 사이트 접속하세요.
왼쪽의 안정적인 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 |
끝...
'IT > 이더리움 Ethereum' 카테고리의 다른 글
이더리움 DApp 개발 . Truffle + Ganache 연동 . smart contract 배포 (0) | 2022.09.24 |
---|---|
이더리움 DApp 개발을 위한 Truffle(트러플) 설치하기 . solidity 컴파일 (0) | 2022.09.23 |
이더리움 로컬 개발 플랫폼 Ganache 설치하기 (0) | 2022.09.22 |
이더리움 지갑 metamask 가입 설치하기 (1) | 2022.09.22 |
solidity 0.5.16 프로그램 기초 배우기 . 스마트 계약(Smart Contract) (1) | 2022.09.21 |
댓글