본문 바로가기
Web/Nodejs

[Node.js] Node.js란?& Node.js의 역사와 특징을 알아보자! 🤔

by coding-choonsik 2023. 4. 23.
728x90
반응형
SMALL

1. Node.js란❓

  • JavaScript 런타임 환경으로, 서버 사이드 어플리케이션을 개발하는 데 사용되는 오픈 소스 플랫폼
  • 네트워크 애플리케이션, 웹 서버, API 서버 등을 개발할 때 사용
  • Node.js는 Google Chrome V8 JavaScript 엔진을 사용하여 빠른 속도로 코드를 실행
  • Node.js는 비동기적인 이벤트 기반 아키텍처로 작동 ( I/O 작업이 완료될 때까지 기다리지 않고 다음 작업을 처리)
  • Node.js는 모듈 시스템을 사용하여 코드를 모듈화할 수 있움

 

2. Node.js의 역사

1995년

  • HTML, CSS, JavaScript (SpiderMonkey, JavaScriptCore, V8m Chakara)

2009년

  • 라이언 달(Ryan Dahl, 1981)이 개발한 프로젝트에서 시작
  • 자바스크립트로 프론트도 구성하고, 백엔드도 구성하면 하나의 언어로 풀스택을 구성할 수 있지 않을까?
  •  JavaScript everywhere!

 

 

3. Node.js의 특징

1) 높은 성능

  • Node.js는 Google Chrome V8 JavaScript 엔진을 사용하여 빠른 속도로 코드를 실행
  • 이 엔진은 고성능을 위해 최적화되었으며, Node.js는 이 엔진을 사용하여 빠른 실행 속도를 보장

 


2) 확장성

  • Node.js는 확장성이 뛰어나며, 수천 개의 동시 연결을 처리할 수 있음
  • 이를 통해 대규모 애플리케이션도 처리할 수 있음



3) 모듈화

  • Node.js는 모듈 시스템을 사용하여 코드를 모듈화할 수 있음
  • 이를 통해 코드를 간결하고 재사용 가능한 형태로 유지할 수 있음

 


4) 크로스 플랫폼

  • Node.js는 Windows, Mac OS, Linux 등 다양한 운영체제에서 실행될 수 있으며, 이를 통해 개발자가 동일한 코드베이스를 사용하여 여러 플랫폼에서 작업할 수 있다.

 

5) 대화형 셸

  • Node.js는 대화형 셸을 제공
  • 이를 사용하여 개발자는 코드를 직접 실행하고 디버깅할 수 있음



6) 커뮤니티

  • Node.js는 대규모 개발자 커뮤니티를 보유
  • 이를 통해 사용자는 문제를 해결하는 데 도움을 받을 수 있으며, 새로운 패키지와 도구를 발견할 수 있음

 

 

4. Node.js의 장점

  • 가장 많이 사용하는 언어(플랫폼)로 선정(2021, 스택오버플로우 조사): 전세계 50%
  • 넷플릭스, 우버, 이베이, 페이팔, 쿠팡, 네이버, 카카오톡 ...
  • 노드의 4가지 중요한 포인트
    • JavaScript Runtime 
      1. JavaScript 엔진
      2. 오픈 소스 기반
      3. C++ 기반(속도가 빠름)
      4. high performance
      5. 구글에서 만든 V8 검색엔진이 탑재
    • Single Thread :
      • Node.js는 단일 스레드(single thread)로 동작하는 서버 측 JavaScript 환경
      • Node.js 애플리케이션이 하나의 스레드에서 실행되고 이 스레드가 요청을 처리하는 방식으로 동작한다는 의미
    • None-Blocking I/O : I/O (Input/Output)작업을 처리하는 동안 다른 작업을 실행할 수 있도록 하는 방식, 기존의 실행 흐름을 차단하지 않고 다른 작업을 실행할 수 있도록 비동기(asynchronous) 방식으로 처리
    • Event-Driven: 컴퓨터 프로그램 구조 중 하나로, 프로그램의 흐름을 이벤트와 이벤트 핸들러로 구성하는 방식


   
    

 

728x90
반응형
LIST