본문 바로가기
IT story

Node.js

by ChocoPeanut 2017. 4. 19.

Node.js

 


인터넷 상에는 수많은 웹 사이트가 존재한다. 이러한 웹을 개발 할 때에는 두 가지의 부분으로 크게 나눌 수 있다. 웹페이지 디자인이나 버튼 기능처럼 사용자가 사용할 수 있는 부분을 만드는 프론트엔드와 사용자가 볼 수는 없지만 서버나 데이터를 관리하는 역할을 하는 백엔드 부분이다. HTML이나 CSS와 같은 부분은 프론트엔드 기술이고 DB나 서버는 백엔드 기술에 속한다. 프론트엔드 부분에 큰 영향을 끼치는 기술이 있는데 그것이 바로 자바스크립트이다.



웹사이트의 3대 요소로 HTML, CSS 그리고 자바스크립트라고 할 수 있다. HTML은 웨베이지의 큰 뼈대를 담당하고 CSS는 디자인적 요소를 담당하고 자바스크립트는 객체지향 스크립트 언어로서 웹페이지의 동자에 대한 담당을 한다. 프로그래밍 입문자들은 자바스크립트와 자바가 같은 언어라고 생각할 수 있는데 완전 다른 언어이며 상관이 없는 언어이다. 자바스크립트는 컴파일 과정이 없기 때문에 다른 언어와 비교했을 때 빠른 시간 안에 스크립트 코드를 작성 할 수 있게 도와준다. 이런 장점으로 초보자들도 쉽게 배울 수 있다. 자바스크립트는 스택오버플로우라는 커뮤니티에서 2015년에 스위프트와 함께 개발자들이 가장 많이 관심을 가지는 언어로 뽑힐 만큼 인기가 있는 언어이다.



이런 자바스크립트의 언어에 인기에 큰 영향을 준 것이 Node.js라고 할 수 있다. 예전에는 자바스크립트는 유동적으로 변화를 할 수 있는 프론트엔드를 제작하는 곳에만 사용이 되었다. 하지만 Node.js에 의해 자바스크립트를 통해 백엔드의 서버단 기술에까지 제어를 할 수 있게 되었다.


Node.js는 확정성 있는 네트워크 애플리케이션 개발에 사용되는 소프트웨어 플랫폼이다. 작성 언어는 위에서 설명한 것과 같이 자바스크립트를 이용한다. Node.js는 자바스크립트 엔진 V8 위에서 동작하는 이벤트 처리 I/O프레임워크라고 할 수 있다.


Node.js의 장점은 비동기 프로그래밍이라고 할 수 있는데 비동기는 이벤트를 요청하고 바로 결과를 받지 않아도 되어서 결과 값을 기다리지 않고 보다 다양한 요청을 처리할 수 있는 것을 의미한다. 또한 프론트엔드와 백엔드를 작성하는 것에 모두 자바스크립트라는 하나의 언어로 작업을 할 수 있게 된 것도 Node.js의 큰 장점이라고 할 수 있다. 내장 HTTP 서버 라이브러리를 포함하고 있어 웹 서버에서 아파치 등의 별도의 소프트웨어 없이 동작하는 것이 가능해졌으며 이를 통해 웹 서버의 동작에 있어 더 많은 통제가 가능하다. 하지만 Node.js라는 프레임워크가 제작된 지 시기적으로 얼마 되지 않았기 때문에 다양한 예제나 모듈의 완성도가 다른 툴에 비해서 조금 부족하다는 단점이 있다.


Node.js2009Ryan Dahl에 의해 고안이 되었는데 플리커의 파일 업로드 진행 표시줄을 보았을 때, 파일이 얼마나 업로드 되었는지 알기 위해서는 서버에 쿼리를 전송해야 한다는 점을 보고 더 쉬운 방법을 찾다가 Node.js를 만들었다고 한다. 200911월 유럽에서 열린 자바스크립트 컨퍼런스에서 처음으로 Node.js를 공개했다.


현재 Node.js의 인기로 Node.js를 기반으로 개발하는 기업들도 점차 늘어나고 있다. Node.js 재단 역시 기업용 서비스로 확장하려는 움직임을 많이 보인다고 한다






출처 - 네이버캐스트 [노드JS]

'IT story' 카테고리의 다른 글

레드햇(Redhat)  (0) 2017.04.22
사물인터넷(IoT)  (0) 2017.04.21
라즈베리파이  (0) 2017.04.19
도메인 등록 방법  (0) 2017.04.18
IT 브랜드 가치 순위 : 1위~5위 (2017년 기준)  (0) 2017.04.16