본문 바로가기

코딩/NodeJS

백엔드 공부를 위한 NodeJS 알아보기 + 설치

반응형

개발자가 되고 싶은 사람이라면 프론트엔드와 백엔드라는 단어를 들어봤을 건데

궁금해서 나무위키를 찾아보면 '백엔드는 DB와 API 서버 개발을 맡는다'라고 적혀있음

 

여기서 DB는 데이터베이스고, API(Application Programming Interface)는 데이터 요청 체계임

아니 데이터베이스는 알겠는데 데이터 요청 체계가 뭐임? 싶다면...

 

예를들어

우리가 유튜브 웹페이지에서 어떤 영상을 클릭한다고 가정했을때

유튜브 영상이 저장된 서버에서는 우리가 클릭한 영상을 웹페이지로 보내줘야 함

이때 웹페이지와 영상이 저장된 서버 사이에 요청과 응답이 이루어지는데

이 요청과 응답 체계를 API라고 함

 

혹시 CRUD(Create, Read, Update, Delete)를 들어봤다면

바로 이 CRUD가 API의 기본요소라고 할 수 있음

 

 

자 그래서 데이터베이스랑 데이터 요청 체계를 만드는 것이 백엔드의 역할인걸 알았는데

여기서 NodeJS가 왜나오냐면

 

NodeJS는 자바스크립트를 브라우저가 아닌 환경에서도 실행할 수 있게 해주는 런타임 환경임

이게 뭔소리냐면

1. 자바스크립트는 웹브라우저에 인터프리터가 내장되어 있어서 웹브라우저에서만 실행이 가능함

2. NodeJS를 쓰면 브라우저가 아닌 환경에서도 실행할 수 있음

참고로 런타임 환경이란건 프로그램이 구동되는 환경임

 

자바스크립트가 브라우저에서 실행되면 런타임 환경이 브라우저인거고

NodeJS에서 실행된다면 런타임 환경이 NodeJS인 것

 

그래서 결론은 NodeJS는 브라우저에 갇혀있는 우물안 개구리 자바스크립트를 터미널 환경으로 끌어올린 구세주라고 할 수 있다

NodeJS의 등장으로 서버 환경에서 자바스크립트를 구동할 수 있게 되었고,

프론트엔드 필수언어인 자바스크립트를 백엔드에서도 사용할 수 있게 되면서 풀스택 개발의 문이 넓어졌다고 할 수 있음

 

 

조금 더 나아가서,

서버는 요청받은 내용을 제공하는 역할을 함

사용자가 서버에 요청하는 방법은 4가지가 있는데

1. 읽기(GET)

2. 쓰기(POST)

3. 수정(PUT)

4. 삭제(DELETE)

요렇게 4가지임

 

NodeJS를 서버로 많이 사용하는 이유가

동시에 여러개의 요청을 받았을 때 빨리 처리할 수 있는 요청부터 처리해줌

= 요청이 많아도 서버가 멈추거나 대기하지 않음 = 빠르게 요청 처리 가능

이런 특징을 Non-blocking I/O라고 부름

 

 

설명은 이쯤하고 이제 NodeJS설치해보기로 함

나는 지금 맥북으로 글 쓰고 있는데

https://nodejs.org/ko/

 

Node.js

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

nodejs.org

맥이든 윈도우든 그냥 위 링크로 접속 ㄱㄱ

그리고 LTS 버전 다운받아서 설치하면 됨

 

그리고 Express도 설치합시다

서버 쉽게 만들 수 있도록 도와주는 라이브러리임

 

라이브러리 설치 전에 npm 셋팅부터 합시다

// npm은 라이브러리 설치 도우미임
// npm init으로 셋팅 먼저 합시다
npm init

터미널에 위 명령어 입력하면 끝

뭐 확인하고 설정하라는데

entry point에 server.js라고만 입력해주면 됨

그럼 package.json 파일이 생성되는데

여기에 내가 설치하는 라이브러리들이 기록됨

 

npm install express

이번엔 위 명령어를 터미널에 입력하면 express 설치됨

반응형