Node.js 둘러보기 – Node.js 튜토리얼 2

Node.js 둘러보기

첫번째 튜토리얼에서 Node.js를 성공적으로 설치했다면 순조로운 출발입니다. 어떤 프로그래밍 언어나 프레임워크 등을 학습할 때도 처음 기계(Machine)를 세팅하는 것이 가장 큰 난관입니다. 개발 환경만 세팅하면 그 다음의 과정은 어느 정도까지 관성으로 쭉 가는 경향이 있지요.

조금 필자의 이야기를 하면 처음으로 프로그래밍을 접한 것은 꽤 오래전입니다. 당시 자바의 초창기였고 모두가 첫번째 언어는 C언어로 배우던 시절이었습니다. 지금과 달리 굉장히 셋업이 어려웠던 기억이 납니다.

C언어는 그나마 터보C와 같은 소프트웨어를 CD로 설치해서 실행했던 기억이 있고 (비주얼 C++은 수십만원이 들어서 못썼음) 지금은 AMP Module이라고 부르는 PHP 개발환경을 셋업하는데 한 이틀을 씨름했고, 자바 서블릿으로 쇼핑몰을 구현하는 것은 더 오랜 시간이 걸렸지요.

뭐 라떼는 이야기인데 지금은 그 셋업들을 아주 쉽게 설치할 수 있습니다. 클라우드에 이미지(컨테이너)로 설치하면 이런 과정 자체가 필요없기도 하죠. 물론 그 만큼 배워야 할 것 알아야 할 것도 많아졌고 구현해야 하는 기준이 높아져서 시간이 모자란 시대긴 하지만 그래도 의지만 있다면 다 되는 시대란게 좋은 것 같습니다.

어쨋든 힘들게 Node.js 개발 환경을 세팅했으니까(^.^;) 한 잔의 커피를 마시며 Node.js를 둘러보겠습니다. (앞으로 Node.js는 노드나 node를 혼용)

Node.js를 설치하지 않았다면 아래 링크를 참고합니다.

Node.js 콘솔 REPL

Node.js 콘솔은 REPL 입니다. REPL은 Read-Eval-Print-Loop의 머리글자를 딴 줄임말로 말 그대로 노드의 표현식들을 테스트할 수 있는 명령어 프롬프트입니다. 파이썬의 대화식 모드(Interacive Mode)와 비슷합니다. 본격적으로 Node.js를 사용하면 REPL 콘솔을 쓸 일은 거의 없겠지만 처음 노드를 시작할 때는 도움이 됩니다.

프롬프트에서 node를 실행해 봅시다. 여기서는 우분투 리눅스를 사용하는데 사용방법은 윈도우도 같습니다.

.help를 입력하면 명령어 도움을 볼 수 있습니다. 나갈 때 .exit 를 입력하거나 Ctrl + D를 누르면 됩니다.

노드 REPL

기본적인 표현식을 사용해봅시다. 자바스크립트를 알고 있다면 크롬 브라우저의 콘솔과 유사하다는 것을 알 수 있습니다. 다만 웹브라우저가 제공하는 객체들(Window나 Document 등)은 사용할 수 없다는 건 처음 설치할 때 설명한 바가 있습니다. 거기는 웹브라우저고 Node.js는 브라우저 바깥의 실행환경입니다. (Runtime)

Node.js REPL

함수도 만들어 봅니다. 대충 느낌은 알 겁니다.

오케이! 이 정도면 REPL 콘솔은 잘 둘러봤습니다. 갈 길이 멀기 때문에 너무 많은 시간 보낼 필요는 없습니다.

Node.js 스크립트 파일

다음은 node.js 스크립트 파일을 작성해보겠습니다.

본격적으로 Node.js를 사용하려면 코드 에디터(IDE)를 갖추는 것이 좋습니다. 리눅스의 기본 에디터(nano나 vi 등)나 윈도우의 메모장(notepad)으로도 자바스크립트 코드를 만드는 것은 가능하지만 보통은 그렇게 하지는 않지요. Node.js에 추천할만한 에디터로는 Visual Studio Code, Atom, Sublime Text 등 많은 종류가 나와있습니다. 개인적으로는 Visual Studio Code(VSC)가 사용자가 많아서 추천하지만 본인에게 익숙한 에디터나 IDE를 사용하면 좋겠습니다. 종류는 많은데 다들 비슷비슷하기도 합니다. 어차피 node.js는 npm을 주로 쓰고 터미널에서 작업하기 때문에 결과물만 같다면 상관 없습니다.

필자는 WSL2를 윈도우에서 사용하는데 VSC는 윈도우에서 실행하고 node.js는 WSL2로 사용하는 방식이 좋더군요. VSC는 윈도우에서 돌아가지만 그 안의 터미널도 WSL입니다. 뭐 윈도우건 리눅스건 맥OS건 크로스 플랫폼이 잘 되는 시대니까 취향에 따라 선택합니다. Node.js 만 잘돌아가면 됩니다.

첫번째 파일을 만들고 실행해보겠습니다. 파일의 확장자는 자바스크립트와 같은 js 입니다. 실행은 node 한칸 띄고 파일이름을 넣어서 실행합니다.

Console.log로 전통의 Hello World를 출력합니다.

Node.js 비주얼스튜디오코드

다음은 간단한 http 서버를 만들어 봅니다. 이 코드의 내용을 지금 이해할 필요는 없습니다. 그냥 포트 3000번에 http 요청이 오면 html을 하나 보내주겠다는 내용입니다. (종료는 [Ctrl + C] – 리눅스의 경우)

const first_server = require('http');

// this is a sinlge line comment

/*
this is multiline comments
it can include more than two lines
*/

console.log('<-- node.js server -->');

first_server.createServer(function (request, response){
    response.writeHead(200, {'Content-type':'text/html'});
    response.end('<h1>Hello World from Node.js!</h1>');
}).listen(3000);

console.log('server started...');

노드 Server Creation

로컬 PC니까 localhost:3000으로 접속합니다. 브라우저에 대략 다음과 같이 출력되면 성공입니다.

Hello World from Node.js

요약

Node.js를 가볍게 둘러봤습니다. REPL 콘솔을 실행해보고, 스크립트 파일을 실행해봤습니다. 자바스크립트의 문법에 친숙하다면 전혀 어렵지 않겠습니다만, 자바스크립트가 처음이라면 좀 힘들 수도 있습니다. 또 자바스크립트는 보통 프론트엔드에서 HTML/CSS하고 시작한 사람이 많은데 이쪽은 백엔드 방식이라 익숙치 않을 수 있는데요. 처음에는 가지고 논다는 느낌으로 가볍게 시작할 필요도 있습니다.

그럼 다음 튜토리얼에서 노드에 대해 Step by Step으로 알아보겠습니다.

Leave a Comment