본문 바로가기

programming study/Node.js

[생활코딩]WEB2-Node.js (1)(2020.12.11)

본 내용은 아래의 강의를 토대로 하여 작성하였습니다.

링크:opentutorials.org/course/3332

 

WEB2 - Node.js - 생활코딩

수업소개 이 수업은 JavaScript를 이용해서 Node.js를 제어해 동적으로 HTML 코드를 생성하는 웹애플리케이션을 만드는 방법에 대한 수업입니다.  수업대상 예를들어 1억개의 페이지로 이루어진 웹사

opentutorials.org

 

1. 강의 내용

Node.js의 등장

90년대 웹이 등장하고 HTML은 종이의 수많은 정보를 웹 페이지로 만들 수 있게 하는 혁신을 불러왔다. 

하지만, 사람들은 이내 직접 타이핑해서 웹 페이지를 수동으로 만들어야 하는 것에 지쳐갔다. 이러한 단순 반복 작업을 기계에게 시키고 싶다는 욕망이 들기 시작했다. 그리고 2008년, 구글의 V8엔진 기반으로 이를 해결할 수 있는 Node.js가 등장했다.

 

생산성의 증가

관리하는 웹 사이트의 페이지가 많지 않다면 관리하는 것은 그리 어렵지 않다. 하지만, 정보가 증가함에 따라서 관리할 페이지가 기하급수적으로 늘어난다면 이 수많은 문서들을 관리하는 것은 매우 어려울 것이다. 예를 들어서, 각 웹 페이지에 리스트의 태그가 <ol>인데, <ul>로 바꿔야 한다면 그 페이지들을 일일이 바꾸는 것은 매우 시간 소요가 크고 효율이 좋지 않을 것이다. HTML은 사용하기 쉽지만 크만큼 단순하고 할 수 있는 것이 극히 제한되었다.

반면에, Node.js는 JavaScript를 기반으로 웹 페이지를 프로그래밍적으로 생성할 수 있다. 이 외에도 Node.js는 사용자가 컨텐츠를 생성, 업데이트를 할 수 있는 등의 장점들을 가지고 있다.

 

Node.js와 JavaScirpt

프로그래머는 웹 브라우저로부터 HTML의 문법에따라 기능을 호출해서 Application 만들 수 있다. 

 

Node.js와 JavsScript

이와 같이 Node.js runtime으로부터 JavaScirpt로 기능을 호출해 Node.js Application을 만들 수 있다. 

 

설치

맥 기준으로, nodejs.org/en/ 에서 LTS버전을 받으면 된다. 그 후, 설치가 되었는지 확인하기 위해서 터미널로 들어간 뒤에

node -v를 입력하고 버전 확인을 한다. 버전이 정상적으로 나온다면 이제 컴퓨터에 노드가 잘 설치된 것이다.

터미널에서 노드 명령어를 입력할 수 있는데,

 

 

node
console.log(1+1)

 

 

node명령어는 node모드로 전환하는 것이다. consloe.log는 괄호 안의 코드를 실행하고 화면에 출력한다. 노드에서 나가고 싶다면. exit명령어를 입력하거나 컨트롤과 C를 두 번 누른다.

 

Node.js로 웹 서버 만들기

 

아파치처럼 Node.js는 서버를 만들 수 있는 기능이 있다.

main.js라는 파일에

서버 구축

라는 명령어를 입력하면 서버가 구축의 준비가 되었다.

이제, 터미널에서 

 

 

node main.js

 

 

입력한 후, localhost:3000으로 들어가면 정상적으로 접속된다. 

 

 

  console.log(__dirname + url);

 

 

위 명령어를 실행하면, 콘솔창에서 main.js를 다시 실행했을 시,

 

디렉토리 출력

 

위와 같이 main.js의 디렉토리가 출력된다. 

 

 

 

 

2. 느낀 점

Node.js의 탄생 배경과 그 기능의 대해서 간략하게나마 알 수 있었다. 간이로 서버를 구축해봤는데, 아파치와는 달리, 명령어를 활용해서 사용자에게  전송하는 데이터를 바꿀 수 있다는 점이 인상 깊었다.

 

3. 명령어

node -v

버전 확인

 

node

노드 들어가기

 

console.log( )

코드 출력

 

. exit

노드 나가기

 

response.end( )

웹 페이지에서 데이터 전송하기