<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>https://devhrxoobm.itwiki.kr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=%EA%B0%9C%EB%B0%A5%EC%9E%90</id>
	<title>IT 위키 - 사용자 기여 [ko]</title>
	<link rel="self" type="application/atom+xml" href="https://devhrxoobm.itwiki.kr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=%EA%B0%9C%EB%B0%A5%EC%9E%90"/>
	<link rel="alternate" type="text/html" href="https://devhrxoobm.itwiki.kr/w/%ED%8A%B9%EC%88%98:%EA%B8%B0%EC%97%AC/%EA%B0%9C%EB%B0%A5%EC%9E%90"/>
	<updated>2026-09-16T01:51:52Z</updated>
	<subtitle>사용자 기여</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://devhrxoobm.itwiki.kr/index.php?title=Node.js&amp;diff=4166</id>
		<title>Node.js</title>
		<link rel="alternate" type="text/html" href="https://devhrxoobm.itwiki.kr/index.php?title=Node.js&amp;diff=4166"/>
		<updated>2019-10-14T11:34:51Z</updated>

		<summary type="html">&lt;p&gt;개밥자: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[분류:네트워크]][[분류:인터넷]]&lt;br /&gt;
;[[V8|V8(자바스크립트 엔진)]] 위에서 동작하는 이벤트 처리 I/O 프레임워크&lt;br /&gt;
&lt;br /&gt;
== 특징 ==&lt;br /&gt;
* 비동기: 비동기 I/O를 구현하여 고속의 서버기능 구현가능&lt;br /&gt;
* 싱글스레드: 멀티스레드 모델을 배제하고 싱글스레드 모델로 스레드 레벨의 Context Switching의 자원 효율적 사용&lt;br /&gt;
* Event Loop: Callback 함수를 통한 Event Loop로 사용자의 요구사항을 처리하는 구조&lt;br /&gt;
&lt;br /&gt;
== 장단점 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 구분&lt;br /&gt;
! 장단점&lt;br /&gt;
! 내용&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | 장점&lt;br /&gt;
| NPM 지원&lt;br /&gt;
| 확장 기능을 제공하는 모듈 수십만 개&lt;br /&gt;
|-&lt;br /&gt;
| 비동기 I/O&lt;br /&gt;
| 작업이 기다릴때 까지 기다리지 않아 응답속도 빠름&lt;br /&gt;
|-&lt;br /&gt;
| 싱글 스레드&lt;br /&gt;
| 이벤트 기반 싱글 스레드로 Context change 오버헤드 없음&lt;br /&gt;
|-&lt;br /&gt;
| 간결한 코드&lt;br /&gt;
| 자바 대비 코드량 33% 감소&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 단점&lt;br /&gt;
| OS 필요&lt;br /&gt;
| 리눅스와 같은 OS가 필요하여 임베디드로 활용 어려움&lt;br /&gt;
|-&lt;br /&gt;
| 콜백 Hell 발생&lt;br /&gt;
| Callback이 중첩될 경우 가독성, 구현성 크게 떨어짐&lt;br /&gt;
|-&lt;br /&gt;
| 싱글 스레드&lt;br /&gt;
| 하나의 작업 지연으로 시스템 성능 저하, 멀티코어 머신 최적화 어려움&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== node.js 동작 구조 ==&lt;br /&gt;
[[파일:Nodejs.jpg]]&lt;br /&gt;
&lt;br /&gt;
== 구성 요소 ==&lt;br /&gt;
* &#039;&#039;&#039;V8&#039;&#039;&#039;: 구글의 오픈소스 Javascript 엔진(크롬에서 사용됨)&lt;br /&gt;
* &#039;&#039;&#039;libuv&#039;&#039;&#039;: 이벤트 기반의 비동기 I/O, 이벤트처리 라이브러리. 아래 두 라이브러리는 현재 libuv로 대체됨&lt;br /&gt;
** libeio(현재 미사용): 이벤트 기반의 모든 게 비동기로 동작하는 C언어용 I/O&lt;br /&gt;
** libev(현재 미사용): 다양한 기능을 가진 고성능 이벤트 루프 라이브러리&lt;br /&gt;
* &#039;&#039;&#039;Low-Level Components&#039;&#039;&#039;: HTTP 파서, OpenSSL 등 C로 개발된 모듈&lt;br /&gt;
* &#039;&#039;&#039;Node Binding&#039;&#039;&#039;: C와 자바스크립트 바인딩 처리&lt;br /&gt;
* &#039;&#039;&#039;Node Standard Library&#039;&#039;&#039;: 자바스크립트로 이루어진 기본 라이브러리 영역&lt;/div&gt;</summary>
		<author><name>개밥자</name></author>
	</entry>
	<entry>
		<id>https://devhrxoobm.itwiki.kr/index.php?title=%ED%8C%8C%EC%9D%BC:Nodejs.jpg&amp;diff=4165</id>
		<title>파일:Nodejs.jpg</title>
		<link rel="alternate" type="text/html" href="https://devhrxoobm.itwiki.kr/index.php?title=%ED%8C%8C%EC%9D%BC:Nodejs.jpg&amp;diff=4165"/>
		<updated>2019-10-14T11:26:08Z</updated>

		<summary type="html">&lt;p&gt;개밥자: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>개밥자</name></author>
	</entry>
</feed>