cat-1cat-2cat-3cat-4cat-5cat-6

NodeJS

NodeJS가 무엇이며 간단하게 웹서버 구축하기(with Express)

17:18

thumbnail

안녕하세요. NekoNyangYee입니다.

오늘 작성할 글은 제가 최근에 현타왔던 것중 하나가 지금 블로그를 벡엔드 없이 끝까지 유지 보수를 시킬 수 있을까? 라는 생각이 문뜩 들더군요... 그래서 찾아보던 도중 웹 서버를 관리할 수 있는 NodeJS라는 친구부터 입문을 해보려고 합니다.

0. NodeJS란?


공식 문서에 따르면,

Node.js는 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임입니다.

여기서 런타임은 프로그램을 실행할 수 있는 환경입니다.

NodeJS를 알기 위해서는 먼저 JavaScript를 알아야 합니다. 이 글을 보러 오신 분들은 이 언어의 기초는 알고 보시는거라 믿고 간략하게나마 설명하겠습니다.

만약 모르신다면 기초는 필수이기 때문에 먼저 JavaScript를 공부하고 오시는 것을 추천드립니다.

1. 그럼 JavaScript는 뭔가요?


웹 페이지에 글 넣고, 그림 넣는 HTML이라는 언어를 조작해서 동적으로 바꿔주게 하는 언어입니다.

1-1 그럼 자바스크립트는 누가 해석하죠?

바로 브라우저입니다. 브라우저별로 기본적으로 자바스크립트 엔진이 탑제되어있습니다. 그 중에서 대표적으로 크롬에는 V8이라는 엔진이 탑제되어있습니다. 이 엔진이 처음 출시했을 때 성능이 너무 뛰어나서 그것만 따로 떼어와서 쓸 수는 없을까?라는 생각에 V8엔진의 오픈 소스를 가져와 노드 프로젝트를 시닥하였고, 우리가 알고있는 NodeJS가 나오게 됩니다.

헷갈리시면 안되는게 NodeJS자바스크립트 런타임입니다.

그래서 NodeJS를 설치하면 브라우저를 키지 않아도 자바스크립트를 컴퓨터에서 수행할 수 있게됩니다.

간단하게 확인해보기 위해서

  1. NodeJS 홈페이지에서 설치 후 Windows 검색창에 cmd를 검색해서 명령 프롬프트를 열어봅니다.

  2. 설치가 제대로 됐는지 확인해보려면 명령 프롬프트에 node -v 를 입력 후 버전이 제대로 나오는지 확인해보면 됩니다.

  3. 설치 확인이 끝났으면 node를 실행시키기 위해 node 입력한 후 console.log("Hello")를 입력해서 제대로 출력되는 봅니다.

thumbnail

이렇게 많은사람들이 NodeJS로 웹서버를 구축합니다.

2. NodeJS Express로 간단하게 웹서버 구축해보자


2-1 Express는 또 뭔가요?

Express는 쉽게 얘기해서 NodeJS를 쉽고 편리하게 쓰게 해주는 웹 어플리케이션 프레임워크입니다.

2-2 그럼 왜 Express를 사용하나요?

Express는 프레임워크이므로 웹 애플리케이션을 만들기 위한 각종 라이브러리와 미들웨어 등이 내장돼 있어 개발하기 편하고, 수많은 개발자들에게 개발 규칙을 강제하여 코드 및 구조의 통일성을 향상시킬 수 있습니다.

(미들웨어와 같은 용어들을 모르실 수 있기 때문에 조만간 용어들만 따로 모아서 정리해서 올려보겠습니다.)

자 그럼 본격적으로 웹서버 구축해보겠습니다.

먼저 VSC를 설치 하시고 들어가셔서 아무 폴더를 불러와줍니다. 그리고 터미널을 여시고 아래와 같은 명령어를 칩니다.

npm init // 1 npm 초기화
 
npm install express // 2 express 설치

이렇게 하시면 폴더안에 package.json이 생길 것입니다. 이것은 npm으로 설치한 패키지들의 의존성 정보들을 보관하는 곳이라고 보시면 됩니다.

여기까지 정상적으로 설치됬으면 아래 코드를 넣어봅니다.

const express = require("express");
const app = express(); // 여기서 express 함수를 호출하는 부분을 추가했습니다.
const port = 3000;
 
app.get("/", (req, res) => {
  res.send("안녕 Express!!!!!!!");
});
 
app.listen(port, () => {
  console.log("Express 서버가 포트 " + port + "에서 작동 중입니다.");
});

간략하게 설명드리면

  • express 모듈을 가져와서 express()를 호출하여 앱 인스턴스를 생성합니다. 이 앱 인스턴스는 Express 애플리케이션을 나타냅니다.

  • app.get('/', (req, res) => {...}); 라인에서는 HTTP GET 요청을 처리하는 라우트를 정의합니다. 사용자가 웹 브라우저를 통해 앱의 루트 경로에 접속하면 실행됩니다. (req, res) => {...} 함수는 요청(request)과 응답(response)을 다루는 함수로, 현재 설정된 루트 경로에서 요청이 들어오면 '안녕 Express!!!!!!!'를 응답으로 전송합니다.

  • app.listen(port, () => {...}); 라인은 Express 앱을 특정 포트(여기서는 3000)에서 실행하도록 설정합니다. 서버가 시작되면 콘솔에 'Express 서버가 포트 3000에서 작동 중입니다.'라는 메시지가 표시됩니다. 이는 서버가 정상적으로 시작되었음을 나타냅니다.

자 이러면 여러분들은 웹 서버를 구축하신겁니다. 저도 아직 기초만 배운터라 여기까지밖에 알려드리지 못한점 양해 부탁드리며 추후 더 배우는대로 글 올려보도록 하겠습니다!!

JavaScript는 어떻게 동작할까? 1편다음 포스트

JavaScript는 어떻게 동작할까? 1편

초심으로 돌아가 JavaScript는 어떻게 동작하는지에 대해 알아봅니다.
(React) useRef() Hooks 기본편이전 포스트

(React) useRef() Hooks 기본편

useRef() Hooks 기초와 간단한 응용을 알아봅니다.