"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Node.js 기초

Node.js 기초

2024-11-08에 게시됨
검색:910

Node.js Basics

Node.js는 개발자가 웹 브라우저 외부에서 JavaScript 코드를 실행할 수 있게 해주는 JavaScript 런타임 환경입니다. Chrome의 V8 JavaScript 엔진을 기반으로 구축된 이 엔진은 이벤트 중심의 비차단 I/O 모델을 사용하므로 가볍고 효율적이며 웹 서버, API, 및 실시간 애플리케이션.

Node.js의 주요 측면은 다음과 같습니다.

비동기: 작업이 완료될 때까지 기다리지 않고 여러 요청을 동시에 처리합니다.

단일 스레드: 단일 스레드에서 실행되지만 이벤트 루프를 사용하여 많은 작업을 효율적으로 관리합니다.

크로스 플랫폼: Windows, macOS, Linux에 배포할 수 있습니다.

NPM(노드 패키지 관리자): 개발을 간소화하는 데 사용할 수 있는 라이브러리와 도구의 방대한 생태계.

Node.js를 사용하면 개발자는 서버 측에서 JavaScript를 사용하여 확장 가능한 고성능 애플리케이션을 구축할 수 있습니다.

다음은 Node.js의 상위 5개 기능과 각 기능에 대한 샘플 예입니다.

1. 비동기식 및 비차단 I/O

Node.js는 함수의 비동기 실행을 허용합니다. 즉, 서버는 작업이 완료될 때까지 기다리지 않고 여러 요청을 동시에 처리할 수 있습니다.

예:

const fs = require('fs');

// Asynchronous file reading
fs.readFile('example.txt', 'utf8', (err, data) => {
  if (err) {
    console.error("Error reading file:", err);
    return;
  }
  console.log("File content:", data);
});

console.log("This prints before the file content is read!");

설명: 파일 작업이 완료되기를 기다리는 동안 다른 코드를 실행할 수 있도록 비차단 방식으로 파일을 읽습니다.

2. 이벤트 루프를 사용한 단일 스레드

단일 스레드임에도 불구하고 Node.js는 이벤트 루프를 사용하여 여러 동시 요청을 효율적으로 처리합니다.

예:

const http = require('http');

const server = http.createServer((req, res) => {
  res.writeHead(200, { 'Content-Type': 'text/plain' });
  res.end('Hello World!\n');
});

server.listen(3000, () => {
  console.log('Server running at http://127.0.0.1:3000/');
});

설명: 이벤트 루프를 사용하면 서버가 각 요청에 대해 새 스레드를 생성하지 않고도 여러 개의 수신 요청을 처리할 수 있습니다.

3. V8 엔진을 통한 빠른 실행

Node.js는 속도와 성능으로 유명한 Google의 V8 JavaScript 엔진을 기반으로 구축되었습니다.

예:

console.time('Execution Time');

let sum = 0;
for (let i = 0; i 



설명: 코드는 숫자의 합을 계산하고 V8 엔진의 최적화 덕분에 console.time을 사용하여 얼마나 빨리 실행되는지 보여줍니다.

4. NPM(노드 패키지 관리자)

Node.js에는 수천 개의 오픈 소스 라이브러리 및 도구에 대한 액세스를 제공하는 패키지 관리자인 NPM이 내장되어 있습니다.

예:

npm install express

const express = require('express');
const app = express();

app.get('/', (req, res) => {
  res.send('Hello World!');
});

app.listen(3000, () => {
  console.log('Express server listening on port 3000');
});

설명: 이 예에서는 NPM을 통해 사용할 수 있는 널리 사용되는 웹 프레임워크인 Express 프레임워크를 설치하고 사용하여 간단한 웹 서버를 만듭니다.

5. 플랫폼 간 호환성

Node.js 애플리케이션은 Windows, macOS, Linux 등 다양한 플랫폼에 배포할 수 있습니다.

예:

const os = require('os');

console.log('Platform:', os.platform());
console.log('Architecture:', os.arch());

설명: 이 스크립트는 os 모듈을 사용하여 현재 플랫폼과 시스템 아키텍처를 확인하고 인쇄하여 다양한 환경에서 작동하는 Node.js의 능력을 보여줍니다.

이러한 기능을 통해 Node.js는 확장 가능한 고성능 애플리케이션을 구축하는 데 매우 다재다능합니다.

릴리스 선언문 이 글은 https://dev.to/mrcaption49/nodejs-introduction-part-1-5c4a?1 에서 복제하였습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3