Node.js

Node.js
Node.js
원본 작성자라이언 달
개발자OpenJS 파운데이션
초기출시2009년 5월 27일; 14년 전 (2009-05-27)[1]
안정적 해제
20.6.0[2] / 2023년 9월 4일; 21일 전(2023년 9월 4일)
저장소
기재.자바스크립트, C++, 파이썬
운영체제z/OS, Linux, macOS, Microsoft Windows, SmartOS, FreeBSD, OpenBSD, IBM AIX[3]
유형런타임 환경
면허증.MIT 라이선스[4][5]
웹사이트nodejs.org Edit this on Wikidata

Node.js윈도우즈, 리눅스, 유닉스, macOS 등에서 실행할 수 있는 크로스 플랫폼 오픈 소스 서버 환경입니다.Node.js는 백엔드 자바스크립트 런타임 환경으로 V8 자바스크립트 엔진에서 실행되며 웹 브라우저 외부에서 자바스크립트 코드를 실행합니다.

Node.js는 개발자들이 자바스크립트를 사용하여 명령줄 도구를 작성하고 서버측 스크립팅을 할 수 있게 해줍니다.서버에서 JavaScript 코드를 실행하는 기능은 페이지가 사용자의 웹 브라우저로 전송되기 전에 동적페이지 내용을 생성하는 데 자주 사용됩니다.결과적으로, Node.js는 서버와 클라이언트 측 프로그래밍을 위해 서로 다른 언어를 사용하는 것이 아니라, 하나의 프로그래밍 언어를 중심으로 웹 애플리케이션 개발을 통합하는 "[6]모든 곳에 자바스크립트" 패러다임을 나타냅니다.

Node.js는 비동기 I/O가 가능한 이벤트 중심 아키텍처를 가지고 있습니다.이러한 설계 선택은 실시간애플리케이션(예: 실시간 통신 프로그램 및 브라우저 게임)뿐만 아니라 입출력 작업이 많은 웹 애플리케이션에서 처리량확장성을 최적화하는 것을 목표로 합니다.[7]

Node.js 분산 개발 프로젝트는 이전에 Node.js Foundation에 의해 관리되었으며,[8] 현재는 JS Foundation과 병합되어 OpenJS Foundation을 구성하고 있습니다.OpenJS Foundation은 Linux Foundation의 Collaborative Projects 프로그램에 의해 촉진됩니다.[9]

역사

2010년 Node.js를 만든 Ryan Dahl

Node.js는 최초의 서버측 자바스크립트 환경인 Netscape의 LiveWire Pro Web이 도입된 지 약 13년 후인 2009년에 Ryan Dahl에 의해 최초로 작성되었습니다.[10][11]초기 릴리스에서는 리눅스와 맥 OS X만 지원했습니다.그 개발과 유지보수는 달이 주도했고 후에 조이엔트가 후원했습니다.[12]

Dahl은 2009년에 가장 인기 있는 웹 서버인 Apache HTTP Server의 많은 동시 연결(최대 10,000개 이상)과 코드를 만드는 가장 일반적인 방법(순차 프로그래밍)의 제한된 가능성을 비판했습니다.코드가 전체 프로세스를 차단하거나 동시 연결의 경우 다중 실행 스택을 암시하는 경우.[13]

Dahl은 2009년 11월 8일 첫 유럽 JSC콘프에서 이 프로젝트를 시연했습니다.[14][15][16]Node.js는 구글V8 자바스크립트 엔진, 이벤트 루프, 로우 레벨 I/O API를 결합하였습니다.[17]

2010년 1월, npm이라는 Node.js 환경을 위한 패키지 관리자가 도입되었습니다.[18]패키지 관리자는 프로그래머들이 Node.js 패키지의 소스 코드를 게시하고 공유할 수 있도록 해주며 패키지의 설치, 업데이트 및 제거를 단순화하도록 설계되었습니다.[17]

2011년 6월 마이크로소프트와 조이엔트는 Node.js의 네이티브 윈도우 버전을 구현했습니다.[19]윈도우를 지원하는 최초의 Node.js 빌드는 2011년 7월에 출시되었습니다.

