당연하지만 웹서비스는 서버가 있어야 만들 수 있다
서버 : 데이터요청하면 데이터 보내주는 간단한 프로그램
요청하면 응답하는 방식
html을 실행하기 위한 자바스크립트라는 언어를 실행시켜주는 것이 웹 브라우저이다
크롭 브라우저에도 자바스크립트 실행엔진이 있는데 이것을 V8
이라고 부른다.
성능이 좋아 독립적인 실행파일로 출시한 V8 이 Node.js 이다 !
즉 Node.js는 자바스크립트 파일 실행기이다
다른 말로는 자바스크립트 런타임
아 그리고 vscode도 js + node.js로 만들어졌다고 한다
특유의 간결한 문법과 성능
웹개발할 때 프론트엔드에서 자바스크립트를 꼭 사용하기 때문에
프론트엔드 할 줄 알면 Node.js로 백엔드 서버개발도 매우 쉽게 배울 수 있다는 것도 장점이다.
언어 하나로 프론트엔드랑 백엔드 전부 작성가능한 것이다 !
파이썬이나 자바스크링 같은 경우는 순서대로 처리하는 동기 처리이다. 이것의 문제는 오래 걸리는 요청의 경우 처리 속도가 굉장히 느리다는 것이다
비동기식 처리를 해준다
즉, 중간에 오래거리는 작업을 만나면 잠시 제쳐두고 다른 것부터 우선 처리한다
작업이 많이 들어가야하는 이미지변환, 동영상 압축, 숫자계산같은 경우는 성능이 좋지 않을 수 있다
(싱글 스레드이기도 하고 관련 라이브러리도 적음)
그래서 비교적 가벼운 요청을 많이 처리해야하는 SNS, 게시판 같은 곳에 사용하면 좋다