본문 바로가기

Frontend Dev 지식 모음

Node.js의 정체를 알아보자 What is Node.js?

나는 자연스럽게 Node.js 위에서 개발하고 있었다.

 

살다가 문득 "나 왜 살고 있지?" 와 같은 본질적인 질문 같은 것들이 머릿속에 맴돌 때가 있다. 

비슷한 맥락으로 늘 하던대로 React로 개발을 하던 중에 갑자기 "왜 node 지?" 하는 의문이 들었다.

 

내가 지금 개발중인 프로젝트는 yarn berry로 구성되어있어서

프로젝트에 새로운 패키지를 추가하고 싶을때 yarn 명령어로 추가하면 된다.

 

그렇다면 yarn 명령어는 처음부터 있었을까?

나는 옛날에 npm으로 yarn을 다운받았었다.

지금은 yarn 공식 홈페이지에 가보면 의존성 이슈로 인해 npm으로 설치하는 것을 권장하지 않고 corepack으로 설치하라고 되어있다. corepack은 앞서 말한 의존성 이슈를 해결하면서 안전하게 패키지 관리자를 설치할 수 있는 yarn과 Node.js가 함께 만든 도구라고 한다. yarn도 결국엔 Node.js와 무척이나 관련이 있는것이다..!

 

# 일단 의식의 흐름대로 따라가보자..

Node.js가 뭐야?

- 크로스플랫폼 오픈소스 자바스크립트 런타임 환경.

- V8으로 빌드된 이벤트 기반 자바스크립트 런타임.

- 웹 서버와 같이 확장성 있는 네트워크 프로그램 제작을 위해 고안되었다.

 

V8이 뭐야?

- 웹 브라우저를 만드는데 기반을 제공하는 오픈소스 자바스크립트 엔진.

 

자바스크립트 엔진이 뭐야?

- 자바스크립트 코드를 실행하는 프로그램 또는 인터프리터.

 

인터프리터가 뭐야?

- 프로그래밍 언어의 소스 코드를 바로 실행하는 컴퓨터 프로그램 또는 환경. 

- 원시 코드를 기계어로 번역하는 컴파일러와 대비됨.

 

런타임이 뭐야?

- 컴퓨터 프로그램이 실행되고 있는 동안의 동작

 

# 용어 정리는 여기까지하고 내 방식대로 정리를 해보자면(틀릴 수도 있음 주의)

Node.js는 자바스크립트가 브라우저를 벗어나 맘껏 뛰어놀 수 있는 놀이터고,

NPM은 Node.js가 자바스크립트와 함께 뛰어놀 수 있는 놀이터인것 같다..!

(그러면 yarn은 약간 MZ놀이터..?)

 

그래서 NPM(Node Package Manager)에 수많은 오픈소스 패키지가 올라와있고

그 중에 나는 React를 골라 다운받아 사용한 것이다.

 

얼렁뚱땅 정리했지만

아무것도 몰랐던 시절보다 마음이 한결 가볍다.

 

이대로 괜찮은건가..? 싶은 마음이 여전히 들긴 하지만,

그렇다면 나중에 좀더 알아보자. to be continue... (∗❛⌄❛∗)

 

# 참고 사이트

 

 

'Frontend Dev 지식 모음' 카테고리의 다른 글

Vite+React 프로젝트에 tailwindcss 끼얹기  (0) 2024.10.30