node.js 란?

Big Jay·2022년 8월 23일
0

nodejs

목록 보기
1/4

node.js는 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임이다.

런타임이란?
프로그래밍 언어가 동작하는 환경

브라우저의 JavaScript엔진에서 동작하는 JavaScript를 브라우저 이외의 환경에서도 동작할 수 있도록하는 실행환경이다.

다양한 플랫폼에 적용할 수 있지만 서버 사이드 애플리케이션 개발에 주로 사용되며, 이에 필요한 모듈, 파일 시스템, HTTP 등 빌트인(built-in, 내장) API를 제공한다.

클라이언트 사이드와 서버 사이드
클라이언트(사용자)측에서 처리하는 것으로 브라우저에서 처리하는 것을 뜻하며, 서버 사이드는 서버(제공자)측에서 처리하는 것으로 클라이언트의 요청을 받아 요청에 대한 내용을 응답하여 전달한다.

  • Node.js는 non-blocking I/O를 지원하며 단일 스레드 이벤트 루프 기반으로 동작하여 요청 처리 성능이 좋다.
  • 데이터를 실시간으로 처리하기 위해 I/O가 빈번하게 발생하는 SPA(Single Page Application)에 적합하다.
  • CPU 사용률이 높은 애플리케이션에는 권장하지 않는다.

non-blocking I/O
A함수가 I/O작업을 호출했을 때 I/O작업이 완료될 때까지 함수의 작업을 중단하지 않고 I/O 호출에 대해 즉시 리턴하고, A함수가 이어서 다른 일을 수행할 수 있도록 하는 방식
- 참고: Richet의 Tech Blog

참고

profile
안녕하세요.

0개의 댓글