nodejs는 크롬의 v8엔진을 기반으로 만들어진 개발환경입니다.
기본적으로 v8엔진을 사용하기 때문에 javascript를 브라우저가 아닌 환경에서 동작하게 해줍니다.
이는 기존의 javascript언어로 웹만 만드는 것이 아닌 다른 활동을 할 수 있다는 의미입니다.
예시로, 일렉트론을 사용한 데스크탑 앱을 만들 수 있고, back단에서 동작하는 서버를 만들 수 있습니다.(express)
그 외에도 다양한 사용이 가능합니다.
nodejs는 가장 중요한 특성이 있는데, Non - Blocking I/O (비동기식 방식)와 Single - Thread가 있습니다.
Non - Blocking I/O는 대규모 네트워크에 특화되어 있습니다.
node를 사용하지 않는 기본 서버는 한개의 처리를 위해 잠시 서버가 멈추지만,(blocking)
node를 사용한 서버는 모든 요청을 듣고 간단한 것부터 차례대로 처리하여 서버가 잠시 멈추는 것을 막을 수 있습니다.
Single - Thread방식은 처리 방식을 한가지만 처리하는 로직을 여러개 만드는 방식으로 구동합니다.
이는 서버의 자원을 아껴줄 수 있지만, 복잡한 로직을 처리하기 위해서는 많은 수의 스레드를 만들어 코드가 복잡해지는 문제가 발생합니다.
'BACK END > node.js' 카테고리의 다른 글
FCM을 이용한 push notification backend (0) | 2022.10.14 |
---|---|
node로 oEmbed만들기 (0) | 2022.04.13 |