<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>https://ko.techpedia.wiki/index.php?action=history&amp;feed=atom&amp;title=Node.js</id>
	<title>Node.js - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="https://ko.techpedia.wiki/index.php?action=history&amp;feed=atom&amp;title=Node.js"/>
	<link rel="alternate" type="text/html" href="https://ko.techpedia.wiki/index.php?title=Node.js&amp;action=history"/>
	<updated>2026-05-07T11:13:58Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.42.7</generator>
	<entry>
		<id>https://ko.techpedia.wiki/index.php?title=Node.js&amp;diff=214&amp;oldid=prev</id>
		<title>LunaStev: 새 문서: == 개요 == &#039;&#039;&#039;Node.js&#039;&#039;&#039;는 Ryan Dahl이 2009년에 개발한   JavaScript 기반의 오픈소스 서버 사이드 런타임 환경이다.   Chrome V8 자바스크립트 엔진을 기반으로 동작하며,   비동기(Asynchronous) 이벤트 기반 모델을 채택해   대규모 네트워크 애플리케이션에 최적화되어 있다.  Node.js는 기존에 웹 브라우저에서만 실행되던 JavaScript를   서버 환경에서도 사용할 수 있도록...</title>
		<link rel="alternate" type="text/html" href="https://ko.techpedia.wiki/index.php?title=Node.js&amp;diff=214&amp;oldid=prev"/>
		<updated>2025-11-18T00:17:38Z</updated>

		<summary type="html">&lt;p&gt;새 문서: == 개요 == &amp;#039;&amp;#039;&amp;#039;Node.js&amp;#039;&amp;#039;&amp;#039;는 &lt;a href=&quot;/index.php?title=Ryan_Dahl&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Ryan Dahl (없는 문서)&quot;&gt;Ryan Dahl&lt;/a&gt;이 2009년에 개발한   &lt;a href=&quot;/wiki/JavaScript&quot; title=&quot;JavaScript&quot;&gt;JavaScript&lt;/a&gt; 기반의 오픈소스 서버 사이드 런타임 환경이다.   &lt;a href=&quot;/index.php?title=Chrome_V8&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Chrome V8 (없는 문서)&quot;&gt;Chrome V8&lt;/a&gt; 자바스크립트 엔진을 기반으로 동작하며,   비동기(Asynchronous) 이벤트 기반 모델을 채택해   대규모 네트워크 애플리케이션에 최적화되어 있다.  Node.js는 기존에 웹 브라우저에서만 실행되던 &lt;a href=&quot;/wiki/JavaScript&quot; title=&quot;JavaScript&quot;&gt;JavaScript&lt;/a&gt;를   서버 환경에서도 사용할 수 있도록...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== 개요 ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Node.js&amp;#039;&amp;#039;&amp;#039;는 [[Ryan Dahl]]이 2009년에 개발한  &lt;br /&gt;
