가장 먼저 NodeJS가 무엇이며, 왜 공부해야하는지부터 말하자면,
NodeJS란? 크롬 V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임으로,
브라우저 밖에서 돌아가는 자바스크립트이다.
브라우저 밖에서 돌아가는 자바스크립트? 🤔 이게 무슨 말인가 싶을 것이다.
다시 태초로 돌아가서, 90년대에 자바스크립트가 처음 만들어졌을 때, 브라우저를 위해 고안된 것이기 때문에 자바스크립트는 브라우저에서만, only 브라우저, 오직 브라우저, 브라우저에서만 사용되었다.
왜 만들어졌을까? 이건 자바스크립트를 공부했던 사람이라면 알다시피 웹사이트와 좀 더 상호작용을 할 수 있게 만들고 싶었기 때문인 것을 알 수 있을 것이다.
자바스크립트는 브라우저에서만 동작하는 언어인데, 누군가가 브라우저 밖에서도 돌아가는 것을 만들게 되었다.
그건 바로 Ryan(라이언 달)이라는 개발자인데, 무려 NodeJS 자바스크립트 런타임과 Deno 자바스크립트 / 타입스크립트 런타임의 최초 개발자이다.

예전엔, 태초의 NodeJS는 김치전 같이 html, css, 브라우저가 섞여서 다운로드를 할 수 있었지만 지금은 자바스크립트를 브라우저에서 분리해서 NodeJS를 만들었다.
이건 매우 대단한 일이며 자바스크립트의 혁명적인 역사이다.
브라우저에서만 사용할 수 있었던 것이 다른 곳(백엔드, 파일 이름을 바꿔서 어딘가에 업로드하는 스크립트를 만들거나 이미지를 처리하거나 ... 아무튼 원하는 건 다~ 만들 수 있게 되었다.)에서도 사용할 수 있다는 것이 정말 대단한 일인셈이다.
NodeJS 덕에 오늘날의 JS와 ReactJS를 사용해 안드로이드, iOS 앱을 만들 수 있는 ReactNative,
데스크탑 앱을 만들 수 있는 Electron을 쓸 수 있게 되었다.
아무튼 NodeJS가 세상을 바꾸어 주었다.
자, 다같이 라이언 달 고마워 외치고 다음 섹션으로 넘어가자.
NodeJS ?
자바스크립트 런타임 환경 중 하나로, 서버 측 애플리케이션을 개발하는 데 사용되는 오픈 소스 플랫폼이다.
Node.js는 크롬 V8 자바스크립트 엔진에 기반하고 있으며, 이를 사용하여 자바스크립트 코드를 서버 측에서 실행할 수 있도록 해준다.
주요 특징 및 장단점으로 ..
-비동기 프로그래밍, 높은 성능, 모듈 시스템, 크로스 플랫폼, 확장성, 대규모 커뮤니티 등이 있다.