NPM과 HTTP Method

Younha Lee·2026년 1월 15일

TIL

목록 보기
11/61

Node.js와 npm, 그리고 HTTP Method

오늘은 웹 개발의 기초가 되는 HTTP Method를 간단하게 알아보고, Node.js가 왜 탄생했는지, 어떤 특징이 있는지 알아볼 예정이에요.
추가로 실습하면서 마주쳤던 모듈과 npm, 라이브러리와 프레임워크의 차이점에 대해서도 정리해볼게요

📖 HTTP Method

서버에 요청을 보낼 때, 목적에 따라 다른 메소드를 사용해야 해요.

  • POST : 새로운 데이터를 생성할 때 사용해요.

  • GET : 존재하는 데이터를 조회할 때 사용해요.

  • PUT : 기존의 데이터를 덮어쓰기해요. 만약 데이터가 없다면 새로 생성하기도 해요.

  • PATCH : 기존 데이터를 부분 수정해요.

    • PUT과의 차이점: PUT은 일괄 수정이지만, PATCH는 변경된 부분만 콕 집어서 수정해요. 다만 요청 처리가 까다로워 보통 PUT을 더 많이 사용하는 편이에요.
  • DELETE : 기존 데이터를 삭제해요.

  • 강사님은 PUT보다 PATCH가 까다롭다고 PUT을 권장하는데, 저는 아직 프로젝트해보면서 PATCH를 써봤을 때 그렇게 느끼지는 못했어요.

📖 Node.js란?

"Chrome V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임 환경"

원래 자바스크립트는 웹 브라우저 안에서만 살 수 있는 언어였기에 스크립트 언어라고 불렸어요
하지만 구글의 V8 엔진 성능이 너무 좋아서, "이걸 브라우저 밖에서도 써보자!" 하고 나온 게 바로 Node.js에요. 자바스크립트를 서버 사이드에서도 사용할 수 있게 되었어요.

Node.js의 특징

Node.js는 다음과 같은 뚜렷한 특징을 가지고 있어요.

  1. 싱글 스레드 (Single Thread) : 한 번에 처리할 수 있는 스레드가 하나뿐이에요.
  2. 이벤트 기반 (Event Driven) : 이벤트가 발생해야만 작업을 시작해요.
  3. 논블로킹 I/O (Non-blocking I/O) :A 작업을 하다가 B 작업이 들어오면, A가 끝날 때까지 기다리지 않고 비동기적으로 B를 동시에 진행시킬 수 있어요.
  4. 내장된 http 모듈로 아주 간단하게 웹 서버를 띄울 수 있어요.

Node.js의 동작 원리

모듈 (Module)

모듈이란 기능별로 쪼개놓은 하나의 덩어리를 말해요.
마치 레고 블록처럼, 필요한 기능(함수, 변수 등)을 뭉쳐놓은 부품이라고 생각하면 돼요.

  • 내장 모듈: Node.js를 설치하면 기본으로 설치되어 있는 모듈들이에요. (예: http, fs 등) 별도 설치 없이 사용할 수 있어요.
  • 외부 모듈: 다른 개발자들이 만들어둔 모듈이에요. (예: mysql, express 등)

이런 외부 모듈은 npm을 통해 사용할 수 있어요.

📄 npm (Node Package Manager)

"Node.js의 기본 패키지 관리자"

npm은 이름 그대로 Node.js에서 사용하는 모듈(패키지)들을 관리해 주는 도구에요. Node.js를 설치하면 자동으로 같이 설치돼요.

npm으로 모듈을 설치하면 프로젝트 폴더에 다음과 같은 파일들이 생겨요.

  • package.json: 프로젝트의 명세서에요. dependencies 쪽에 설치한 모듈 이름과 버전이 적혀있어요.
  • package-lock.json: 모듈을 설치할 때 사용된 정확한 주소, 버전 정보가 기록된 파일이에요.
  • node_modules: 실제 모듈 파일들이 저장되는 코드 덩어리에요

npm 기본 명령어

자주 쓰는 명령어는 외워두면 좋아요.

npm -v              # 설치된 npm 버전 확인
npm install {모듈명}  # 모듈 설치 (npm i {모듈명} 가능)
npm uninstall {모듈명} # 모듈 삭제

📖 라이브러리 vs 프레임워크

모듈을 공부하다 보면 라이브러리프레임워크라는 용어가 자주 등장해요. 둘 다 개발 시간을 줄여주는 "미리 작성된 코드들"라는 점은 같지만, 결정적인 차이가 있어요.

Library (도구)

개발자가 필요할 때 가져다 쓰는 도구 모음이에요.
마치 내가 좋은 연장을 골라서 내 마음대로 멋진 집을 짓는 거죠.

Framework (틀)

개발에 있어 필요한 뼈대가 이미 잡혀있는 것이에요.
이미 지어진 집에 들어가는 것과 비슷해요. 정해진 규칙과 구조가 있어서, 개발자는 그 규칙에 맞춰서 내용을 채워 넣어야 해요.

profile
할 땐 하고 놀 땐 노는 일일놀놀입니다.

0개의 댓글