irish.log
로그인
irish.log
로그인
[ReactJS] Node.js란?
IRISH
·
2024년 5월 7일
팔로우
0
React
리액트
ReactJS
목록 보기
4/5
Node.js란?
Node.js : Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임
주로 서버 사이드 애플리케이션을 개발할 때 사용되며, 비동기 이벤트 구동 방식을 통해 높은 성능을 제공
Node.js는 JavaScript를 사용하여 서버 사이드 스크립트를 작성할 수 있게 해주어, 웹 페이지 콘텐츠를 생성하기 전에 서버에서 스크립트를 실행할 수 있음
런타임이란?
런타임 : 특정 언어로 만든 프로그램들을 실행할 수 있는 환경
Node.js는 프레임워크일까? 라이브러리일까?
Node.js는 프레임워크나 라이브러리가 아님
대신, JavaScript 코드를 서버 사이드에서 실행할 수 있게 하는 런타임 환경임
하지만 Node.js 생태계에는 다양한 프레임워크와 라이브러리가 존재하여, 웹 애플리케이션, API 서버, 실시간 애플리케이션 등을 더욱 쉽게 개발할 수 있게 도와줌
예를 들어, Express.js는 Node.js를 위한 가장 인기 있는 웹 애플리케이션 프레임워크 중 하나에 해당함
Node.js의 주요 특징
비동기 및 이벤트 구동
Node.js의 모든 API는 비동기적으로 작동하며, 이벤트 기반 모델을 사용함
이는 Node.js가 높은 처리량과 확장성을 가진 애플리케이션 개발에 적합하게 만듦
단일 스레드
Node.js는 단일 스레드 모델을 사용하지만, 백그라운드에서 다수의 작업을 처리할 수 있는 능력으로 인해 성능 저하 없이 여러 요청을 처리할 수 있음
npm
Node.js는 npm(Node Package Manager)을 통해 다양한 오픈 소스 라이브러리 및 툴을 손쉽게 설치하고 관리할 수 있습음
npm은 세계에서 가장 큰 소프트웨어 레지스트리
Node.js의 장점
SNS나 채팅서비스에 많이 사용
Node.js 서버로 구현하면 요청이 많거나 오래걸리는 요청이 있어도 멈추거나 요청 대기 시간이 발생하지 않음
이런 Non-blocking 덕분에 채팅이나 SNS에 자주 사용됨
Node.js는 코드가 매우 짧고 쉬워서 빠른 개발 가능(Pivoting이 잘됨)
안정성과 보안성 측면의 문제도 충분히 검증됨
Node.js의 단점
Node.js는 모두 스레드 하나에서 처리됨
코드가 CPU 연산을 많이 요구하면 스레드 하나가 감당하기 어려움
따라서 이미지나 비디오 처리, 대규모 데이터 처리 같이 CPU를 많이 사용하는 작업을 위한 서버로는 권장되지 않음
참고
Node.js란?
IRISH
#Software Engineer #IRISH
팔로우
이전 포스트
[ReactJS] Vanilla JS와 React JS의 State 차이
다음 포스트
[ReactJS] Express.js란?
0개의 댓글
댓글 작성