>  기사  >  웹 프론트엔드  >  NodeJS 소개 [간단한 설명]

NodeJS 소개 [간단한 설명]

Susan Sarandon
Susan Sarandon원래의
2024-11-22 21:28:24211검색

Introduction to NodeJS [Simple Explanation]

NodeJS란 무엇입니까?

  • 오픈 소스 및 크로스 플랫폼 Javascript 런타임 환경.
  • Google Chrome의 핵심인 Javascript V8 엔진에서 실행됩니다.
  • 단일 스레드 및 비동기 프로그래밍을 사용합니다.

NodeJS가 단일 스레드인 경우 여러 요청을 어떻게 처리합니까?

셰프가 단 한 명뿐인 레스토랑에 간다고 상상해 보세요. 웨이터에게 파스타를 주문합니다. 웨이터는 요리사에게 주문 및 기타 고객 주문에 대해 알립니다. 요리사는 파스타 주문을 받았지만 파스타를 끓이는 데 시간이 걸린다는 것을 깨달았습니다. 파스타가 익을 때까지 기다리는 대신 스토브에 파스타를 넣고 끓이는 동안 다른 주문을 처리하기 시작합니다/

NodeJS도 비슷하게 작동합니다.
Chef = Node.js의 메인 스레드(Node.js는 메인 스레드에서 한 번에 한 가지 작업만 수행할 수 있습니다)

웨이터 = 이벤트 루프(이벤트 루프는 들어오는 요청을 받아 처리 방법을 결정합니다)

Kitchen Helpers = 작업자 스레드 또는 OS 백그라운드 프로세스(Node.js는 작업을 도우미에게 위임합니다)

예를 들어, I/O 작업에서 웹 서버가 파일에서 콘텐츠를 가져오도록 요청하면 NodeJS는 단순히 작업을 OS의 파일 시스템에 위임하고 후속 요청을 처리할 준비를 합니다. 파일 시스템이 응답하면 이를 처리합니다.

다른 백엔드 애플리케이션 대신 NodeJS를 선택해야 하는 이유는 무엇입니까?

  • 스택 전체에서 동일한 언어: 대부분의 프런트엔드 개발에서는 Angular, React, Vue 등과 같은 JS 프레임워크를 사용합니다. 백엔드 애플리케이션이 Javascript로 작성된다면 엄청난 이점이 될 것입니다. 풀스택 개발자는 백엔드 개발을 위해 새로운 언어를 배울 필요가 없습니다.

  • 마이크로서비스 기반 아키텍처에 이상적: NodeJS의 단일 스레드 이벤트 루프 아키텍처는 사용 가능한 스레드가 완료될 위험이 없기 때문에 멀티 스레드 아키텍처보다 웹 개발자에게 훨씬 더 편리합니다. 여러 동시 요청을 처리할 때

  • 빠른 개발: NodeJS는 매우 가볍고 NodeJS 서버는 약간의 노력으로도 빠르게 시작하고 실행할 수 있습니다.

  • NPM: NodeJS 패키지 관리자는 전 세계적으로 개발자가 작성하는 방대한 코드 라이브러리입니다. 프로젝트에서 종속성으로 쉽게 사용할 수 있으므로 추가 코드를 작성하는 노력이 줄어듭니다.

"NodeJS 서버는 적은 노력으로도 빠르게 실행될 수 있습니다." - 그렇게 간단합니까?

그렇습니다.

const { createServer } = require('node:http');

const hostname = '127.0.0.1';
const port = 3000;

const server = createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

이 코드의 기능:

  • NodeJS의 http 모듈을 사용합니다.
  • 호스트와 포트를 구성합니다.
  • http 모듈의 createServer 메소드를 사용하여 서버를 생성합니다.
  • 새 요청이 수신될 때마다 요청 이벤트가 호출되어 http.IncomingMessage 객체와 http.ServerResponse 객체라는 두 객체를 제공합니다.
  • 생성된 서버는 호스트와 포트를 수신합니다.

그리고 그게 다입니다. 이제 node server.js(여기서 server.js는 코드 파일 이름임)를 실행하면 NodeJS 서버가 "작동 및 실행"됩니다.

위 내용은 NodeJS 소개 [간단한 설명]의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.