Node.js는 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임 환경입니다. 주로 서버 사이드 애플리케이션을 개발하는 데 사용되며, 비동기적이고 이벤트 기반의 특성을 갖고 있습니다.
주요 특징과 개념
1. JavaScript 런타임: Node.js는 JavaScript를 실행하는 환경을 제공합니다. 기존에는 브라우저에서만 실행되는 JavaScript를 서버 사이드에서 실행할 수 있도록 해줍니다.
2. 비동기적 프로그래밍: Node.js는 비동기 이벤트 처리를 강조합니다. 이벤트 기반의 비동기 모델을 사용하여 여러 작업을 효율적으로 처리할 수 있습니다. 이를 통해 다수의 요청을 동시에 처리하고, I/O 작업이 완료될 때까지 블로킹하지 않고 계속 다른 작업을 수행할 수 있습니다.
3. 모듈 시스템: Node.js는 모듈 시스템을 갖고 있어 코드를 여러 파일로 구성하여 개발할 수 있습니다. 이로써 코드의 유지보수와 재사용성이 향상됩니다.
4. 패키지 매니저 (npm): Node.js는 npm이라는 패키지 매니저를 통해 모듈 및 패키지를 손쉽게 관리할 수 있습니다. 다양한 라이브러리와 프레임워크를 npm을 통해 설치하고 사용할 수 있습니다.
5. 서버 사이드 개발: 주로 웹 서버를 비롯한 서버 사이드 애플리케이션을 개발하는 데 사용됩니다. Express.js와 같은 프레임워크를 사용하면 빠르게 웹 애플리케이션을 구축할 수 있습니다.
6. Cross-platform 지원: Node.js는 Windows, macOS, Linux 등 다양한 플랫폼에서 실행될 수 있습니다.
간단한 Node.js 코드 예시
// 웹 서버 생성 예시 (Express.js를 사용한 경우)
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('Hello, World!');
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
'개념 창고' 카테고리의 다른 글
CI/CD 도구 (0) | 2024.02.06 |
---|---|
CI(Continuous Integration)와 CD(Continuous Deployment / Continuous Delivery) (1) | 2024.02.06 |
MSB(Most Significant Bit) & LSB(Least Significant Bit) (0) | 2024.01.31 |
Signed & Unsigned 정의 및 차이 (0) | 2024.01.31 |
SPA(Single Page Application) vs MPA(Multi Page Application) (0) | 2023.03.31 |