2012년 1월, 달은 프로젝트를 관리하기 위해 동료이자 npm 제작자인 아이작 슐루터(Isac Schlueter)[20]를 홍보했습니다.2014년 1월, 슐루터는 티모시 J. 폰테인(Timothy J. Fontaine)이 프로젝트를 이끌 것이라고 발표했습니다.[21]

2014년 12월, 페도르 인두트니는 Node.js의 포크인 io.js를 시작했습니다.조이엔트의 지배구조를 둘러싼 내부 갈등으로 인해 io.js는 별도의 기술위원회를 두고 오픈 거버넌스 대안으로 만들어졌습니다.[22][23]Node.js와 달리 저자들은 io.js를 구글 V8 자바스크립트 엔진의 최신 버전으로 유지할 계획이었습니다.[24][25]

2015년 2월, 중립 Node.js 재단의 설립 의도가 발표되었습니다.2015년 6월까지 Node.js와 io.js 커뮤니티는 Node.js 재단 아래에서 함께 일하기로 투표했습니다.[26]

2015년 9월, Node.js v0.12와 io.js v3.3이 다시 Node v4.0으로 병합되었습니다.[27]이 합병으로 V8 ES6 기능이 Node.js로 통합되었고 장기적인 지원 릴리스 주기가 되었습니다.[28]2016년 현재 io.js 웹사이트는 개발자들이 Node.js로 다시 전환할 것을 권고하고 있으며 합병으로 인해 io.js의 더 이상의 릴리스가 계획되어 있지 않습니다.[29]

2019년에 JS 재단과 Node.js 재단이 통합되어 OpenJS 재단이 설립되었습니다.

2023년 3월 15일 Node.js 19.8.1이 출시되었습니다.[30]

2023년 9월 6일 Node.js 20.6.0이 출시되었습니다.이 업데이트는 .env 파일에 대한 내장 지원 추가, import.meta.resolve의 flagging 해제, 모듈 사용자 지정 후크에 대한 새로운 node:module API register의 도입 및 새로운 초기화 후크를 포함합니다.또한 모듈 커스터마이징 로드후크는 CommonJS도 지원하며, Node.js C++ addons는 V8의 C++ 가비지 컬렉션 라이브러리인 cppgc(Oilpan)에 대한 실험적 지원을 받았습니다.[30]

개요

Node.js는 자바스크립트와 다양한 핵심 기능을 처리하는 "모듈" 모음을 사용하여 웹 서버와 네트워킹 도구를 만들 수 있습니다.[14][17][31][32][33]모듈은 파일 시스템 I/O, 네트워킹(DNS, HTTP, TCP, TLS/SSL 또는 UDP), 이진 데이터(버퍼), 암호화 기능, 데이터 스트림 및 기타 핵심 기능을 위해 제공됩니다.[17][32][34]Node.js의 모듈은 서버 애플리케이션 작성의 복잡성을 줄이기 위해 설계된 API를 사용합니다.[17][32]

자바스크립트는 Node.js가 네이티브로 지원하는 유일한 언어이지만 많은 컴파일-투-JS 언어를 사용할 수 있습니다.[35]따라서 Node.js 애플리케이션은 CoffeeScript,[36] Dart, TypeScript, ClojureScript 등으로 작성할 수 있습니다.

Node.js는 주로 웹 서버와 같은 네트워크 프로그램을 구축하는 데 사용됩니다.[31]Node.js와 PHP의 가장 중요한 차이점은 대부분의 PHP 블록 기능이 완료될 때까지(이전 명령이 완료된 후에만 실행됨) 반면, Node.js 기능은 비차단 기능(명령이 동시또는 병렬로 실행되고,[37][38] 완료 또는 실패 신호를 보내기 위해 콜백을 사용함)이라는 점입니다.[31]

