-
[node.js] 노드 시작하기프로그래밍/Node.js 2021. 2. 7. 22:08반응형
서버
서버는 네트워크를 통해 클라이언트에 정보나 서비스를 제공하는 컴퓨터 또는 프로그램
노트는 자바스크립트 애플리케이션이 서버로서 기능하기 위한 도구를 제공하므로 서버 역할.
자바스크립트 런타임
런타임은 특정 언어로 만든 프로그램들을 실행할 수 있는 환경을 의미한다.
이벤트 기반
이벤트가 발생할 때 미리 지정해둔 작업을 수행하는 방식을 의미한다.
이벤트 기반 시스템에서는 특정 이벤트가 발생할 때 무엇을 할 지 미리 등록해 두어야 함
이벤트 리스너에 콜백 함수를 등록한다, (클릭 이벤트 리스너에 경고창을 띄우는 콜백함수 등록)
이벤트 루프 이벤트 발생 시 호출할 콜백 함수들을 관리하고, 호출된 콜백 함수의 실행 순서를 결정하는 역할을 담당한다. 노드가 종료될 때까지 이벤트 처리를 위한 작업을 반복하므로 루프라고 불린다. 태스크 큐 이벤트 발생 후 호출되어야 할 콜백 함수들이 기다리는 공간이다. 콜백들이 이벤트 루프가 정한 순서대로 줄을 서 있으므로 콜백 큐라고도 부른다. 백그라운드 타이머나 I/O 작업 콜백 또는 이벤트 리스너들이 대기하는 곳이다. 논블로킹 I/O
오래 걸리는 함수를 백드라운드로 보내서 다음 코드가 먼저 실행되게 하고, 그 함수가 다시 태스크 큐를 거쳐 호출 스택으로 올라오기를 기다리는 방식
싱글 스레드
주어진 작업을 혼자서 처리하는 것(한명의 점원이 여러명의 주문을 처리하되 주문을 동시에 받고 만들어지는 순서대로 제공)
노드의 장단점
장점 단점 멀티 스레드 방식에 비해 컴퓨터 자원을 적게 사용 CPU 작업이 많은 서버로는 부적합 I/O 작업이 많은 서버로 적합 하나뿐인 스레드가 멈추지 않도록 관리해야 함 멀티 스레드 방식보다 쉬움 서버 규모가 커졌을 때 서버를 관리하기 어려움 JSON 형식과 호환이 쉬움 웹 서버가 내장되어 있음 반응형'프로그래밍 > Node.js' 카테고리의 다른 글
[Node.js, MongoDB] Schema와 Model (0) 2022.03.28 [node.js] NodeJS + React 연동해서 쿠키🍪 교환하기 (크롬) (0) 2021.06.29