본문 바로가기
도서로 공부하는 프로그래밍/코딩 자율학습

[NodeJS] Node.js 기능

by 열공노년 2024. 3. 29.
반응형

Node.js 기능

Node.js는 비동기 이벤트 주도 JavaScript 런타임으로, 웹 서버를 포함한 다양한 네트워크 애플리케이션을 구축할 수 있게 해 줍니다. Node.js가 설치된 컴퓨터에서는 다음과 같은 역할을 합니다:

  1. 비동기 I/O 처리: Node.js는 비동기식 입력/출력을 처리하여 대규모 파일을 읽거나 데이터베이스 작업을 할 때 효율적입니다. 이로 인해 시스템의 다른 작업이 파일 읽기/쓰기나 네트워크 요청 처리를 기다리지 않고 동시에 실행될 수 있습니다.
  2. 이벤트 기반 프로그래밍: Node.js는 이벤트 루프를 기반으로 작동하며, 특정 이벤트가 발생할 때마다 콜백 함수를 실행하는 방식으로 동작합니다. 이는 효율적인 실시간 처리가 가능하게 하며, 예를 들어 웹 서버에서는 HTTP 요청이 들어올 때마다 이를 처리합니다.
  3. 단일 스레드 모델: Node.js는 단일 스레드 모델을 사용하지만, 내부적으로는 여러 작업을 동시에 처리할 수 있는 비동기 방식으로 설계되어 있습니다. 이는 컴퓨터 자원을 효율적으로 사용하여 높은 동시성을 달성할 수 있게 해 줍니다.
  4. NPM (Node Package Manager): Node.js에는 NPM이라는 강력한 패키지 관리자가 포함되어 있습니다. 이를 통해 사용자는 수많은 오픈 소스 라이브러리를 쉽게 설치하고 관리할 수 있습니다. 개발자는 NPM을 사용하여 필요한 모듈을 프로젝트에 추가하고, 이러한 모듈들의 의존성을 관리할 수 있습니다.
  5. 네트워크 애플리케이션: Node.js는 웹 서버를 비롯하여 TCP/UDP 서버를 구축하는 데에도 사용됩니다. 이는 Node.js가 네트워크 프로토콜에 대한 광범위한 지원을 가지고 있음을 의미합니다.
  6. 마이크로서비스 아키텍처: Node.js는 가볍고 빠른 특성 덕분에 마이크로서비스 아키텍처를 구축하는 데 적합합니다. 각각의 마이크로서비스는 독립적으로 배포하고 확장할 수 있으며, 이는 대규모 애플리케이션의 관리를 용이하게 합니다.
  7. 서버리스 및 클라우드 함수: Node.js는 서버리스 아키텍처와 클라우드 기반 함수(예: AWS Lambda)에서 실행될 수 있는 경량화된 애플리케이션을 구축하는 데 자주 사용됩니다.

Node.js 설치

정리

Node.js는 이러한 기능을 통해 개발자들이 모던 웹 애플리케이션, API 서버, 실시간 서비스 등 다양한 백엔드 서비스를 구축하도록 도와줍니다. 서버 측 로직을 JavaScript로 작성할 수 있어 프런트엔드 개발자들이 백엔드 개발에도 손쉽게 접근할 수 있게 되었습니다.

반응형