관리 메뉴

JIHYUN JEONG

Nodejs 란? 본문

Information Technology/Node.js

Nodejs 란?

StopHyun 2017. 8. 15. 19:08

앞으로 Nodejs에 대한 내용을 정리할려고 합니다. 


중간중간에 Javascript에 대한 내용도 함께 포함이 될 예정입니다.





1995

Javascript 언어의 등장
 

 - 이때까지만 해도 자바스크립트는 Web에서만 동작하였기 때문에 그 당시 전문적인 개발자들에게는 크게 집중 받지 못하였다. 기본적인 철학은 많은 사람들이 쉽게 프로그래밍을 개발 할 수 있게 할 수 있게 하는 것이였다. 





2004
Google Gmail&Map 등장


- HTML, CSS, Javascript로 순수한 웹 기술을 사용하여 Gmail 서비스를 발표함으로 써 많은 개발자들에게 Javascript에 대한 관심을 불러 일으키는 계기가 되었다.






2008
Google Chrome 웹브라우저 발표


 - 자바스크립트 성능을 높이기 위해서 V8 엔진개발, 오픈소스로 공개함으로써 각자의 시스템의 자바스크립트로 프로그램을 할 수 있게 됨.

 - 이를 통해서 웹에서 뿐만 아니라 다른 분야에서 쓰이기 시작함




2009
Node.js 프로젝트 출범


 - 라이언 달(Ryan dahl)을 통해서 Node.js 프로젝트가 출범 





Node.js 정의


- Node.js는 확장성 있는 네트워크 애플리케이션(특히 서버 사이드) 개발에 사용되는 소프트웨어 플랫폼이다. 작성 언어로 자바스크립트를 활용하며 Non-blocking I/O와 단일 스레드 이벤트 루프를 통한 높은 처리 성능을 가지고 있다.

내장 HTTP 서버 라이브러리를 포함하고 있어 웹 서버에서 아파치 등의 별도의 소프트웨어 없이 동작하는 것이 가능하며 이를 통해 웹 서버의 동작에 있어 더 많은 통제를 가능케 한다.

(출처: 위키피디아, https://ko.wikipedia.org/wiki/Node.js)




Node.js 특징

  - 구글 V8 엔진사용 

  - Event-driven + Non-blocking IO의 결합

  - 웹브라우저에서 동작하는 자바스크립트가 서버쪽에서 동작하는 자바스크립트

  - 자바스크립트를 할줄 알 경우 자바스크립트의 형식을 통해서 Web Browser와 Node.js 제어 가능

  - 자바스크립트를 알고 있더라도 Web browser와 Node.js에 대한 세부적인 기능을 모른다면 런타임을 제어해서 컴퓨터를 제어할 수 없습니다. 





Node.js 장점

 1. 속도가 빠르다. 

  - V8 엔진사용

 2. Event-driven + Non-blocking IO 적절히 사용할 경우 굉장히 빠름 

 3. 웹브라우저, 클라이언트부터 서버쪽에서 하나의 언어로 사용해서 애플리케이션을 구현 할 수 있다.





추가적으로 Node.js를 통해서 AI, Watson API도 활용할 수 있다! 향후에 Node.js를 통해서 Watson API를 활용한 챗봇을 만드는 내용도 설명할 예정이다.



# 참고 - Build a bot in 6 minutes with IBM Watson Conversation





Comments