o-ohi-code 님의 블로그

[JavaScript] Node.js 란? 본문

언어/JavaScript

[JavaScript] Node.js 란?

o-ohi-code 2025. 4. 3. 10:12

🤔 node.js 란?

크롬의 V8 자바스크립트 엔진을 기반으로 만든 자바스크립트 런타임 환경(JavaScript Runtime Enviroment) 으로
브라우저 없이도 터미널에서 자바스크립트를 실행 가능하며 웹 서버로 만들 수 있는 백엔드 플랫폼이다.

 

여기서 Runtime Enviroment 란?

코드를 실제로 실행할 수 있는 환경
즉, 작성한 코드를 '읽고', 해석하고, 실행시켜주는 시스템이다.

ex) ✅ java

자바는 .java로 코드를 작성하지만
    이것을 실행하기 위해서는 JVM(Java Virtual Machine) 이라는 런타임이 필요하다.
    JVM 이 자바 코드를 해석, 컴퓨터에서 실제로 실행 되게 해준다

ex) ✅ 파이썬
파이썬도 마찬가지로 .py 로 코드를 작성하지만
     이것을 실행하기 위해서는 Python 언터프리터가 있어야 한다.

ex) ✅ Node.js 도 똑같이
     javaScript 는 원래 브라우저 안에서만 실행이 되지만

    🤔 node.js 를 사용한다면 
          1. node.js자바스크립트 코드를 받아서
          2. 크롬 V8 엔진으로 실행하고
          3. 컴퓨터 리소스(파일, 네트워크, DB 등)으로 연결을 해준다.
          4. 때문에 Node.js 는 자바스크립트 런타임 환경이 된다.

 

🤔 그럼 node.js 는 언제 사용하는 걸까?

  • 비동기 I/O 가 많은 서비스(채팅 서버) : 카카오톡, 디스코드, 슬랙..
  • REST API 서버 구축 시 : react, vue, 앱에서 호출할 api 서버 백엔드
  • 빠르게 서버 만들고 싶을 때 : Express 같이 간단한 프레임워크로 단시간 내 구성

REST API 란?

https://o-ohi-code.tistory.com/23

 

[API] REST API

🤔 REST API 란?REST API 란, "REST " 를 기반으로 만들어진 API를 말한다.HTTP를 이용해 자원을 CRUD(Create, Read, Update, Delete) 방식으로 다루는 표준화된 방법이다. 여기서 Rest 는 (Representational State Transfer)

o-ohi-code.tistory.com

 

Node.js와 Express를 같이 사용하는 이유?

Node.js 는 기능이 '너무 기본적' 이라 불편하기 때문인데,
더 편리하고 구조적인 웹 서버를 만들기 위해 Express 같은 프렘워크를 함께 사용한다.

🎯 비유하자면..
Node.js = 맨바닥 공터
Express = 건물을 빠르게 지을 수 있는 조립식 건축 키트

node.js 만으로도 서버를 만들 수 있지만,
express 를 쓰면 훨씬 빠르고, 보기 좋고, 유지보수가 쉬운 코드로 만들 수 있기 때문이다.

 

🤔 그렇다면 Node.js 가 실제로 어떤 흐름으로 데이터를 받고 처리하는 걸까?

  1. 클라이언트에서 요청 (axios, fetch)
  2. Node.js + Express가 요청을 받음 (라우팅) : 어떤 함수(Controller)를 실행할지 미리 정해 놓음
  3. 요청 데이터를 파싱 (req.body 등)
  4. 응답 데이터를 JSON으로 만들어 클라이언트에 보냄 (res.json)

📍 정리하면

✔ Node.js 는 자바스크립트를 브라우저 밖에서도 실행할 수 있게 해주는 '런타임 환경'
✔ 서버를 만들고 파일, DB, 네트워크 같은 컴퓨터 자원에 접근할 수 있게 해주는 백엔드 플랫폼
✔ JavaScript 로 백엔드를 만들 수 있게 해주는 런타임 환경
✔ Express 같은 프레임워크와 함께 사용하여 빠르고 유연하게 백엔드 개발 가능

 

'언어 > JavaScript' 카테고리의 다른 글

[JavaScript] JSON 이란?  (0) 2025.04.03