Node.js에 대한 내용 정리

정재헌·2023년 1월 1일
0

Node.js

Chrome 브라우저의 V8 Javascript 엔진을 탑재한 Server Side 오픈소스 Javascript 런타임

→ V8 Javascript 엔진 / Server Side / Javascript / 런타임에 대한 이해가 필요!

Javascript : 브라우저에서 HTML 요소 생성부터 모든 페이지 및 기능을 동적으로 처리할 수 있도록 만들어주는 브라우저에서 실행되는 프로그래밍 언어

V8 엔진 : 성능 엔진의 의미로, Javascript 언어로 작성된 코드를 컴퓨터가 해석하기 쉬운 바이트 코드로 변환, 해석, 실행

Node.js(실행환경) : 자바스크립트를 브라우저 이외의 환경에서도 동작할 수 있도록 V8 엔진을 브라우저에서 독립시킨 Javascript의 또 다른 실행 환경(Runtime)

Node.js로 개발하면서 얻을 수 있는 장점과 사용하는 이유

Node.js 개발에 있어서 중요하게 생각한 점은 Network Server(API=Application Programming Interface)를 만드는 것이었다.

이유 : 10,000개 이상의 동시 요청 처리 문제가 발생 → Node.js를 통해 동시 요청에 대한 이슈를 해결하기 위해 처음 고안되었다.

장점 1 : 프론트엔드와 백엔드 기술 스택 통합

동일한 언어(프론트엔드/백엔드 모두 Javascript 언어 사용)

프론트엔드 개발자 서버 프로그래밍 접근성이 좋다.

개발팀의 생산성이 좋아진다.

장점 2 : 빠른 처리 속도와 동시 요청 처리 성능

V8 엔진 : JIT 컴파일 방식, V8 최적화 기법으로 속도 좋은

libuv 사용

장점 3 : MSA에 적합

MSA란 시스템의 전체적인 구조를 서비스별로 독립적으로 나뉘어서 구성되는 아키텍쳐

Node.js의 모듈 시스템

단순히, 모듈은 레고 블록과 마찬가지로, 사용자 모듈 / 주문 모듈 / 결제 모듈 / 검색 모듈 등으로 되어 있을 때 각 모듈을 합하여 결제/상품 애플리케이션을 만들 수 있다. → 유지보수 하기 쉬운 구조로 작성하면 코드 재사용성 및 확장성이 증가된다. → 전체 비용을 감소하고 개발팀 생산성이 높아진다.

profile
백엔드 개발자

0개의 댓글