programming/node.js

[Node.js] Node.js w3schools Tutorial - Day.1

LeeBorn 2019. 11. 16. 00:00
반응형

node.js

*해당 내용은 https://www.w3schools.com/nodejs/ 의 튜토리얼을 따라 하며 정리하는 글입니다.

 

Node.js를 공부해야겠다는 생각이 든 것은,

2~3년 전부터 심심할 때마다 구직사이트를 보는데 간간히 보이던 Node.js란 이름이

요즘에는 제법 많은 빈도로 보이게 된 때부터, 공부를 한번 해봐야겠다 생각이 들었다.

그리고 혼자 공부하면 조금 집중력이나, 진도가 느려질 것 같고

블로그에 글을 쓰면서 진행하면 좀 더 열심히 해보지 않을까 해서 글을 올린다.

 

정말 처음 배우는 입장이라, 잘못된 정보가 있을 수도 있지만

튜토리얼을 따라서 차근차근 진행할 예정이다.

왜 튜토리얼 사이트가 w3schools 이냐면,

그냥 많이 본 사이트라서 그렇다.

좀 더 좋은 Node.js 사이트가 있으면 다른 곳에서 진행할 수 도 있다.

 

Node.js 란?

- Node.js is an open source server environment
- Node.js is free
- Node.js runs on various platforms (Windows, Linux, Unix, Mac OS X, etc.)
- Node.js uses JavaScript on the server

라고 소개를 한다.

오픈소스이고, 프리고, 여러 플랫폼에서 작동된다는 것들 보다,

마지막이 눈에 띈다.

서버에서 JavaScript를 사용한다는 것은 정확히 어떤 것 인지는 모르겠다.

 

Why Node.js?

Node.js uses asynchronous programming!

Node.js는 비동기 프로그래밍을 사용한다고 한다.

지금 까지 본 것으로 Node.js를 정의하면

"서버에서 사용할 수 있는 비동기 JavaScript"

 

Node.js 다운로드하기

https://nodejs.org

 

Node.js

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

nodejs.org

 

해당 사이트로 들어가서 LTS버전을 다운로드하면 된다.

 

설치 과정은 이전에 해서 정확히 기억이 나진 않지만 아래와 같이 뜨면 된다.

node

myfirst.js

1
2
3
4
5
6
var http = require('http');
 
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type''text/html'});
  res.end('Hello World!');
}).listen(8080);

위와 같은 코드를 작성 후, cmd 창에서 node myfirst.js를 실행해주고,

브라우저에서 localhost:8080으로 접속하면 아래와 같이 뜰 것이다.

first node.js

서버에서 사용하는 JavaScript라는 게 이렇게 서버를 만드는 것을 얘기하는 것 인지는 모르겠지만,

일단 작동되는 페이지 하나를 만들었다.

 

Include Modules

한번 풀어서 보면 require()을 통해서 'http'모듈을 사용할 수 있게 만든다.

그래서 http로 서버를 만들고(createServer),

접속을 기다리는 구조인 것 같다.(listen)

 

자신만의 모듈 만들기

아래와 같은 모듈을 만들어 "myfirstmodule.js"로 저장하고,

1
2
3
exports.myDateTime = function () {
  return Date();
};

위 코드를 이전 코드와 합쳐 아래 코드를 만들어 보자.

 

1
2
3
4
5
6
7
8
var http = require('http');
var dt = require('./myfirstmodule');
 
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type''text/html'});
  res.write("The date and time are currently: " + dt.myDateTime());
  res.end();
}).listen(8080);

 

코드를 "demo_module.js"에 저장 후,

node demo_module.js로 실행하고, 브라우저를 실행했을 때 아래와 같이 뜨면 된다.

(시간은 물론 같지 않을 것이다.)

 

반응형