[[JavaScript]] 기반의 오픈소스 서버 사이드 런타임 환경이다.  &lt;br /&gt;
[[Chrome V8]] 자바스크립트 엔진을 기반으로 동작하며,  &lt;br /&gt;
비동기(Asynchronous) 이벤트 기반 모델을 채택해  &lt;br /&gt;
대규모 네트워크 애플리케이션에 최적화되어 있다.&lt;br /&gt;
&lt;br /&gt;
Node.js는 기존에 웹 브라우저에서만 실행되던 [[JavaScript]]를  &lt;br /&gt;
서버 환경에서도 사용할 수 있도록 만든 런타임이다.  &lt;br /&gt;
싱글 스레드 구조이지만 [[이벤트 루프]]와 [[비동기 I/O]]를 활용해  &lt;br /&gt;
수천 개의 연결을 동시에 처리할 수 있다.&lt;br /&gt;
&lt;br /&gt;
== 주요 특징 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:100%;&amp;quot;&lt;br /&gt;
! 항목 !! 설명&lt;br /&gt;
|-&lt;br /&gt;
| 엔진 || [[Chrome V8 JavaScript Engine]] 기반  &lt;br /&gt;
|-&lt;br /&gt;
| 언어 || [[JavaScript]], [[TypeScript]]  &lt;br /&gt;
|-&lt;br /&gt;
| 구조 || 싱글 스레드 + 이벤트 루프 모델  &lt;br /&gt;
|-&lt;br /&gt;
| 비동기 처리 || [[libuv]]를 통한 Non-blocking I/O  &lt;br /&gt;
|-&lt;br /&gt;
| 패키지 관리자 || [[npm]] (Node Package Manager)  &lt;br /&gt;
|-&lt;br /&gt;
| 플랫폼 지원 || [[Windows]], [[Linux]], [[macOS]]  &lt;br /&gt;
|-&lt;br /&gt;
| 확장성 || [[C++]], [[Rust]], [[WASM]] 네이티브 모듈 연동 가능  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 역사 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:100%;&amp;quot;&lt;br /&gt;
! 연도 !! 버전/사건 !! 주요 내용&lt;br /&gt;
|-&lt;br /&gt;
| 2009 || 첫 공개 || Ryan Dahl, V8 기반 비동기 런타임 발표  &lt;br /&gt;
|-&lt;br /&gt;
| 2011 || npm 통합 || Node.js 패키지 관리 생태계 등장  &lt;br /&gt;
|-&lt;br /&gt;
| 2014 || io.js 분기 || 커뮤니티 포크(io.js) 등장  &lt;br /&gt;
|-&lt;br /&gt;
| 2015 || Node.js 재통합 (v4.0) || io.js 병합, LTS 체계 확립  &lt;br /&gt;
|-&lt;br /&gt;
| 2018 || Node.js 10 LTS || [[async/await]], [[HTTP/2]] 지원  &lt;br /&gt;
|-&lt;br /&gt;
| 2020 || Node.js 14+ || [[ES Modules]], [[Diagnostics Channel]] 도입  &lt;br /&gt;
|-&lt;br /&gt;
| 2023 || Node.js 20 || [[WebAssembly]], [[fetch API]] 기본 지원  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 동작 구조 ==&lt;br /&gt;
Node.js의 내부 구조는 다음과 같다:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:100%;&amp;quot;&lt;br /&gt;
! 계층 !! 구성 요소 !! 역할&lt;br /&gt;
|-&lt;br /&gt;
| 언어 계층 || [[JavaScript]] || 애플리케이션 코드 실행  &lt;br /&gt;
|-&lt;br /&gt;
| 엔진 계층 || [[V8 Engine]] || 자바스크립트 → 기계어 변환  &lt;br /&gt;
|-&lt;br /&gt;
| 런타임 계층 || [[libuv]], [[c-ares]] || 비동기 I/O, 이벤트 루프 처리  &lt;br /&gt;
|-&lt;br /&gt;
| 바인딩 계층 || [[C++ Addon]], [[N-API]] || 네이티브 모듈과 상호작용  &lt;br /&gt;
|-&lt;br /&gt;
| 시스템 계층 || [[OS Kernel]] || 파일, 네트워크, 프로세스 관리  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 이벤트 루프 (Event Loop) ==&lt;br /&gt;
Node.js의 핵심 구조는 &amp;#039;&amp;#039;&amp;#039;이벤트 루프(Event Loop)&amp;#039;&amp;#039;&amp;#039; 이다.  &lt;br /&gt;
이는 싱글 스레드 환경에서도 다중 요청을 동시에 처리할 수 있게 한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
console.log(&amp;#039;Start&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
setTimeout(() =&amp;gt; {&lt;br /&gt;
  console.log(&amp;#039;Async Task&amp;#039;);&lt;br /&gt;
}, 1000);&lt;br /&gt;
&lt;br /&gt;
console.log(&amp;#039;End&amp;#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== npm (Node Package Manager) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;npm&amp;#039;&amp;#039;&amp;#039;은 Node.js의 공식 패키지 관리 도구로,  &lt;br /&gt;
전 세계에서 가장 큰 오픈소스 모듈 저장소를 제공한다.  &lt;br /&gt;
&lt;br /&gt;
기본 명령어:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
npm init        # 프로젝트 초기화&lt;br /&gt;
npm install express   # 모듈 설치&lt;br /&gt;
npm run start   # 스크립트 실행&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
또한 [[Yarn]], [[pnpm]] 등의 대체 패키지 관리자도 존재한다.&lt;br /&gt;
&lt;br /&gt;
== 주요 모듈 ==&lt;br /&gt;
Node.js는 표준 모듈 세트를 포함하고 있으며,  &lt;br /&gt;
외부 패키지와 함께 풍부한 개발 생태계를 구성한다.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:100%;&amp;quot;&lt;br /&gt;
! 범주 !! 모듈 !! 설명&lt;br /&gt;
|-&lt;br /&gt;
| 파일 시스템 || [[fs]] || 파일 읽기/쓰기  &lt;br /&gt;
|-&lt;br /&gt;
| 네트워킹 || [[http]], [[net]], [[dns]] || 서버 및 TCP 통신  &lt;br /&gt;
|-&lt;br /&gt;
| 운영체제 || [[os]] || 시스템 정보 조회  &lt;br /&gt;
|-&lt;br /&gt;
| 이벤트 || [[events]] || 이벤트 생성 및 구독  &lt;br /&gt;
|-&lt;br /&gt;
| 스트림 || [[stream]] || 데이터 스트리밍 처리  &lt;br /&gt;
|-&lt;br /&gt;
| 암호화 || [[crypto]] || 해시, 암호화 연산  &lt;br /&gt;
|-&lt;br /&gt;
| 프로세스 || [[child_process]] || 외부 명령 실행  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 예제 코드 ==&lt;br /&gt;
간단한 웹 서버 예시:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
const http = require(&amp;#039;http&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
http.createServer((req, res) =&amp;gt; {&lt;br /&gt;
  res.writeHead(200, {&amp;#039;Content-Type&amp;#039;: &amp;#039;text/plain&amp;#039;});&lt;br /&gt;
  res.end(&amp;#039;Hello, TechPedia!\n&amp;#039;);&lt;br /&gt;
}).listen(8080);&lt;br /&gt;
&lt;br /&gt;
console.log(&amp;#039;Server running on http://localhost:8080&amp;#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 성능 특징 ==&lt;br /&gt;
* [[V8 JIT]]을 통한 빠른 실행 속도  &lt;br /&gt;
* [[libuv]] 기반 비동기 이벤트 루프  &lt;br /&gt;
* 낮은 리소스 점유로 고동시성(High Concurrency) 지원  &lt;br /&gt;
* [[Cluster]] 모듈로 멀티코어 활용 가능  &lt;br /&gt;
* [[Worker Threads]]로 병렬 처리 확장  &lt;br /&gt;
&lt;br /&gt;
== Node.js와 Deno, Bun 비교 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:100%;&amp;quot;&lt;br /&gt;
! 항목 !! Node.js !! Deno !! Bun&lt;br /&gt;
|-&lt;br /&gt;
| 개발자 || Ryan Dahl (2009) || Ryan Dahl (2018) || Jarred Sumner (2022)  &lt;br /&gt;
|-&lt;br /&gt;
| 엔진 || V8 || V8 || JavaScriptCore  &lt;br /&gt;
|-&lt;br /&gt;
| 언어 || JavaScript, TypeScript || TypeScript 기본 지원 || JS/TS/JSX  &lt;br /&gt;
|-&lt;br /&gt;
| 패키지 시스템 || npm || URL Import || npm 호환 + 자체 빌트인  &lt;br /&gt;
|-&lt;br /&gt;
| 보안 모델 || 제한적 || 샌드박스 기반 || 네이티브 모듈 통합  &lt;br /&gt;
|-&lt;br /&gt;
| 속도 || 빠름 || 빠름 || 매우 빠름 (Zig 기반 런타임)  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 활용 분야 ==&lt;br /&gt;
* [[웹 서버]] 및 [[API 서버]]  &lt;br /&gt;
* [[실시간 통신]] (WebSocket, Socket.IO)  &lt;br /&gt;
* [[CLI 도구]], [[빌드 시스템]]  &lt;br /&gt;
* [[IoT 디바이스]] 백엔드  &lt;br /&gt;
* [[Electron]] 기반 데스크톱 앱  &lt;br /&gt;
* [[Serverless Computing]] ([[AWS Lambda]], [[Vercel]])  &lt;br /&gt;
&lt;br /&gt;
== Node.js와 TypeScript ==&lt;br /&gt;
Node.js는 [[TypeScript]]와 결합해 대규모 애플리케이션 개발에 자주 사용된다.  &lt;br /&gt;
TS를 Node.js에서 실행하기 위해 [[ts-node]] 또는 [[Bun]], [[Deno]] 같은 런타임이 함께 쓰인다.&lt;br /&gt;
&lt;br /&gt;
== 현대 트렌드 ==&lt;br /&gt;
* [[ES Modules]](ESM) 완전 지원  &lt;br /&gt;
* [[fetch API]] 및 [[Web Streams]] 내장  &lt;br /&gt;
* [[WebAssembly]] 실행 지원  &lt;br /&gt;
* [[Rust]] 기반 네이티브 모듈 확장 증가  &lt;br /&gt;
* [[Bun]], [[Deno]]와의 런타임 경쟁  &lt;br /&gt;
* [[Edge Computing]] 및 [[Serverless]] 확장  &lt;br /&gt;
&lt;br /&gt;
== 같이 보기 ==&lt;br /&gt;
* [[JavaScript]]  &lt;br /&gt;
* [[TypeScript]]  &lt;br /&gt;
* [[V8 Engine]]  &lt;br /&gt;
* [[libuv]]  &lt;br /&gt;
* [[npm]]  &lt;br /&gt;
* [[Deno]]  &lt;br /&gt;
* [[Bun]]  &lt;br /&gt;
* [[Electron]]  &lt;br /&gt;
* [[Express]]  &lt;br /&gt;
* [[Next.js]]  &lt;br /&gt;
* [[Serverless Computing]]  &lt;br /&gt;
* [[Vercel]]  &lt;br /&gt;
&lt;br /&gt;
== 참고 문헌 ==&lt;br /&gt;
* Node.js Documentation – [https://nodejs.org/en/docs/ Official Site]  &lt;br /&gt;
* Ryan Dahl, “Introduction to Node.js”, JSConf (2009)  &lt;br /&gt;
* libuv Project Documentation  &lt;br /&gt;
* npm Registry Reference  &lt;br /&gt;
* Google V8 Engine Docs  &lt;br /&gt;
* Deno vs Node.js Comparison, 2024 TechRadar Report&lt;/div&gt;</summary>
		<author><name>LunaStev</name></author>
	</entry>
</feed>