Node.js는 리눅스, macOS, 마이크로소프트 윈도우 8.1 및 서버 2012(이상)에서 공식적으로 지원되며,[3] Tier 2는 Smart를 지원합니다.OSIBM AIXFreeBSD에 대한 실험적 지원.OpenBSD도 작동하며 IBM i(AS/400)에서 사용할 수 있는 LTS 버전도 있습니다.[39]제공된 소스 코드는 공식적으로 지원되는 운영 체제와 유사한 운영 체제를 기반으로 구축되거나 NonStop OS[40] 및 Unix 서버와 같은 다른 운영 체제를 지원하기 위해 타사에서 수정할 수도 있습니다.

플랫폼 아키텍처

Node.js는 웹 서버이벤트 중심 프로그래밍을 제공하여 자바스크립트에서 빠른 웹 서버 개발을 가능하게 합니다.[17]개발자는 콜백을 사용하여 작업 완료를 알리는 이벤트 기반 프로그래밍의 단순화된 모델을 사용하여 스레드를 사용하지 않고 확장 가능한 서버를 만들 수 있습니다.[17]Node.js는 스크립트 언어(JavaScript)의 용이성과 유닉스 네트워크 프로그래밍의 장점을 연결합니다.[17]

Node.js는 구글의 V8 자바스크립트 엔진 위에 BSD 라이선스로 오픈소스화되었기 때문에 만들어졌습니다.HTTP, DNS, TCP 등 인터넷 기반에 능숙합니다.[14]자바스크립트는 또한 잘 알려진 언어였고, Node.js를 웹 개발 커뮤니티에 접근할 수 있게 만들었습니다.[14]

업계지원

Node.js를 위한 수천 개의 오픈 소스 라이브러리가 있으며, 대부분 npm 웹사이트에서 호스팅됩니다.NodeConf, Node Interactive, Node Summit 등 Node.js 커뮤니티를 지원하는 여러 개발자 컨퍼런스 및 이벤트와 지역별 이벤트가 있습니다.

오픈 소스 커뮤니티는 응용 프로그램 개발을 가속화하기 위해 웹 프레임워크를 개발했습니다.이러한 프레임워크에는 Connect, Express.js, Socket 등이 있습니다.IO, Featers.js, Koa.js, Hapi.js, Sails.js, Meteor, Derby 등 여러 가지가 있습니다.[17][41]마이크로소프트와 같은 다른 언어나 런타임 환경과의 인터페이스를 위한 다양한 패키지도 만들어졌습니다.NET.[42]

최신 데스크톱 IDE는 Node.js 응용 프로그램을 위한 편집 및 디버깅 기능을 제공합니다.이러한 IDE에는 Atom, Brackets, JetBrains WebStorm,[43][44] Microsoft Visual Studio(Visual Studio용 Node.js Tools [45]또는 노드 정의가 있는 TypeScript 포함),[46][47][48][49] NetBeans,[50] Nodeclipse Enide Studio[51](이클립스 기반) 및 Visual Studio Code가 포함됩니다.[52][53]Node-REDCodeanywhere, Codenvy, Cloud9 IDE, Koding 및 Visual Flow Editor와 같은 특정 온라인 웹 기반 IDE도 Node.js를 지원합니다.

Node.js는 Jelastic, Google Cloud Platform, AWS Elastic Beanstalk, Joyent 등 여러 클라우드 호스팅 플랫폼에서 지원됩니다.

릴리스

