Post
KO

Node.js 란? [퍼옴]

출처 : http://codejob.co.kr/code/view/22/

Node.js란

서버사이드 자바스크립트 기술입니다. 기존의 자바스크립트들이 전부 브라우저에서 실행하는 형태였다면 node.js 는 서버사이드에서 실행되는 자바스크립트이죠. 그래서, 웹서버나 SMTP 서버 등과 같은 서버 프로그램을 작성할 수 있고, http://expressjs.com/ 와 같은 웹 프레임워크도 있습니다.

node.js 가 다른 개발 플랫폼에 비해 가지는 장점으로는

  • V8 - 스크립트 처리하는 인터프리터 중 성능이 좋은 편입니다. http://attractivechaos.github.com/plb/ 같은 것을 보면 (물론 실제 개발 시에는 언어 자체가 병목이 아닌 경우가 많습니다만) 일반 알고리즘 구현 시 V8 자체 퍼포먼스가 좋습니다. 성능이 어느정도 나오는 스크립트 언어라는 점은 확실히 장점이 되겠죠.
  • 기본 처리가 비동기 방식이다 - 물론 twisted 등이 있지만, 기본 처리들이 다 비동기여서, I/O 나 DB 질의 수행되는 라이브러리쪽까지 비동기 처리가 되게 되죠. 자바 보다는 느려도 적은 비용으로 중간 성능을 낼 수 있다는 것은 장점이 됩니다.
  • Java Script - 프론트엔드 개발자들이 직접 서버 개발을 하기 용이해졌습니다. 또한, 서버-클라이언트가 한 언어로 메인터넌스 된다는 것도 장점이 됩니다. 요새 실시간 업데이트가 필요한 웹 어플리케이션에서 node.js 이름 달고 나오는 것들의 수가 점점 늘어나고 있는 것이 느껴집니다.

ode.js 를 처음에 봤을 때 javascript 라이브러리인줄 알았습니다.

하지만 .js 가 붙은건 명칭일 뿐이고 브라우저와 같은 클라이언트에서 사용되는 자바스크립트 라이브러리와는 전혀 다른 놈입니다. 다만 자바스크립트 엔진인 v8이 빌트인 되어 있다고 하니 언어적인 측면에서 자바스크립트와 동일하겠네요.

정리하면 자바스크립트는 아니지만 자바스크립트 문법을 사용할 수 있다? 정도 되겠군요..

node.js의 가장 큰 특징은 비동기방식(asynchronous)을 들 수 있습니다.

그렇다면 또 이 비동기방식이 새로운 것이냐? 그렇지 않죠. 이미 오래전부터 널리 오래도록 사용되어 왔던 방식입니다. 대표적인 것으로 파이썬의 twisted를 들 수 있을 것입니다.

그럼 이 node.js가 갑자기 유명세를 타게 된 이유는 무엇일까? 많은 사람들은 이렇게 말합니다.

  • 사용이 편리 또는 쉬워졌다.
  • 자바스크립트와 문법이 동일하다.
  • 빠르다

이미 많은 사람들이 이런 자바스크립트의 이벤트기반 프로그래밍(jquery등)에 익숙해져 있기 때문에 이제 node.js와 같은 것에 접근하기가 쉬워진것도 하나의 이유가 되겠네요.

비동기방식은 왠지 좀 낯설고 어려운것으로 느껴졌었는데요.. 이 node.js가 바람을 일으키고 있는건 확실한 것 같습니다.

튜토리얼 잘 정리된 사이트 :

http://www.nodebeginner.org/

하지만 영문이라는게 함정.

This article is licensed under CC BY 4.0 by the author.