[1일차] Node.js, MongoDB - Part 1 : Node.js가 뭔데?, Non-blocking, Node.js 설치, 서버에서 GET 요청하기

흑염소·2023년 8월 24일
post-thumbnail

강의를 통해
Node.js
NoSQL Database (MongoDB)
DB에 데이터 저장/출력법
서버제작(API)

  • 서버 배포, npm, bootstrap ...
    배울예정이다.

📕 Node.js

기본 개념

자바스크립트를 브라우저 말고도 로컬 PC에서도 실행시켜줄 수 있는 실행창(런타임)이다.
Node.js 실행하면 그냥 자바스크립트 입력란이 뜨고 거기에 바로바로 스크립트 짜면 해석해서 실행시켜준다.
Node.js 덕분에 자바스크립트를 일반 프로그래밍 언어처럼 다룰 수 있게 된것임

Node.js 특징

Non-blocking

Non-blocking 이라는 장점이 있다.
한꺼번에 많은 요청을 보내도 잘 감당한다는 의미임

일반 서버의 경우 1초에 10만개의 요청이 들어오면 힘들어한다.
대비책으로 똑같은 서버를 몇만대 복사해서 만들어 두거나 CPU 멀티쓰레딩 이용하거나 Node처럼 Non-blocking 스타일로 코드를 짜거나 한다.

반면 Node.js 서버의 경우엔 애초에 한꺼번에 많은 요청을 보내도 받아줄 수 있으니 서버 덩치를 키울 걱정이 적다.
(처리속도는 다른 문제임)

정리하자면

  1. 채팅/SNS에 자주 사용
  2. 코드가 매우 짧고 쉬워서 빠른 개발가능
  3. 만들게 웹서비스가 아닌 경우엔 nope

단점으로는 속도문제도 있고, 수학연산이나 이미지처리 같은 라이브러리가 부족할 수 있다.

설치

1. Node.js 설치

기존에 설치되어 있는경우 10버전 이상이 필요하니 신버전으로 다시 설치하기.
설치 경로 임의로 바꾼다면 npm 명령어가 안먹을 수 있다.
경로는 건들지말고 C드라이브 기본 경로로 냅두자!

2. VScode 에디터

터미널 이용할 용도로 VScode나 뭐든간에 에디터 설치하기

3. 작업 폴더 만들고 npm init

폴더 생성하고 에디터로 오픈 후, 터미널에 npm init 입력해서 설치해준다.
꼭 작업폴더 경로 에디터로 확인하고 설치해주기
설치하기 시작하면 각종 input이 등장하는데 무시하고 엔터 눌러주다가
중간에 entry point : ? 라고 되어있는 부분만 server.js라고 메인으로 사용할 파일명 입력해주기.

용어설명

  • npm : 노드 패키지 매니저라는 건데 라이브러리 설치를 쉽게 도와주는 도구다. (Node에 기본적으로 설치되어있음)
  • 라이브러리 : 코딩생활을 쉽게 만들어주는 일종의 코드 모음집. 말그대로 도서관역할임
  • npm init : package.json 파일을 만들기 위해 사용하는 명령어
  • package.json : 내가 어떤 라이브러리를 설치했는지, 몇버전인지 모두 기록해주는 파일

4. npm install express

express는 서버를 매우 쉽게 짤 수 있게 도와주는 라이브러리다.
npm install express 터미널에 입력하고 설치해준다.

여기까지 진행하면 서버 만들기 위한 셋팅 완료다.
다음시간부터 제대로 서버 제작 들어가보기!

📗 서버에서 GET 요청하기

포트8080 서버 띄우기

메인으로 설정한 server.js 파일을 만들고 기초 셋팅을 해주자.

(server.js 파일)

const express = require('express');
const app = express();

app.listen(8080, function() {
    console.log('listening on 8080')
})

설정을 해주면 서버가 뜬다.
첫 두줄은 express 라이브러리 첨부와 사용이고
app.listen()은 원하는 포트에 서버를 오픈하는 문법이다.
listen() 함수 안엔 두개의 파라미터가 필요한데
listen(서버를 오픈할 포트번호, function(){서버 오픈시 실행할 코드})
이렇게 이해하면 된다.

서버 띄우는 방법은 터미널에 node server.js 입력하고
브라우저에서 localhost:'입력한포트번호' 로 접속한다.

포트란?

컴퓨터는 항상 외부 컴퓨터와 통신할 수 있게 설계되어 있다.
외부와 통신할 수 있는 구멍이 60000개 정도 있는데 이걸 포트라고 한다.
평상시엔 막혀있고 접속을 허가하려면 포트를 열어야한다.
위 과정은 8080 번째 포트를 사용해서 서버를 열어준 것이고 외부 컴퓨터가 내컴퓨터의 아이피주소:8080을 입력하면 내 컴퓨터로 들어올 수 있게 되었다.

기본적인 GET요청 처리하기

서버는 요청을 처리하는 기계다.
요청을 하는 가장 쉬운 방법은 브라우저 주소창에 URL을 입력하는 것임
이걸 전문용어로 GET요청이라고 한다.

(server.js)

app.get('/pet', function(요청, 응답) { 
  응답.send('펫용품 사시오')
})

이 코드를 추가하면 브라우저 주소창에 localhost:8080/pet 을 입력하면
화면에 '펫용품 사시오'가 출력된다.
(코드 추가할때 터미널에서 ctrl + c 누르시고 서버를 끈 다음 node server.js 입력해서 서버를 재시작해야함)

profile
매일 TIL 중인 비전공자 프론트 개발자

0개의 댓글