해제[54] 상황 코드명 출고일자 유지보수종료
이전 버전,이상 유지되지 않음: 0.10.x 이전 버전,이상 유지되지 않음: End-of-Life 2013-03-11 2016-10-31
이전 버전,이상 유지되지 않음: 0.12.x 이전 버전,이상 유지되지 않음: End-of-Life 2015-02-06 2016-12-31
이전 버전,이상 유지되지 않음: 4.x 이전 버전,이상 유지되지 않음: End-of-Life 아르곤[55] 2015-09-08 2018-04-30
이전 버전,이상 유지되지 않음: 5.x 이전 버전,이상 유지되지 않음: End-of-Life 2015-10-29 2016-06-30
이전 버전,이상 유지되지 않음: 6.x 이전 버전,이상 유지되지 않음: End-of-Life 붕소[55] 2016-04-26 2019-04-30
이전 버전,이상 유지되지 않음: 7.x 이전 버전,이상 유지되지 않음: End-of-Life 2016-10-25 2017-06-30
이전 버전,이상 유지되지 않음: 8.x 이전 버전,이상 유지되지 않음: End-of-Life 카본[55] 2017-05-30 2019-12-31
이전 버전,이상 유지되지 않음: 9.x 이전 버전,이상 유지되지 않음: End-of-Life 2017-10-01 2018-06-30
이전 버전,이상 유지되지 않음: 10.x 이전 버전,이상 유지되지 않음: End-of-Life 더브늄[55] 2018-04-24 2021-04-30
이전 버전,이상 유지되지 않음: 11.x 이전 버전,이상 유지되지 않음: End-of-Life 2018-10-23 2019-06-01
이전 버전,이상 유지되지 않음: 12.x 이전 버전,이상 유지되지 않음: End-of-Life 에르비움[55] 2019-04-23 2022-04-30
이전 버전,이상 유지되지 않음: 13.x 이전 버전,이상 유지되지 않음: End-of-Life 2019-10-22 2020-06-01
이전 버전,이상 유지되지 않음: 14.x 이전 버전,이상 유지되지 않음: End-of-Life 페르미움[55] 2020-04-21 2023-04-30
이전 버전,이상 유지되지 않음: 15.x 이전 버전,이상 유지되지 않음: End-of-Life 2020-10-20 2021-06-01
이전 버전,이상 유지되지 않음: 16.x 이전 버전,이상 유지되지 않음: End-of-Life 갈륨[55] 2021-04-20 2023-09-11[56]
이전 버전,이상 유지되지 않음: 17.x 이전 버전,이상 유지되지 않음: End-of-Life 2021-10-19 2022-06-01
이전 버전이지만 여전히 유지됨: 18.x 이전 버전이지만 여전히 유지됨:액티브 LTS 수소[55] 2022-04-19 2025-04-30
이전 버전,이상 유지되지 않음: 19.x 이전 버전,이상 유지되지 않음: End-of-Life 2022-10-18 2023-06-01
현재 안정 버전: 20.x 현재 안정 버전: 현재의 다리미[57] 2023-04-18 2026-04-30
향후 출시: 21.x 향후 출시 예정: 기획 [55] 2023-10-17 2024-05-30
향후 출시: 22.x 향후 출시 예정: 기획 조드 2024-04-15 2027-04-28
향후 출시: 23.x 향후 출시 예정: 기획 [55] 2024-10-14 2025-05-27
범례:
구본
이전 버전, 여전히 유지됨
최신 버전
최신 미리보기 버전
향후 출시

Node.js의 새로운 주요 릴리스는 6개월마다 GitHub 메인 브랜치에서 잘라냅니다.짝수 버전은 4월에, 홀수 버전은 10월에 끊깁니다.새로운 홀수 버전이 출시되면 이전 짝수 버전은 LTS(Long Term Support)로 전환됩니다. 이 버전은 LTS로 지정된 날로부터 18개월 동안 활성 지원을 제공합니다.이 18개월이 만료되면 LTS 릴리스는 추가로 12개월의 유지보수 지원을 받습니다.활성 버전은 현재 릴리스에 도착한 후 몇 주 후에 변경 사항의 중단되지 않는 백포트를 수신합니다.유지 관리 릴리스는 중요한 수정 및 문서 업데이트만 받습니다.[55]LTS Working Group은 Node.js Foundation의 기술 운영 위원회와 협력하여 전략 및 정책을 관리합니다.

기술적 세부사항

Node.js는 이벤트 루프라고 하는 루프에서 들어오는 요청을 처리하는 자바스크립트 런타임 환경입니다.

내의

Node.js는 후드 아래에 libuv를 사용하여 비동기 이벤트를 처리합니다.Libuv는 Linux, macOS, OSS on NonStop, Unix와 같은 POSIX 기반 시스템과 Windows 모두의 네트워크 및 파일 시스템 기능을 위한 추상화 계층입니다.Node.js는 HTTP 지원을 위해 nghttp2에 의존합니다.버전 20부터는 Node.js가 최신 WHATWG URL 준수 기능을 제공하는 ada 라이브러리를 사용합니다.버전 19.5에서 Node.js는 빠른 유니코드 검증과 트랜스코딩을 위해 simdutf 라이브러리를 사용합니다.

