본문으로 건너뛰기
Advertisement

Node.js (Server Side)

추천 버전: Node.js 20 / 22 (LTS) 공식 문서: Node.js Documentation

Node.js는 크롬 V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임입니다. 이를 통해 자바스크립트를 브라우저 밖(서버 등)에서도 실행할 수 있습니다.

1. Node.js의 특징

  • 이벤트 기반, 논블로킹 I/O: 많은 연결을 효율적으로 처리할 수 있어 가볍고 효율적입니다.
  • npm (Node Package Manager): 세계 최대의 오픈 소스 라이브러리 생태계를 가지고 있습니다.
  • 단일 언어 개발: 프론트엔드와 백엔드를 모두 자바스크립트로 작성할 수 있습니다.

2. Hello World 서버 (표준 라이브러리)

const http = require('http');

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

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

3. Express 프레임워크

Node.js 환경에서 가장 널리 쓰이는 웹 프레임워크입니다.

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

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

app.listen(3000);

4. 비동기 프로그래밍

Node.js는 웹 요청이나 파일 읽기 등의 작업을 비동기적으로 처리하는 것이 필수적입니다.

  • Callback, ** Promise**, ** async/await**를 적절히 활용해야 합니다.

현대적인 웹 서버 개발을 위해 Node.js는 필수적인 기술 중 하나입니다.

Advertisement