리액트
Node.js
생각없는 개발자
2025. 1. 20. 18:53
Node.js는 JavaScript 런타임 환경으로, 브라우저 외부에서도 JS코드를 실행할 수 있게 설계되었습니다. 특히 서버 사이드 애플리케이션 개발에 많이 사용됩니다.
Node.js의 정의
Node.js는 구글에서 개발한 Chrome V8 JS 엔진을 기반으로 하며, JavaScript를 서버 환경에서도 실행할 수 있게 만들어졌습니다. 이를 통해 JavaScript는 브라우저뿐 아니라 데이터베이스와 파일 시스템을 다루는 등의 서버 작업도 수행할 수 있게 되었습니다.
Node.js의 특징
- 비동기 I/O 및 이벤트 기반 아키텍처
- 비동기 : 파일 읽기/쓰기, 데이터베이스 작업 등 시간이 오래걸릴 수 있는 작업을 처리할 때, 작업이 완료될 때까지 기다리지 않고 즉시 다음 작업으로 넘어갑니다. 이를 통해 높은 성능을 제공합니다.
- 이벤트 기반 : 특정 이벤트가 발생했을 때만 작업을 실행해 효율적인 리소스 사용을 보장합니다.
- 단일 스레드
- Node.js는 기본적으로 단일 스레드에서 동작하지만, 비동기 작업 처리 및 워커 스레드를 통해 동시성을 지원합니다.
- 단일 스레드 기반이지만 비동기 I/O덕분에 많은 요청을 효율적으로 처리할 수 있습니다.
- 크로스 플랫폼
- Windows, macOS, Linux 등 다양한 운영 체제에서 사용할 수 있습니다.
- NPM
- Node.js에는 NPM이라는 강력한 패키지 관리 도구가 포함되어 있씁니다. 이를 통해 다양한 오픈 소스 라이브러리를 설치하고, 애플리케이션에서 쉽게 사용할 수 있습니다.
- 빠른 속도
Node.js 의 단점
- CPU 집약적 작업에는 부적합하다. 단일 스레드 기반이므로, 복잡한 계산 작업이 많으면 성능이 저하될 가능성이 있다.
- 비동기 코드를 많이 사용하다 보면 코드의 가독성이 떨어질 수 있다.