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는 필수적인 기술 중 하나입니다.