스레딩

Node.js는 비차단 I/O 호출을 사용하는 단일 스레드 이벤트 루프에서 작동하므로 스레드 컨텍스트 전환 비용 없이 수만 개의 동시 연결을 지원할 수 있습니다.[58]관찰자 패턴을 사용하는 모든 요청 간에 하나의 스레드를 공유하는 설계는 I/O를 수행하는 모든 기능이 콜백을 사용해야 하는 동시성이 높은 애플리케이션을 구축하기 위한 것입니다.단일 스레드 이벤트 루프를 수용하기 위해 Node.js는 libuv 라이브러리를 사용합니다. libuv 라이브러리는 다시 비차단 비동기 I/O 작업 중 일부를 처리하는 고정 크기 스레드 풀을 사용합니다.[7]

스레드 풀은 Node.js에서 병렬 작업의 실행을 처리합니다.주 스레드 함수 호출은 스레드 풀의 스레드를 끌어다 실행하는 공유 작업 대기열에 작업을 게시합니다.네트워킹과 같은 본질적으로 비차단 시스템 기능은 커널측 비차단 소켓으로 변환되는 반면, 파일 I/O와 같은 원천적으로 차단 시스템 기능은 자체 스레드에서 차단 방식으로 실행됩니다.스레드 풀의 스레드가 작업을 완료하면 이를 메인 스레드에 알려주고, 이 스레드는 다시 웨이크업하여 등록된 콜백을 실행합니다.

이 단일 스레드 방식의 단점은 Node.js가 클러스터,[37] StrongLoop Process Manager 또는 [59]pm2와 같은 추가 모듈을 사용하지 않고 실행 중인 시스템의 CPU 코어 수를 늘려 수직 확장을 허용하지 않는다는 것입니다.[60]그러나 개발자는 libuv 스레드 풀의 기본 스레드 수를 늘릴 수 있습니다.서버 운영 체제(OS)는 이러한 스레드를 여러 코어에 분산시킬 가능성이 높습니다.[61]또 다른 문제는 오래 지속되는 계산 및 기타 CPU 바인딩 작업이 완료될 때까지 전체 이벤트 루프를 동결한다는 것입니다.[citation needed]

V8

V8은 구글 크롬을 위해 처음 만들어진 자바스크립트 실행 엔진입니다.그 후 2008년 구글에 의해 오픈소스화 되었습니다.C++로 작성된 V8은 실행 시 자바스크립트 소스 코드를 네이티브 머신 코드로 컴파일합니다.[7]2016년 현재 바이트코드 인터프리터인 이그니션도 포함되어 있습니다.

패키지관리

npm은 Node.js 서버 플랫폼의 사전 설치된 패키지 관리자입니다.NPM 레지스트리에서 Node.js 프로그램을 설치하여 타사 Node.js 프로그램의 설치 및 관리를 구성합니다.npm 레지스트리의 패키지는 Lodash와 같은 단순 도우미 라이브러리에서 Grunt와 같은 작업 실행기에 이르기까지 다양합니다.

Unified API

Node.js는 통합 자바스크립트 개발 스택을 위한 JSON 데이터(Postgres,[62] MongoDB, CouchDB 등) 및 JSON을 지원하는 데이터베이스인 사이트와 브라우저를 결합할 수 있습니다.Node.js는 MVC, MVP, MVVM 등 본질적으로 서버측 개발 패턴을 적용하여 클라이언트측과 서버측 간에 동일한 모델과 서비스 인터페이스를 재사용할 수 있도록 합니다.

이벤트 루프

