2025-02-10학습 (node의 특징, 라이브러리와 프레임워크)

airbus·2025년 2월 10일

프로그래머스

목록 보기
8/93

🔵 Today

  • HTTP method
  • Node.js에 특징
  • 모듈과 라이브러리 그리고 프레임워크의 관계

📘 Learned

HTTP Method

  • 인터넷 상에서 클라이언트와 서버는 HTTP 프로토콜로 데이터를 주고 받습니다.
  • HTTP 에서의 Method는 클라이언트가 서버에게 보내는 요청의 종류입니다.

데이터 관련 Method

Method설명
POST생성, 등록, 작업처리
GET조회, 자원 획득
PUT수정, 덮어쓰기, 대체 //PATCH는 부분 수정
DELETE삭제

통신 관련 Method

Method설명
HEAD헤더만을 받음
OPTIONS통신 옵션 확인
CONNECT양방향 연결을 시작
TRACE루프백 테스트

Node.js

자바스크립트를 스크립트 언어 이상으로 프로그래밍 언어 역할을 할 수 있도록 지원하는 플랫폼

node.js

node.js 는 서버가 아닙니다. 백엔드에만 사용하거나 프레임 워크도 아닙니다.
javascript를 브라우저 밖에서도 사용할 수 있게만드는 플랫폼(런타임) 입니다.

Node.js의 특징

  • 싱글스레드 기반 : 한번에 한개의 작업을 순차적으로 처리합니다.
  • 이벤트 기반 : 이벤트 발생시 작업을 시작합니다.
  • 논 블로킹I/O 기반 : 비동기적으로 작업을 처리합니다.
    ex) 한명의 요리사(싱글 스레드)가 주문이 들어오면(이벤트 발생) 요리를 시작하는데.
    물을 끓이는 시간동안 끓기만을 기다리는 것이 아니라 다른 재료/요리들을 준비(비동기적)하는 방식으로 작업합니다.

모듈, 라이브러리, 프레임워크

모듈이란

프로그램 기능을 독립적으로 모아둔 코드 파일
기본적으로 제공하는 내장모듈(표준모듈)과 다른 개발자들이 만들어 놓은 외부모듈이 있습니다.
ex) 내장모듈 : setTimeout, console.log
ex) 외장모듈 : figlet

라이브러리

도서관에 본인이 읽고싶은 책(=필요한 것, 모듈)을 찾으러 가는 것 처럼, 라이브러리는 여러 기능의 모듈을 모아둔 것 입니다.

프레임워크

서비스 개발에 필요한 것들을 모아둔 틀 입니다. 서비스에 필요한 라이브러리들이 포함되어 있습니다.
필요시 다른 라이브러리나 모듈을 불러와 사용이 가능합니다.

NPM

NPM이란 무엇인가?

npm(node package manger)는 Node.js기반에서 만든 오픈 소스 모듈들의 저장소 입니다.
npmjs.com

모듈 설치과 제거

기본적으로 터미널에서 npm install (모듈명)을 입력하여 설치
npm uninstall (모듈명)을 입력하여 제거 합니다.

etc

콜백함수

  • 매개변수로 전달되는 함수, 다른 함수가 완료된 이후 실행됩니다.
  • 익명의 함수, 화살표 함수로 간결하게 표현합니다.
    콜백함수

블록스코프

  • 블록 {}안에서 선언된 (let, const)변수는 {}안에서만 사용이 가능하다.

템플릿 문자열

  • 백틱 ( ` )으로 문자열을 감싼 후 출력하려는 변수를 ${변수}형식으로 입력하는 것
    기존의 문자열에 변수가 포함된 경우 표현할 때 불편한 것을 해결 (복잡함, 가독성낮음)
const name = 철수
let age = 20;

console.log("저는 " + name + "입니다. 올해 " + age + " 살 입니다.");
console.log(`저는 ${name}입니다. 올해 ${age}살 입니다.`);
* 템플릿 문자열의 백틱 내부에서 개행을 하는경우(엔터로) 그대로 반영되어 출력됩니다.

learned : 모듈, 라이브러리, 프레임워크의 차이에 대해 알게되었습니다.
liked : nodejs의 특징이라던지, 모듈이나 라이브러리도 많이 들어서 대충은 알고 있었지만. 다시한번 되짚어 보면서 정확히 무엇인지 정의할 수 있었습니다.
lacked : 콜백함수, 화살표함수, 콜백함수를 활용하는 함수, 타이머 함수에 대해 어떤 함수이진지 알고는 있지만 실제로 사용에 있어서 함수를 만드는? 구조를 잡는데 아직 부족함이 있습니다. 데이터베이스에선는 다대다 관계의 해소방법과 relationship 표현에 대해 개념이 부족합니다.
longed for : 이건.. 이해될 때까지 반복해서 보는 것 밖에 답이 없어 보이긴합니다.

0개의 댓글