상세 컨텐츠

본문 제목

Node. js란 무엇인가요? 자바스크립트와 차이점은?

Node.js

by 지오 Jio 2020. 5. 13. 14:34

본문

1990년 웹이 처음 등장하면서 인류는 정보를 웹 페이지로 표현할 수 있게 되었고 인터넷을 통해서 웹페이지를 전송할 수 있게 되었습니다. 종이에 담겨 있던 수많은 정보들이 빠른 속도로 웹페이지로 만들어지기 시작합니다. 종이로부터 엑소더스가 시작되는 것이고 이것은 지적인 빅뱅의 신호탄이 되었습니다.

 

처음에는 html 만으로도 사람들은 행복했어요. 하지만 사람의 욕심은 끝이 없죠. 웹이 등장한 직후 여러 가지 불만들이 쏟아져 나옵니다. 그 수많은 불만족 중에 우리의 관심사는 html 을 직접 타이핑에서, 웹페이지를 수동으로 만드는 것에 지쳤다는 불만족입니다. 사람이 직접 html 코딩 해서 웹 페이지를 하나 하나 만들어 했기 때문에 html 에 구조를 바꾸려면 수많은 웹 페이지의 html 코드를 수동으로 수정해야 했어요.

 

또 방문자들이 직접 글을 올리도록 하고 싶었지만, 그렇다고 방문자들이 웹페이지가 담긴 파일을 마음대로 수정해 게 하는 것은 너무 위험한 일이었기 때문에 웹사이트 소유자만이 컨텐츠를 추가할 수 있었습니다. 즉, 성장의 한계 직면하게 된 것입니다.

 

한계에 봉착한 몇몇 선구자적 욕심쟁이 들은 귀찮고 반복되는 html 작성 작업을 기계에게 시키고 싶다는 욕심을 품게 됩니다. 그리고 이 욕망을 해소하기 위해서 일군의 컴퓨터 과학자들이 나서게 돼죠. 이들은 이미 자바스크립트에 익숙한 웹 개발자들이 새로운 컴퓨터 언어를 배우지 않고도 웹 페이지를 자동으로 생성하는 서버 쪽 애플리케이션을 만들 수 있게 하고 싶어졌습니다. 바로 이런 맥락에서 출현한 기술이 노드 js에요.

 

노드 js 이전의 이야기를 좀 들려드릴게요. 웹이 태어난 지 5년 뒤인 1995년 최초로 성공한 상업용 웹브라우저인 넷스케이프를 만든 넷스케이프 커뮤니케이션 사의 브랜든 아이크에게 자바스크립트의 제작을 의뢰합니다. 그에 의해서 만들어진 자바스크립트로 인해서 웹은 사용자와 상호작용하는 애플리케이션의 면모를 갖추게 됩니다. 문서 로 시작했던 웹이 애플리케이션으로 확장되는 혁신적인 변화의 순간이었다고 할 수 있습니다.

 

이때까지만 해도 자바스크립트 른 좋게 말하면 웹브라우저에서 유일하게 사용할 수 있는 독점적인 컴퓨터 프로그래밍 언어라고 할 수 있었고, 또 부정적으로 말하면 웹브라우저의 갇혀 있는 편파적인 언어라고 할 수 있었습니다. 이런 이중적인 평가 속에서 자바스크립트는 꾸준히 이 언어의 사용자를 넓혀가요.

 

2008년 자바스크립트 역사를 근본적으로 바꾸는 중요한 사건이 일어났습니다. 구글이 크롬 웹브라우저에서 동작하는 자바스크립트의 성능을 개선하기 위해서 V8 엔진을 개발했고 이를 오픈 소스로 공개합니다.

 

노드 js 의 창시자로 라이언 팔은 V8 엔진을 기반으로 하는 노드 js를 만들어요. 태초의 자바스크립트가 웹브라우저를 제어하는 것이었다면 노드 js 는 자바스크립트를 이용해서 웹브라우저가 아닌 컴퓨터 자체를 제어합니다. 마치 파이썬 자바 php 루비가 그런 것처럼요. 노드 js 라는 새로운 도구를 통해 웹 개발자들은 자신들에게 이미 익숙한 자바스크립트를 이용해서 웹페이지를 자동으로생성하는 웹 애플리케이션을 만들고 싶어졌어요.

 

웹 개발자들은 노드 js 열광했고 웹브라우저 라는 울타리에 갇혀 있던 자바스크립트는 빠른 속도로 웹브라우저 밖으로 팽창하기 시작합니다.오랫동안 쉽다는 이유로 또 웹브라우저 에서만 사용할 수 있다는 이유로 천대받던 자바스크립트가 가장 핫한 컴퓨터 언어로 인생역전 되는 순간이였습니다.

 

이제부터 우리는 자바스크립트를 이용해서 웹페이지를 찍어내는 거대한 공장인 웹 애플리케이션의 공장장이 되어봅시다. html을 코딩하는 지루하고 단순한 일은 웹 애플리케이션 등에 맞기고, 여러분은 컨텐츠를 생산하는 창의적인 일에 전념할 수 있게 될 것입니다. 자 준비 됐나요. 출발합시다. 

 

(이상은 다음 생활 코딩의 영상의 유튜브 스크립트입니다. 오타와 어색한 부분을 수정해서 올립니다.)

 

 

댓글 영역