node.js는 백엔드에만 쓰이는 게 아니에요! 특정 로직은 넘어서서 자바스크립트들을 위한 운동장을 깔아주는 기술이다 라고 한다
즉, Node.js는 자바스크립트를 스크립트 언어 이상으로 프로그래밍 언어 역할을 할 수 있도록 지원하는 플랫폼(운동장)이다.
그래서 우리는 Node.js를 이용해서 자바스크립트로 백엔드를 구현할 수 있습니다!!
Node.js 기반 : 리액트, 뷰 ... 프론트엔드
프레임워크 : 페이팔, 이베이
특징 : 싱글 스레드, 이벤트 기반, 논블로킹 I/O
요리사가 한명?
싱글 스레드는 주방에 요리사가 한 명이야. 주문이 계속 들어오면 요리사가 한 명이라 계속 요리해야하는거야.
논블로킹 I/O => 한명이 일을 하는데, 요리를 순차적으로 X 중간중간 비는 시간이 있으면, 다른 요리를 해요
라면 1개 (10분 중 물 끓는 시간 5분 : 요리사는 그 물만 쳐다봐요.) 볶음밥(완성 5분)
그럼 물을 끓여놓고, 볶음밥을 만들고 볶음밥 다 만들면 라면 물도 다 끓었을테니 라면도 바로 만들어가고
이벤트 기반 = 만약 주문이 없으면? 일을 안해. -> 주문이 들어와야만 일을 합니다!
cf. 스프링은요?