본문 바로가기

공부/타입스크립트로 함께하는 웹 풀 사이클 개발(React, Node.js)

백엔드 기초: Node.js + Express 기본(2)-HTTP method, node.js, npm

HTTP method (목적)

  • 생성: POST
  • 조회: GET
  • 수정: PUT(무조건 덮어쓰기) / PATCH
  • 삭제: DELETE
  • HEAD, OPTIONS, CONNECT, TRACE (데이터 외 설정하는 메소드)

cf. PATCH: 일부 변경된 부분만 수정. ex)my page: 연락처, 이메일, 집주소, 이름=>부분 수정

 

Node.js는 백엔드에만 쓰이지 않는다!

 

Node.js란?

특징: 싱글스레드, 이벤트기반, 논블로킹 I/O

요리사로 예를 들면?
싱글스레드 => 요리사가 한 명이라 주문이 계속 밀려들어와도 혼자서 어떻게든 쳐내야 함
이벤트기반 => 주문이 들어와야만 일을 함(= 주문이 없으면, 일을 하지않음!)
논블로킹 I/O => 한 명이 일을 하는데, 요리를 순차적으로❌, 중간중간 비는 시간이 있으면 다른 요리를 함
                        ex) 라면을 끓일 때, 물 끊는 시간이 5분이라고 한다면, 5분동안은 볶음밥을 완성 후 물이 끓을때 라면 끓임

cf. 스프링 => 싱글스레드

 

모듈

미리 만들어진 코드 덩어리 (=라이브러리)

1) 기본 내장 모듈

2) 외부 모듈 (npm)

✨Node.js가 있어서 js 모듈을 만들 수 있고, 사용할 수 있다!

 

라이브러리

도서관을 생각해보면 된다. 결국엔 모듈

cf. 프레임워크: 내가 만들고 싶은 서비스를 구현하는데 필요한 모든 일을 틀 안에서 하는 것.

(프레임워크는 필요해 보이는 라이브러리(모듈)을 미리 다 틀안에 넣어져다.)

 

NPM

figlet 외부모듈 사용해보기!

ASCII-ART를 할 수 있게 하는 모듈이다.

npm install figlet

을 사용하여 vscode 터미널에서 figlet 모듈 설치!

(-g 를 붙이면 글로벌의 줄임말로 모든 프로젝트에서 사용할 수 있게 설치하는 것이다.)

다음과 같이 figlet을 import하여 함수로 사용하면

다음과 같은 결과 코드로 예쁘게 꾸며준다!

 

변수의 scope

 

 
var를 제외하고는 scope 영역 안에서 사용 되는 변수명이기 때문에
if안에서 만든 변수들은 전역에서 log를 찍으면 오류가 난다.
(var는 함수 scope는 가지고 있다.)

const는 선언과 동시에 초기화를 해줘야 하고, 초기화 이후 값 변경이 안된다.

 

http 모듈 뜯어보면서 콜백함수 확인하기!

 

NPM

외부 모듈을 내 프로젝트에 설치할 수 있게 해줌
npm이 저장소에 외부 모듈의 설치를 원하는 프로젝트에 자동으로 해준다!
(프로그램 설치 파일 다운로드 후 더블 클릭 || npm install)

cf. npm은 삭제도 간편하게 가능하다. => npm uninstall
npm install 모듈명 -g => 내 컴퓨터에 있는 모든 프로젝트에 해당 모듈을 설치하는 것임으로 필요할때만 사용