본문 바로가기
공부방/프로그램

NodeJs란???

by SmartCow 2023. 6. 20.

1. Node.js의 정의

Node.js는 Chrome의 V8 JavaScript 엔진 위에서 동작하는 JavaScript 런타임 환경으로 기존에는 브라우저 환경에서만 실행되는 JavaScript를 서버 측 애플리케이션 개발에 사용할 수 있도록 확장한 것

Node.js는 비동기 및 이벤트 기반 아키텍처를 특징으로 하며 이는 입출력 작업이 완료될 때까지 기다리지 않고 다음 작업을 수행할 수 있다는 것을 의미한다. 이벤트 루프를 사용하여 비동기 작업을 처리하고, 이벤트 기반 모델을 통해 많은 동시 요청을 처리할 수 있어 확장성이 뛰어나다.

2. Node.js의 주요 특징

단일 스레드, 비동기 처리
Node.js는 단일 스레드로 동작하지만 비동기 처리를 통해 많은 연결을 동시에 처리할 수 있습니다. 이를 통해 더 많은 요청을 처리하고 높은 성능을 얻을 수 있습니다.
이벤트 기반
Node.js는 이벤트 기반 아키텍처를 가지고 있어 이벤트가 발생할 때 콜백 함수를 실행합니다. 이벤트 기반 모델을 통해 비동기적으로 작업을 처리하며, 블로킹되는 작업이 없어 다른 작업을 계속 처리할 수 있습니다.
넓은 생태계
Node.js는 NPM(Node Package Manager)을 통해 많은 오픈 소스 패키지를 제공하고 있습니다. 이러한 패키지들을 사용하여 개발을 빠르게 진행하고 코드를 재사용할 수 있습니다.
자바스크립트 사용
Node.js는 JavaScript를 사용하여 서버 측 애플리케이션을 개발할 수 있습니다. 이는 프론트엔드와 백엔드 모두에서 동일한 언어를 사용할 수 있다는 것을 의미합니다. 개발 생산성을 높이고 코드를 재사용하기 쉽게 만듭니다.
확장성
Node.js는 확장성이 뛰어나며, 클러스터링과 로드 밸런싱을 통해 다중 프로세스에서 애플리케이션을 실행할 수 있습니다. 이를 통해 대규모 애플리케이션을 처리할 수 있습니다.
빠른 개발 속도
Node.js는 코드 작성이 간편하고 실시간 코드 변경을 지원합니다. 이는 개발자가 빠르게 개발 및 테스트를 진행할 수 있도록 도와줍니다.

3. Node.js의 사용처

Node.js는 주로 웹 서버 개발을 위해 사용된다.
그 외에는 네트워크 애플리케이션, 실시간 데이터 처리, 마이크로서비스 아키텍처 등 다양한 도메인에서 사용될 수도 있다.