>  기사  >  웹 프론트엔드  >  7가지 질문을 통한 Node.js에 대한 간략한 소개

7가지 질문을 통한 Node.js에 대한 간략한 소개

青灯夜游
青灯夜游앞으로
2021-12-20 18:02:011656검색

Node.js를 아시나요? 이해가 되지 않는다면 시도해 볼 수 있습니다. 이 글은 7가지 질문을 사용하여 Node.js를 간략하게 이해하는 데 도움이 되기를 바랍니다.

7가지 질문을 통한 Node.js에 대한 간략한 소개

1. Node은 몇 년도에 태어났나요?

Node는 2009에 탄생했습니다. 2009

2009年3月,Node的作者在其博客上宣布准备基于V8创建一个轻量级的Web服务器并提供一套库

同年5月,在GitHub发布最初的版本

2011年7月,在微软的支持下发布了windows版本

2. 是谁创造出来的?

Ryan Dahl

2009년 3월 Node의 작성자는 블로그를 통해 V8 기반의 경량 웹 서버를 만들고 라이브러리 세트를 제공할 준비를 하고 있다고 발표했습니다.

동년 7월 GitHub에 초기 버전이 출시되었습니다

2011년 7월 Microsoft

2의 지원을 받아 Windows 버전이 출시되었습니다.

Ryan Dahl은 Node의 창시자이며 Node의 아버지로 불립니다

그러나 2012년 1월 Ryan Dahl은 Accepting Node 버전을 출시하고 버그 수정, Isaac Z.Schlueter는 NPM

3의 후기 작성자이기도 했습니다. 왜 Node라고 부르나요?

Node에는 Nodejs, NodeJS, Node.js 등 많은 별명이 있습니다. 그렇다면 왜 Node일까요?
  • 처음에 Ryan Dahl은 자신의 프로젝트를 웹 서버인 web.js라고 불렀으나 프로젝트 개발은 단순히 웹 서버를 개발하겠다는 원래 아이디어를 뛰어넘었습니다. 이는 네트워크 애플리케이션을 구축하기 위한 기본 프레임워크가 되었으며 서버, 클라이언트, 명령줄 도구 등과 같은 더 많은 것을 구축할 수 있습니다. Node는 어떠한 리소스도 공유하지 않는 단일 스레드, 단일 프로세스 시스템으로 개발되었으며, 네트워크 친화적인 라이브러리를 포함하고 있으며 대규모 분산 애플리케이션을 구축하기 위한 인프라를 제공합니다. 확장 가능한 네트워크 애플리케이션. 그 자체는 매우 간단하며 통신 프로토콜을 통해 많은 노드를 구성하고 대규모 네트워크 애플리케이션 구축 목적을 달성하기 위해 확장하기가 매우 쉽습니다. 이 네트워크 애플리케이션에서는 모든 Node 프로세스가 노드를 구성합니다. 이것이 바로 Node
  • 4의 의미입니다. JavaScript가 Node의 구현 언어가 된 이유는 무엇입니까?
  • Node의 구현 언어로 JavaScript를 선택하는 세 가지 주요 이유는 다음과 같습니다.

고성능

이벤트 중심 준수

기록 수하물 없음

  • Ryan Dahl은 한 번 C를 평가했습니다. , Lua, Haskell, Ruby 등을 대체 구현으로 사용할 수 있지만 C의 개발 임계값은 높고 Lua는 역사적 수하물이 많으며 Haskell은 아직 재생할 수 없다고 느끼고 Ruby의 가상 머신 성능은 그리 좋지 않습니다. 결국 JavaScript가 Node의 구현 언어로 선택되었습니다나처럼 생각할 수도 있습니다. JavaScript에는 역사적 수하물이 없습니까? 예, JavaScript는 백엔드에 시장이 없었으며 역사적 수하물은 0과 같습니다
  • 5. Node의 주요 기능은 무엇입니까?
  • 주로 다음 기능이 있습니다:

비동기 I/O

이벤트 및 콜백 기능

단일 스레드
  • Node는 프런트 엔드 브라우저 JavaScript의 친숙한 인터페이스를 유지하며 다시 작성하지 않습니다. 언어 자체의 모든 기능
  • 6. Node의 적용 시나리오는 무엇입니까?
  • Node의 주요 응용 시나리오는 다음과 같습니다.

CPU 집약적

CPU 집약적 비즈니스

분산 응용 프로그램

  • Node는 이벤트 루프의 처리 능력을 사용하며 더 많은 하드웨어 리소스를 더 효과적으로 구성하기 위해 각 요청에 대해 스레드를 시작할 필요가 없습니다. CPU 스택 작업에 ​​중점을 두는 기업의 경우 주로 V8의 심층적인 성능 최적화로 인해 Node의 성능이 충분히 효율적입니다. CPU 집약적인 문제는 무엇입니까? 애플리케이션이 Node에 가져오고 이를 해결하는 방법은 무엇입니까?

CPU 집약적인 애플리케이션이 Node에 가져올 주요 과제는 다음과 같습니다. JavaScript는 단일 스레드이므로 오랜 시간 동안 계산하면(예: 대규모 루프) CPU 타임 슬라이스가 해제되지 않습니다. 후속 I/O를 시작할 수 없게 만듭니다.
  • 일반적인 해결 방법:
  • 대규모 컴퓨팅 작업을 적절하게 조정하고 분해합니다.

위 해결 방법이 해결되지 않으면 Node는 CPU를 최대한 활용할 수 있는 두 가지 다른 방법이 있습니다.

🎜노드는 하위 프로세스를 통해 C/C++ 확장을 작성할 수 있습니다🎜🎜 방법, 노드 프로세스의 일부를 계산을 위한 상주 서비스 프로세스로 사용한 다음 프로세스 간 메시지를 사용하여 결과를 전송하고 I/O에서 계산을 분리🎜🎜 🎜노드 관련 지식을 더 보려면 🎜nodejs 튜토리얼🎜을 방문하세요! ! 🎜

위 내용은 7가지 질문을 통한 Node.js에 대한 간략한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 juejin.cn에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제