Node.js는 운영 체제에 등록되므로 OS는 운영 체제에 연결을 알리고 콜백을 발행합니다.Node.js 런타임 내에서 각 연결은 작은할당입니다.기존에는 비교적 무거운 OS 프로세스나 스레드가 각 연결을 처리했습니다.Node.js는 프로세스나 스레드 대신 확장성을 위해 이벤트 루프를 사용합니다.[63]다른 이벤트 기반 서버와 달리, Node.js의 이벤트 루프는 명시적으로 호출될 필요가 없습니다.대신 콜백이 정의되고 서버는 콜백 정의의 끝에서 이벤트 루프로 자동 진입합니다.Node.js는 더 이상 수행할 콜백이 없을 때 이벤트 루프를 종료합니다.

웹어셈블리

Node.js는 WebAssembly를 지원하며 Node 14의 경우 WebAssembly System Interface인 WASI를 실험적으로 지원합니다.

네이티브 바인딩

Node.js는 N-API라는 C 기반 API를 통해 "추가 기능"을 생성할 수 있는 방법을 제공합니다..nodeC/C++[64]로 작성된 소스 코드의 모듈입니다.모듈을 메모리에 직접 로드하고 간단한 Common(공통)으로 JS 환경에서 실행할 수 있습니다.JS 모듈.N-API의 구현은 내부 C/C++ Node.js 및 V8 개체를 사용자가 Node.js 특정 헤더기본 소스 코드로 가져오도록(#포함) 요구합니다.[64]

Node.js API는 바이너리 레벨에서 변경 사항이 발생할 수 있기 때문에 모듈이 제대로 작동하려면 특정 Node.js 버전에 대해 빌드 및 출하되어야 합니다.타사는 이 문제를 해결하기 위해 API 위에 부분적으로 문제를 완화하는 오픈 소스 с/ с++ 래퍼를 도입했습니다.인터페이스를 단순화하지만 부작용으로 관리자가 처리해야 하는 복잡성이 발생할 수도 있습니다.Node.js의 핵심 기능이 자바스크립트 내장 라이브러리에 있지만 C++로 작성된 모듈은 기능을 향상시키고 응용 프로그램의 성능을 향상시키는 데 사용될 수 있습니다.

이러한 모듈을 생성하기 위해서는 적절한 C++ 컴파일러와 필요한 헤더(일반적으로 후자는 Node.js 자체와 함께 제공됨)가 있어야 합니다(예: gcc, clang 또는 MSVC++).

N-API는 Java Native Interface와 유사합니다.

프로젝트거버넌스

2015년, 대규모 Node.js 커뮤니티의 다양한 지점들이 벤더 중립적인 Node.js 재단 아래에서 일하기 시작했습니다.조직의 명시된 목적은 "Node.js의 성공에 투자된 생태계가 참여, 기술적 기여 및 장기적인 스튜어드십을 위한 프레임워크를 장려하는 개방형 거버넌스 모델을 통해 광범위한 채택을 가능하게 하고 Node.js 및 기타 관련 모듈의 개발을 가속화하는 데 도움을 주는 것"입니다.[65]

Node.js Foundation 기술 운영 위원회(TSC)는 Node.js Foundation의 기술 관리 기관입니다.TSC는 핵심 Node.jsrepo와 종속 프로젝트 및 인접 프로젝트를 담당합니다.일반적으로 TSC는 이러한 프로젝트의 관리를 작업 그룹 또는 위원회에 위임합니다.[66]장기적으로 지원되는 릴리스를 관리하는 LTS 그룹도 이러한 그룹 중 하나입니다.다른 현재 그룹으로는 웹사이트, Streams, Build, Diagnostics, i18n, Evangelism, Docker, Addon API, Benchmarking, Post-mortem, Intl, Documentation, Testing 등이 있습니다.[67]

2017년 8월 TSC 위원 중 3분의 1이 프로젝트 행동강령과 관련된 분쟁으로 사임하였습니다.[68]

참고 항목

  • Deno—Ryan Dahl이 만든 자바스크립트와 TypeScript용 백엔드 런타임 환경.

참고문헌

  1. ^ "node-v0.x-archive on GitHub". GitHub. Retrieved 2 August 2014.
  2. ^ "Version 20.6.0".
  3. ^ a b "nodejs/node". GitHub. 13 April 2022.
  4. ^ "node/LICENSE at master". GitHub. Node.js Foundation. 17 September 2018. Retrieved 17 September 2018.
  5. ^ "The MIT License". Open Source Initiative. 17 September 2018. Retrieved 17 September 2018.
  6. ^ gcuomo (24 October 2013). "JavaScript Everywhere and the Three Amigos (Into the wild BLUE yonder!)". www.ibm.com. Retrieved 24 October 2013.
  7. ^ a b c Laurent Orsini (7 November 2013). "What You Need To Know About Node.js". readwrite.com. Retrieved 6 February 2022.
  8. ^ "Node.js Foundation - Node.js". nodejs.org. Retrieved 4 July 2015.
  9. ^ "Linux Foundation Collaborative Projects". linuxfoundation.org. 4 July 2015. Retrieved 4 July 2015.
  10. ^ "About Node.js, and why you should add Node.js to your skill set?". Training.com. 11 September 2016. Retrieved 23 October 2016.
  11. ^ Staff, CNET News (15 October 1996). "Netscape opens intranet attack". CNET. Retrieved 20 April 2017.
  12. ^ Ryan Dahl (9 November 2010). "Joyent and Node". Google Groups. Retrieved 5 February 2015.
  13. ^ Garbar, Dzmitry. "PHP 7 vs Node.js? They Can Be Partners, Not Competitors For a Developer!". belitsoft.com. Retrieved 21 December 2016.
  14. ^ a b c d Sams Teach Yourself Node.js in 24 hours, Sams Publishing, 05-Sept-2012
  15. ^ Ubl, Malte (9 September 2009). "JSConf.eu 2009, Berlin, Germany". www.jsconf.eu. Retrieved 9 September 2009.
  16. ^ "Ryan Dahl: Original Node.js presentation". Archived from the original on 15 December 2021 – via www.youtube.com.
  17. ^ a b c d e f g h i Professional Node.js: 자바스크립트 기반 스케일러블 소프트웨어 구축, John Wiley & Sons, 01-Oct-2012
  18. ^ "Earliest releases of npm". GitHub. Retrieved 27 July 2016.
  19. ^ Ryandahl (23 June 2011). "Porting Node to Windows With Microsoft's Help". nodejs.org. Retrieved 17 April 2016.
  20. ^ Dahl, Ryan. "New gatekeeper". Retrieved 26 October 2013.
  21. ^ Schlueter, Isaac (15 January 2014). "The Next Phase of Node.js". Retrieved 21 January 2014.
  22. ^ Krill, Paul (4 December 2014). "Why io.js Decided to Fork Node.js". JavaWorld. Retrieved 15 December 2014.
  23. ^ Q&A: io.js가 Node.js, InfoWorld Tech Watch를 포크하기로 결정한 이유
  24. ^ Ben Noordhuis (12 November 2014). "Issue 3692: function suddenly becomes undefined". V8 JavaScript Engine Issues. Retrieved 2 February 2015.
  25. ^ Mikeal, Rogers (28 January 2015). "State of io.js". Retrieved 2 February 2015.
  26. ^ "Node.js Foundation Advances Community Collaboration, Announces New Members and Ratified Technical Governance". Archived from the original on 24 June 2015. Retrieved 4 July 2015.
  27. ^ "Node.js Foundation Combines Node.js and io.js Into Single Codebase in New Release". nodejs.org. 14 September 2015. Retrieved 28 January 2016.
  28. ^ "io.js and Node.js merge". medium.com. 19 May 2015. Retrieved 27 June 2015.
  29. ^ Io.js, JavaScript I/O, "io.js가 Node.js 프로젝트와 다시 병합되었습니다. 더 이상의 io.js 릴리스는 없을 것입니다. io.js의 모든 기능은 Node.js v4 이상에서 사용할 수 있습니다."
  30. ^ a b "Previous Releases". Node.js.
  31. ^ a b c PHP 개발자용 Node.js, O'Reilly Media, Inc., 2013
  32. ^ a b c Node.js Essentials, Packt 출판, 10-Nov-2015
  33. ^ Smashing Node.js: JavaScript Everywhere, John Wiley & Sons, 14-Aug-2012
  34. ^ 모듈, Nodejs 웹사이트
  35. ^ "List of languages that compile to JS". Github.
  36. ^ CoffeeScript on Node.js. O'Reilly Media, Inc. 15 April 2013. ISBN 9781449316846. Retrieved 17 May 2015.
  37. ^ a b "Node.js's cluster module". nodejs.org. Retrieved 19 October 2017.
  38. ^ "Node.js's child_process module". nodejs.org. Retrieved 19 October 2017.
  39. ^ Foundation, Node js. "Installing Node.js via package manager". Node.js. Retrieved 19 May 2019.
  40. ^ "bomBora - Node.js for NonStop". infrasoft.com.au. Infrasoft. Archived from the original on 11 March 2018. Retrieved 14 August 2015.
  41. ^ Express.js 가이드: Express.js에 관한 종합서, Azat Mardan, 28-May-2014
  42. ^ Edge.js는 Node.js 와 의 간격을 브리지합니다.NET, TechRepublic, Tony Patton, 2014년 7월 1일
  43. ^ Node.js, WebStorm은 Node.js 런타임 환경, WebStorm 도움말과의 통합을 지원합니다.
  44. ^ 실행디버깅 Node.js, WebStorm 도움말
  45. ^ "Node.js Tools for Visual Studio". microsoft.com. Retrieved 1 February 2016.
  46. ^ soywiz/type 스크립트-node-definitions 일부 인기 있는 node.js 모듈에 대한 TypeScript의 타이핑, GitHub
  47. ^ 확실히Type, GitHub
  48. ^ "The repository for high quality TypeScript type definitions". definitelytyped.org. Archived from the original on 3 February 2016.
  49. ^ 서버에서 TypeScript를 사용하여 구축된 ImageBoard, A Node.js + Express + MongoDB 어플리케이션, TypeScript 샘플
  50. ^ Krill, Paul (10 November 2015). "Node.js takes center stage in NetBeans 8.1". infoworld.com. InfoWorld. Retrieved 10 November 2015.
  51. ^ 결절, Enide -- Node.이클립스, 노디클립스 웹사이트에서의 JS 개발
  52. ^ Hello Visual Studio Code (NodeJS 포함), Channel 9, Microsoft
  53. ^ VS 코드, Visual Studio 코드를 사용하는 Node.js 응용 프로그램
  54. ^ "Releases". Node.js. 23 August 2023.
  55. ^ a b c d e f g h i j k l "nodejs/Release". GitHub. Retrieved 3 May 2018.
  56. ^ Node.js 16, Node.js 웹사이트의 수명 종료 날짜를 앞당기기
  57. ^ a b "Node.JS CODENAMES.md". GitHub. Retrieved 6 September 2023.
  58. ^ "Node.js w/1M concurrent connections!". caustik's blog. 19 August 2012.
  59. ^ "StrongLoop Process Manager". strong-pm.io.
  60. ^ "GitHub - Unitech/pm2: Production process manager for Node.js applications with a built-in load balancer". GitHub. 12 June 2021.
  61. ^ Aleksander Kasiuk (22 April 2015). "On problems with threads in node.js - Future Processing".
  62. ^ "PostgreSQL: Documentation: 9.4: JSON Types". www.postgresql.org. Retrieved 20 October 2016.
  63. ^ Node.js, Node.js 웹 사이트 정보
  64. ^ a b "C++ addons Node.js v14.12.0 Documentation". nodejs.org. Retrieved 26 September 2020.
  65. ^ Foundation, Node.js. "Node.js Foundation Node.js". nodejs.org. Retrieved 8 March 2017.
  66. ^ "nodejs/TSC". GitHub. Retrieved 8 March 2017.
  67. ^ Foundation, Node.js. "Working Groups Node.js". nodejs.org. Archived from the original on 27 February 2017. Retrieved 8 March 2017.
  68. ^ Whittaker, Zack, 거버넌스 붕괴 후, Node.js 리더들은 생존을 위해 싸웁니다, ZDNet, 2017년 8월 25일

추가열람

외부 링크