본문 바로가기

JavaScript

노드 JS란?

노드 JS란?

구글 크롬 웹브라우저에서 사용하는 V8 자바스크립트 엔진으로 구동되는 자바스크립트 런타임

 

cf. 런타임

  • 컴퓨터 프로그램이 실행되고 있는 상태
  • 특정 언어로 작성된 코드가 실행되는 환경

 

웹브라우저에는 자바스크립트 환경이 내장되어 있지만, 애플리케이션 서버의 경우 운영체제 위에 독립된 프로세스로 실행되기 때문에 별도의 런타임이 필요함

 

  • 웹브라우저에서 수행되는 JS
    • 작업 범위가 웹 브라우저 내애서 하는 일로 한정됨
    • 웹페이지의 HTML 요소 조작, 웹 저장소 API를 통한 로컬 저장소의 데이터 사용
  • 노드JS
    • 런타임에서 제공하는 파일 시스템의 입출력 모듈, DNS, HTTP, TCP 등 네트워크 모듈을 이용해 운영체제 기능 사용 가능

 

REPL(Read eval print loop) 모드

입력한 명령을 읽고, 평가(실행)해 결과를 출력하는 과정을 반복하는 방식의 대화식 프로그래밍 모드

 

npm(Node Package Manager)

  • 다른 사람들이 개발해 업로드한 오픈소스 라이브러리들을 패키지 단위로 내려받아 사용할 수 있게 하는 도구
  • 필요한 라이브러리 이름, 버전을 package.json 파일에 명시
  • npm 명령어가 package.json 파일 내용을 기반으로 원하는 라이브러리에 대한 의존성을 추가하고 설치

 

cf. 의존성

소프트웨어를 개발할 때 이미 개발된 기능(주로 라이브러리 형태)을 불러와서 사용하는 것

 

익스프레스

  • 노드JS 기반의 웹 프레임워크
  • 가볍고 작은 프레임워크 지향 > Spring과 같은 프레임워크에서 지원하는 DB연결, 사용자 인증 등 복잡한 기능 없음