Node.js란 무엇인가?
- Chrome V8 JavaScript 엔진 으로 빌드된 JavaScript 런타임
html, css ,javascript -> 브라우저 -> 화면
ㅣ
렌더링
html, css -> 렌더링 엔진(브라우저 내 있음)에 의해 해석됨
js -> 자바스크립트 엔진(브라우저 내 있음)을 통해 해석됨
크롬 V8 - 자바스크립트 엔진이 있는데, 빠른 속도,독립적 실행의 특징을 갖음
javaScript : html 요소를 조작하기 위한 언어
-> 브라우저에서 동작하며 html 요소들을 조작
브라우저 = 자바스크립트의 런타임
자바스크립트의 런타임이란 것은? 자바스크립트가 동작할 수 있는 환경
NodeJs = 서버
ㄴ자바스크립트가 동작할 수 있는 독립적인 공간(?) 이라고 함.
ㄴ근데 대부분이 서버 구현에 많이 사용되고, 대부분 서버용으로 쓰기 때문에 서버라고 해도 됨

libuv를 통해 Non-blocking I/O 가 가능해짐
이벤트 큐에서 나와서 이벤트 루프로 가고 작업 쓰레드 공간에서 도는데
먼저 끝나는 게 이벤트 루프를 통해 다시 이벤트 큐로 전해짐
ㄴ쉽게 결론: 돌고 있는 중 먼저 끝나는게 먼저 온다
NPM (Node Package Manager)
: NodeJs의 패키지를 관리할 수 있는 도구
다양한 내부, 외부 모듈(패키지) 제공 -> 필요한 기능들이 미리 구현되어 있는 경우가 많음
Node.js의 개발을 도와주는 nvm, npx,yarn 등의 다양한 툴 사용 가능
사진 출처: 인프런 강의
-인프런 강의를 통한 언어 배우기중