Programming/Node JS

[Node.js] Node.js란? 윈도우에서 Node.js 설치 및 사용하기

송요시 2019. 3. 8. 10:40

1. Node.js란?

 

 

 

공식 사이트에서는 Node.js를 'Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임입니다.' 라고 말하고 있습니다. 이 말을 이해하기 위해서는 WEB 브라우저와 JavaScript에 대해서 알아야 합니다.

WEB 브라우저는 JavaScript를 만난 후부터 동적인 처리를 할 수 있게 되었고, 이러한 모습 때문에 사람들은 JavaScript를 무조건 WEB 브라우저에서만 사용하는 언어로 생각하였습니다.

하지만, JavaScript는 뛰어난 생산성과, 성능을 보여 개발자들에게 큰 관심을 받았고, WEB 브라우저 밖에서도 독립적으로 언어를 사용하기를 바랬습니다. 

그렇게 해서 나오게 된 것이 Node.js입니다.

 

그렇다면, Node.js의 장점은 어떤것이 있을까요?

 

  • V8 Engine

 

구글은 자신들의 브라우저인 Chrome에서 JavaScript 언어를 사용하기 위해 V8이라는 자체 JavaScript 엔진을 개발하였습니다. 이 V8 엔진은 빠른 속도로 JavaScript를 처리하고, 오픈소스로 공개되어 있습니다.

Node.js는 JavaScript를 처리하는 핵심 모듈로 이 V8 엔진을 사용하고 있기 때문에, 크롬에서 적용되는 최신 JavaScript 문법과 엔진 변화에 가장 빠르게 적응하고 있습니다.

이 V8 엔진은 끊임없이 발전되고, 변화하고 있기 때문에 Node.js의 발전이 기대되는 것은 당연한 일입니다.

 

  • Single Thread 기반의 비동기 I/O (Input/Output)

Node.js는 하나의 Thread가 request를 받으면 처리를 하고, File I/O나 DB 접근 등의 네트워크 처리가 있을 경우에는 I/O request를 보내놓고 작업을 처리하다가 I/O request가 끝나면 이벤트를 받아 처리하는 방식을 사용합니다.

쉽게 말하면, 2개의 요청이 있는 경우, 두 요청을 동시에 시작하고 서로의 응답을 기다리지 않고 작업을 하기 때문에 요청과 응답을 받기 위한 대기 시간이 오래 걸리지 않으며, 병목현상이 일어나지 않습니다.

일은 많아도 어쨌든 스레드는 하나이므로, 시스템 리소스 사용량에는 크게 변화가 없습니다. 따라서 대규모 네트워크 프로그램을 개발하기에 적합합니다.

하지만, 스레드가 하나이기 때문에 문제가 생기면 모든 프로그램에 문제가 생기는 단점이 존재합니다.

 

  • Socket IO

실시간 통신을 처리하는 라이브러리를 사용할 수 있기 때문에 대량의 데이터 처리와 실시간 통신을 구현할 수 있는 기능을 갖추고 있습니다. Socket IO는 웹 소켓을 포함한 AJAX 롤폴링 등 여러가지의 웹 푸쉬를 abstraction 하여, 브라우저에 상관 없이 개발자가 쉽게 구현할 수 있게 해줍니다.

WAS의 경우, 스레드의 수만큼만 동시 connection 처리를 할 수 있기에 Node.js가 대량 동시 통신에는 유리합니다.

 

그렇다면 이제 실제로 Node.js를 사용해보도록 할텐데요, 사용하기 위해서는 먼저 Node.js를 설치해야 합니다.

쉽게 설치할 수 있으니 잘 따라오세요~

 


 

2. Node.js 설치하기

 

우선, 이 URL을 클릭하여 Node.js 사이트에 들어갑니다.

https://nodejs.org/en/

 

 

접속하면 가장 최신버전의 파일을 다운받을 수 있게 되어있습니다.

물론 최신 버전을 설치하셔도 좋고, 이전의 안전한 버전을 설치하셔도 좋습니다!~

설치는 따로 뭔가 해줄 필요 없이 진행하시면 됩니다. 아주 빨리 설치가 될거에요.

아! 기존의 node를 설치하신 분들도 자신의 node 버전을 알고 싶으시다면 cmd창에서 'node --version' 명령어만 입력하면 확인하실 수 있습니다.

 

 

저는 10.9.0 버전을 사용하고 있었네요.

그렇다면 이제 실제로 설치한 Node.js를 사용해봐야겠죠?

 


 

3. Node.js 실행하기

 

오늘은 간단하게 Node.js가 어떻게 실행되는지 확인하기 위해서 간단한 예제만 하도록 하겠습니다.

(점차 더 확장된 예제를 해보도록 할게요 (*´∇`*) )

 

우선 Node.js를 실행할 파일을 만들어줍니다. 저는 간단하게 'test..js'라는 파일을 만들어주고, console 창에 문자를 띄어주는 코드를 작성하였습니다.

 

아주 간단한 코드죠?

 

이제 이 코드를 입력한 test.js파일을 실행시켜줄건데요, 그러기 위해서는 test.js 파일이 있는 폴더에 접근해야합니다. 저는 이 파일이 있는 폴더를 바탕화면에 두었답니다.

 

 

해당 폴더에 접근 한 후에 Shift 버튼과 마우스 우클릭을 함께 누르면 이 위치에서 cmd창을 열 수 있습니다.

(그냥 cmd창 열고 cd 명령어를 사용하여 접근하셔도 좋아요)

 

 

'여기에 PowerShell 창 열기'를 클릭해줍니다. 그런 후, node test.js 명령어를 입력합니다.

 

 

그러면 아까 test.js 에서 입력한 내용이 console 창에 나오는 것을 확인할 수 있습니다.

생각보다 너무 간단한 예제였네요 ... ㅎㅎㅎ

다음번에는 더 확장된 모듈을 사용해보는 예제를 가져오도록 하겠습니다.

 

그렇다면 오늘도 포스팅 봐주셔서 감사하고 다음 포스팅에서 만나요오-٩(๑❛ᴗ❛๑)۶