Node.js-소개
Node.js 란 무엇입니까?
Node.js는 Google Chrome의 JavaScript Engine (V8 Engine)을 기반으로 구축 된 서버 측 플랫폼입니다. Node.js는 2009 년 Ryan Dahl에 의해 개발되었으며 최신 버전은 v0.10.36입니다. 공식 문서에서 제공하는 Node.js의 정의는 다음과 같습니다.
Node.js는 빠르고 확장 가능한 네트워크 애플리케이션을 쉽게 빌드하기 위해 Chrome의 JavaScript 런타임 에 빌드 된 플랫폼 입니다. Node.js는 이벤트 중심의 비 차단 I / O 모델을 사용하여 분산 된 장치에서 실행되는 데이터 집약적 인 실시간 애플리케이션에 완벽하고 가볍고 효율적입니다.
Node.js는 서버 측 및 네트워킹 애플리케이션을 개발하기위한 오픈 소스 크로스 플랫폼 런타임 환경입니다. Node.js 애플리케이션은 JavaScript로 작성되며 OS X, Microsoft Windows 및 Linux의 Node.js 런타임 내에서 실행할 수 있습니다.
Node.js는 또한 Node.js를 사용하여 웹 애플리케이션의 개발을 상당히 단순화하는 다양한 JavaScript 모듈의 풍부한 라이브러리를 제공합니다.
Node.js = Runtime Environment + JavaScript Library
Node.js의 기능
다음은 Node.js를 소프트웨어 아키텍트의 첫 번째 선택으로 만드는 몇 가지 중요한 기능입니다.
Asynchronous and Event Driven− Node.js 라이브러리의 모든 API는 비동기, 즉 비 차단입니다. 본질적으로 Node.js 기반 서버는 API가 데이터를 반환 할 때까지 기다리지 않습니다. 서버는 호출 후 다음 API로 이동하고, Node.js의 이벤트 알림 메커니즘은 서버가 이전 API 호출에서 응답을받을 수 있도록 도와줍니다.
Very Fast − Google Chrome의 V8 JavaScript Engine에 구축 된 Node.js 라이브러리는 코드 실행이 매우 빠릅니다.
Single Threaded but Highly Scalable− Node.js는 이벤트 루핑이있는 단일 스레드 모델을 사용합니다. 이벤트 메커니즘은 서버가 비 차단 방식으로 응답하도록 돕고 요청을 처리하기 위해 제한된 스레드를 생성하는 기존 서버와 달리 서버의 확장 성을 높입니다. Node.js는 단일 스레드 프로그램을 사용하며 동일한 프로그램이 Apache HTTP Server와 같은 기존 서버보다 훨씬 많은 수의 요청에 서비스를 제공 할 수 있습니다.
No Buffering− Node.js 애플리케이션은 데이터를 버퍼링하지 않습니다. 이러한 응용 프로그램은 단순히 데이터를 청크로 출력합니다.
License− Node.js는 MIT 라이선스에 따라 출시되었습니다 .
누가 Node.js를 사용합니까?
다음은 Node.js를 사용하는 프로젝트, 애플리케이션 및 회사의 전체 목록을 포함하는 github 위키의 링크입니다. 이 목록에는 eBay, General Electric, GoDaddy, Microsoft, PayPal, Uber, Wikipins, Yahoo! 및 Yammer가 포함됩니다.
노드를 사용하는 프로젝트, 애플리케이션 및 회사
개념
다음 다이어그램은 Node.js의 몇 가지 중요한 부분을 보여 주며 다음 장에서 자세히 설명합니다.
Node.js는 어디에서 사용합니까?
다음은 Node.js가 완벽한 기술 파트너임을 입증하는 영역입니다.
- I / O 바운드 애플리케이션
- 데이터 스트리밍 애플리케이션
- 데이터 집약적 실시간 애플리케이션 (DIRT)
- JSON API 기반 애플리케이션
- 단일 페이지 애플리케이션
Node.js를 사용하지 않는 곳은?
CPU 집약적 인 애플리케이션에는 Node.js를 사용하지 않는 것이 좋습니다.