9. HTTP method / 모듈

JSLEE·2024년 4월 23일

HTTP method

HTTP method는 HTTP 메시지가 어떤 목적을 가지고 있는지를 나타낸다.

주로, 다음과 같은 method들이 있다.

  • 생성 : POST
  • 조회 : GET
  • 수정 : PUT / PATCH
  • 삭제 : DELETE
  • 서버관리 , 설정확인 등 : HEAD, OPTIONS, CONNECT, TRACE

Node.js 특징

Node.js는 스크립트 언어인 자바스크립트를 프로그래밍 언어 역할을 할 수 있도록 지원하는 플랫폼(런타임 환경)이다.

Node.js는 백엔드에만 사용되는 플랫폼이 아니다.
Node.js와 연결하여 React나 vue 등에 연동하여 프론트엔드의 JS 프레임워크에도 사용할 수 있다.

Node.js 특징

Node.js의 대표적인 특징으로 3가지 존재한다.
1. 싱글 스레드 : 한번에 하나의 작업을 수행한다.
2. 이벤트 기반 : 이벤트(요청)가 발생해야 동작한다.
3. 논블로킹 I/O : 어떤 작업을 수행하는데 10분이 소요되고, 10분 중 5분은 대기하는 등의 의미없는 동작이 있다면, 이 5분동안 유연하게 다른 동작을 수행하도록 한다.

논블로킹의 예시는 다음과 같다.

function first (){
  console.log("1")
}

function second (){
  console.log("2")
}

function third (){
  console.log("3")
}


first();
setTimeout(second, 2000); // 2초 지연시키기
third();
결과:
1
3
2

setTimeout()이라는 빈 시간에, third() 가 먼저 실행되는 것을 확인될 수 있다.


모듈이란

모듈은 다른 개발자들이 미리 만들어 둔 코드 덩어리를 의미한다.
모듈에는 크게 두 종류가 존재한다.

  • 내장 모듈 : 환경에 기본적으로 내장되어 있는 모듈
    ex) console.log(), setTimeout() ...
  • 외부 모듈 : 기본적으로 내장되어 있지 않고, 불러와서 사용해야 하는 모듈

라이브러리라는 단어도 들어보았는데,
모듈라이브러리는 거의 유사한 개념이다.


라이브러리와 프레임워크

라이브러리 vs 프레임워크

라이브러리란, 사용자가 필요로 하는 정보들이 정리되어 있는 집합이다. 라이브러리에서, 사용자가 필요한 함수나, 기능들을 찾아서 사용할 수 있다.

프레임워크란, 구조,틀의 의미가 강하다. 프레임워크는 이 틀 안에 필요한 라이브러리, 모듈들을 모두 가지고 있고, 사용자는 틀에 맞춰서 코드를 작성해야 한다.


외부모듈 사용해보기

먼저, npm이란 Node Packager Manager의 약자로, 모듈을 관리해주는 패키지 관리자이다.

주로 npm install 모듈명 의 방식으로 사용한다.

figlet이라는 외부 모듈을 설치해서 사용해보도록 하자.

우선 npm 공식 홈페이지 에 접속하여 figlet 모듈을 검색해본다.
해당 모듈의 페이지에 들어가면 개발자가 설치 방법, 사용 예시 등의 정보를 게시해 놓은걸 확인할 수 있다.

안내된 사항에 따라, 로컬의 vscode 터미널에 npm i figlet 을 입력하여 설치한다.
해당 터미널의 위치에 node_modules라는 폴더가 생성되며,
package.json, package-lock.json 이라는 파일이 생성됨을 확인할 수 있다.

package.json 에는, dependencies 라는 key가 생기고, 그 안에 또 figlet이라는 key와 version을 값으로 갖는 value가 생성된다.

// `package.json`
{
  "dependencies": {
    "figlet": "^1.7.0"
  }
}

package-lock.json 에는, 이보다 더 자세하게 작성되어 있으나, 사용자가 굳이 확인할 필요는 없어보인다. 추가된 정보는 모듈의 설치 위치, 주소, requires 등 다양한 속성이 존재한다.

이렇게 npm install 을 통하여 외부 모듈을 사용할 수 있게 되었다.


figlet 외부 모듈 사용해보기

figlet 공식 페이지의 예제를 이용해서 코드에 대해서 알아보자.


var figlet = require("figlet"); // require이라는 내장 모듈의 함수로, figlet이라는 모듈을 불러온다.

// figlet("문자열" , 콜백함수)
figlet("Hello World!!", function (err, data) {
  if (err) {
    console.log("Something went wrong...");
    console.dir(err);
    return;
  }
  console.log(data);
});

/* 작동 순서 : 
1. 모듈 불러오기
2. 해당 모듈의 함수 사용 (figlet())
	2-1. 해당 함수에 입력된 문자열로 아스키 아트를 생성.
    2-2. 콜백함수 실행
3. 출력
*/

모듈 삭제하기

외부 모듈을 설치할 땐 npm install figlet 을 사용했다.
그렇다면 안쓰는 모듈을 삭제할 땐 어떻게 할까?
삭제할 땐 npm uninstall figlet 을 사용한다.

삭제 후 해당 모듈의 함수들을 사용해보면, 오류가 출력되는 것을 확인가능하고, 정상적으로 삭제되었음을 알 수 있다.

로컬의 모든 프로젝트에 모듈 설치하기 (비권장)

figlet 페이지에서,
npm install -g figlet-cli 라는 커맨드가 있는 것을 확인할 수 있다.
여기서 -g의 역할이 모든 프로젝트 폴더에 모듈을 적용시켜 설치하겠다는 의미이다.

하지만, 사용하지 않는 불필요한 모듈은 충돌 등의 문제가 발생할 수 있기 때문에 가지고 있지 않는 편이 권장된다.

profile
공부한 내용들을 정리하기 위해 사용하는 블로그입니다.

0개의 댓글