NodeJS는 무엇인가요?

Node.js는 Chrome의 V8 JavaScript 엔진에 빌드된 오픈 소스, 교차 플랫폼, 서버 측 JavaScript 런타임 환경으로, Ryan Dahl이 최초로 개발하여 2009년에 출시되었습니다.

Node.js는 Windows에서 작동하나요?

있음. Windows에서는 Node.js를 사용하여 앱을 개발할 수 있도록 두 가지 환경을 지원합니다.

NodeJS로 무엇을 할 수 있나요?

Node.js는 빠르고 확장 가능한 웹 애플리케이션을 빌드하는 데 주로 사용됩니다. 이벤트 구동, 비 블로킹 I/O 모델을 사용하므로 가볍고 효율적입니다. 분산형 디바이스에서 실행되는 데이터를 많이 사용하는 실시간 애플리케이션에 좋은 프레임워크입니다. Node.js를 사용하여 만들 수 있는 작업의 몇 가지 예는 다음과 같습니다.

  • SPA(단일 페이지 앱): 브라우저 내에서 작동하는 웹앱이며, 새 데이터를 가져오는 데 사용할 때마다 페이지를 다시 로드할 필요가 없습니다. SPA의 몇 가지 예로는 소셜 네트워킹 앱, 메일 또는 지도 앱, 온라인 텍스트 또는 그리기 도구 등이 있습니다.
  • RTA(실시간 앱): 이러한 웹앱은 사용자(또는 소프트웨어)가 정기적으로 업데이트가 있는지 소스를 확인하도록 요구하는 대신, 작성자가 게시하는 즉시 정보를 받을 수 있도록 하는 웹앱입니다. RTA의 예에는 인스턴트 메시징 앱 또는 대화방, 브라우저에서 재생할 수 있는 온라인 멀티플레이 게임, 온라인 공동 작업 문서, 커뮤니티 스토리지, 화상 회의 앱 등이 포함됩니다.
  • 데이터 스트리밍 앱: 연결을 열어 두어 필요에 따라 추가 데이터, 콘텐츠 또는 구성 요소를 계속 다운로드하면서 도착하는(또는 생성된) 데이터/콘텐츠를 전송하는 앱(또는 서비스)입니다. 몇 가지 예로는 비디오 및 오디오 스트리밍 앱이 있습니다.
  • REST APIs: 이러한 인터페이스는 다른 사람의 웹앱이 상호 작용할 데이터를 제공하는 인터페이스입니다. 예를 들어 일정 API 서비스는 다른 사용자의 로컬 이벤트 웹 사이트에서 사용할 수 있는 콘서트 장소에 대한 날짜 및 시간을 제공할 수 있습니다.
  • SSRP(서버 쪽 렌더링 앱): 이러한 웹앱은 클라이언트(브라우저/프런트 엔드) 및 서버(백 엔드) 둘 다에서 실행될 수 있으므로 동적 페이지에서 알려진 콘텐츠는 표시(HTML 생성)하고 알려지지 않은 콘텐츠는 사용할 수 있게 될 때 가져오도록 할 수 있습니다. 이러한 애플리케이션을 종종 "동일구조" 또는 "유니버설" 애플리케이션이라고 합니다. SSR은 사용할 때마다 다시 로드 하지 않아도 되는 SPA 방법을 활용합니다. 그러나 SSR은 사이트의 콘텐츠를 Google 검색 결과에 표시하고 앱에 대한 링크가 X 또는 Facebook과 같은 소셜 미디어에서 공유될 때 미리 보기 이미지를 제공하는 것과 같이 중요하거나 중요하지 않을 수 있는 몇 가지 이점을 제공합니다. 잠재적인 단점은 Node.js 서버를 지속적으로 실행해야 한다는 것입니다. 예를 들어, 사용자가 검색 결과 및 소셜 미디어에 표시하려고 하는 이벤트를 지원하는 소셜 네트워킹 앱은 SSR에서 혜택을 받을 수 있지만, 메일 앱은 SPA로도 충분할 수 있습니다. WordPress 블로그와 비슷할 수도 있는 서버에서 렌더링된 SPA 없는 앱을 실행할 수도 있습니다. 알 수 있는 것처럼 복잡성이 늘어나서 중요한 사항만 결정해야 할 수도 있습니다.
  • 명령줄 도구: 이러한 작업을 통해 반복적인 작업을 자동화하고 방대한 Node.js 에코시스템에 도구를 배포할 수 있습니다. 명령줄 도구의 예로는 클라이언트 URL을 나타내는 cURL이 있습니다. 이 도구는 인터넷 URL에서 콘텐츠를 다운로드하는 데 사용됩니다. cURL은 Node.js 또는 Node.js 버전 관리자와 같은 항목을 설치하는 데 종종 사용됩니다.
  • 하드웨어 프로그래밍: 웹앱으로 널리 사용되지는 않지만, Node.js는 센서, 비콘, 송신기, 모터 또는 대량의 데이터를 생성하는 장치에서 데이터를 수집하는 것과 같은 IoT 용도로는 널리 사용됩니다. Node.js는 데이터 수집, 해당 데이터를 분석, 디바이스와 서버 간 통신, 분석에 따른 작업 수행 등을 지원할 수 있습니다. NPM에는 Arduino 컨트롤러, raspberry pi, Intel IoT Edison, 다양한 센서 및 Bluetooth 디바이스를 위한 80가지 이상의 패키지가 포함되어 있습니다.

다음 단계