Node.js 개념
Node.js는 구글의 V8 자바스크립트 엔진을 사용하는 런타임 환경으로 2009년 라이언 달이 개발했습니다. Node.js는 브라우저 이외의 환경에서 자바스크립트를 실행하기 위해 설치하여 사용합니다.
Node.js를 통해 기존에는 브라우저에서만 작동할 수 있었던 자바스크립트를 다양한 곳에서 사용할 수 있게 되었으며, 서버 사이드 애플리케이션 개발 등 백엔드 영역에서도 자바스크립트를 사용할 수 있게 되었습니다. 물론, 기존에 브라우저에서 작동하는 자바스크립트를 동일하게 실행할 수도 있습니다.
Node.js는 페이팔, 넷플리스, 링크드인, 네이버 등의 기업에서 실제로 사용되고 있습니다.
V8 자바스크립트 엔진의 특징
자바스크립트 엔진(V8)은 자바스크립트를 실행하는 힙과 콜 스택으로 구성됩니다. V8 엔진은 싱글 스레드로 작동하며, 이는 콜 스택이 하나만 있다는 의미입니다. 즉, 한 번에 하나의 작업만 처리가 가능합니다.
Node.js의 이벤트 기반 아키텍처
이처럼 싱글 스레드라면 하나의 요청이 처리되는 동안 다른 요청은 대기 상태에 머물러야 합니다. 그러나 Node.js는 이벤트 기반 아키텍처를 사용하여 동시에 다수의 요청을 처리할 수 있습니다.
Node.js 장점 및 단점
장점 | 단점 |
프론트 개발자의 백엔드 진입 용이 | 기본적으로 하나의 CPU를 사용하며 멀티 코어를 위한 별도 작업 필요 |
비동기 기반 IO를 통해 동시에 요청 처리 가능 | 비동기를 지원하지 않는 IO 요청은 주의 필요 |
우수한 개발자 생태계 및 패키지 매니징 서비스 | 콜백 중첩 사용 시 코드 작성 및 디버깅이 어려움 |
V8 엔진을 통한 빠른 서버 속도 | 이벤트 기반 프로그래밍이 처음이라면 첫 코드 작성이 쉽지 않을 수 있음 |
Node.js 설치 방법 (MAC)
Node.js를 설치하는 방법은 다음과 같습니다.
- Node.js 홈페이지에 접속합니다.
- 왼쪽에 있는 LTS 버전을 선택합니다.
- 다운로드한 .pkg 파일을 실행합니다
- 모든 라이선스에 동의하고 NEXT 버튼을 눌러 설치를 완료합니다.
- 설치가 모두 완료되면 터미널에서
node --version
을 통해 설치 버전을 확인할 수 있습니다.
'개발 > Node.js' 카테고리의 다른 글
NPM 패키지 매니저 개념과 작동 방식 (0) | 2021.03.15 |
---|---|
Node.js 터미널로 자바스크립트 파일 실행하기 (0) | 2020.07.20 |
Node.js와 브라우저의 차이점 (번역) (0) | 2020.06.26 |