NodeJS 를 사용해야 하는 장점?

나라리야·2021년 7월 20일
0

Node.js ?

Node.js®는 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임입니다.

내가 생각하는 Node.js의 장점 Best 3!

Node.js 프레임워크의 장점을 말해보자면 크게 세가지로
자바스크립트, 이벤트기반 비동기처리방식, 확장성 이라고 말할 수 있을 것 같다

공식문서에 나와있는 것처럼 node.js는 자바스크립트 언어 기반의 프레임워크로서 구글에서 제공하는 크롬V8 엔진을 기반으로 하여 실행됩니다.


첫번째 장점으로 자바스크립트를 꼽은 이유는 바로 배우기 쉽다는 것 입니다.

제가 개발 공부를 처음 접하면서 익힌 프로그램언어는 바로 html css도 아닌 자바스크립트 였습니다.
개발을 처음배운 저도 쉽게 익힐 수 있을 만큼 접근하기 쉬운 허들을 가지고 있었고
이런 자바스크립트를 동일하게 사용해서 서버단의 로직을 처리할 수 있다는 점이 매우 장점이라고 생각이 되었습니다.


두번째 장점으로 이벤트기반 비동기 처리방식( Single-Thread non-blocking I/O )의 기반으로 작동하기 때문에 서버의 무리가 적다는 점입니다.

여기서 thread(스레드)란 CPU이용의 기본 단위
쉽게 말해 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말합니다.

그 중 single-thread 방식은 아무리 많은 인풋(In-put)이 들어와도 받는 스레드는 1개이기 때문에 메모리 사용량과 시스템 리소스 사용량에는 변화가 거의 없습니다.

이런 특징 때문에 Node.js에선 입력을 하나의 Thread에서 받지만 순서대로 처리하지 않고 먼저 처리된 결과 값을 이벤트로 반환해주는 방식으로 작동합니다.

세번째 장점으로는 C++로 개발된 V8 자바스크립트 엔진이기 때문에 확장성이 좋습니다.

추가적으로 npm(node package manager)를 통해 다양한 모듈을 제공받고 필요한 라이브러리를 다양하게 호출하여 사용할 수 있어 효율성이 높다는 점을 꼽을 수 있습니다.


프로젝트를 진행 하면서 실제로 node.js를 사용하다보니 부트캠프에서의 학습의 연장선처럼 프로젝트를 시작하는데 어려움을 줄일 수 있었고 새로운언어를 학습하는 데 쓰이는 시간을 스킵할 수 있어서 매우 좋았습니다.
그리고 프론트엔드 / 백엔드 두가지 모두 동일한 자바스크립트 언어 기반 리액트, node.js를 함께 사용 할 수 있었으니 1석 2조 였던것 같습니다. 앞으로 배워야할 좋은 프레임워크들이 많이 있지만 그 중 에서도 node.js의 장점에 대해서 간략하게 적어 보았습니다.



  • Node.js가 어울리는 웹서비스
    • 간단한 로직, 대용량 (동시의 여러 요청을 처리), 빠른 응답시간을 요구, 비동기 방식에 어울리는 웹 서비스
  • Node.js가 어울리지 않는 웹서비스
    • 단일 처리가 오래걸리는 경우, 서버 체크 로직이 많은경우 (콜백의늪), 업무 복잡도/난이도가 높은 경우


  • 실제로 Node.js를 사용해서 개발된 웹 사이트
    • Netflix, Linkedin, Paypal, Uber, Facebook  등


profile
Code의 美를 추구하는 개발자 🪞

0개의 댓글