노드 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연결, 사용자 인증 등 복잡한 기능 없음
'JavaScript' 카테고리의 다른 글
[PHP/JavaScript] MySQL 데이터로 카카오 지도 API에 다중 마커 표시하기 (0) | 2022.08.20 |
---|