Node js란?
- 개발자가 개발할 때 스레드를 신경쓰지 않고 개발할 수 있도록 만든 소프트웨어 플랫폼
- 서버환경에서 작동하는 자바스크립트(프로그래밍 언어)
- 이벤트 기반 비동기 방식으로 작동 (대규모 네트워크 어플리케이션 개발가능)
스레드 기반 동기 방식)
작업요청이 들어올 때마다 스레드를 여러 개 만들어 동시에 일을 처리
좋은 방식이지만, 일이 많아질수록 스레드를 더 많이 만들어야하므로 메모리사용량이 증가함
스레드) 하나의 프로그램 내부에서 실행되는 실행흐름의 단위.
스레드는 사용자에 대한 응답성을 향상시켜야될 때나 동시에 작업을 완료시켜야할 때 사용된다. 대표적으로는 네트 워크 웹 서버 또는 데이터베이스 통신에 활용되는데 많 은 스레드로 코드실행을 제어하면 복잡해지고 버그가 발생 할 수 있다.
이벤트 기반 비동기 방식)
이벤트를 사용하여 빠르게 일처리 가능
하나의 스레드만 생성하기 때문에 메모리사용량과 같은 시스템 리소스 사용량에는 변화가 없음.
Node js 장점
- javascript를 사용.(모든 웹개발자가 쉽게 접근 가능)
- 구글이 만든 자바스크립트 엔진을 사용. (빠른속도, 발전가능성)
- c++을 사용해 기능확장가능