nodejs-작성 중

이재근·2022년 10월 31일
0

Node.js 특징.

chrome v8 js 엔진 기반 js 런타임

js 어플 실행 가능.(?) 서버 실행이 가장 유효.

  • 서버사이트 스크립트 언어가 아니다. 프로그램(환경)이다(?)

-웹 서버와 같이 확장성 있는 네트워크 프로그램 제작을 위해 만들어졌다.(?)

-Non-blocking I/O, 단일 스레드 이벤트 루프(추후 주석 작성함)

-내장 http 서버 라이브러리를 포함한다(?)
따라서 아파치 등의 별도 소프트웨어 없이 동작하는 것이 가능(?)하여
서버 동작에 있어 더 많은 통제에서 벗어나 여러 가지 기능을 가능하게 한다.

-데이터의 실시간 변환. 안드로이드폰 아이폰 윈도우 맥 등 플랫폼제약없이 프로그램과 게임 구동 가능(알아보기)

-온라인 채팅, 실시간 온라인 게임, 로그인 기능을 넣어 유저를 관리하고 점수를 관리 가능. (socket.io와 node.js의 관계는?)

j.s는 독립적인 언어가 아닌 script언어이다(?)
스크립트 언어는 특정한 프로그램 안에서만 동작하는 프로그램.
j.s는 웹 브라우저 프로그램 안에서만 동작.

node.js는 js를 터미널 프로그램에서 입력하여 실행가능.
노드는 V8과 더불어 libuv라는 라이브러리를 사용한다.(libuv란?)
libuv 라이브러리는 노드의 특성인 이벤트 기반, 논 블로킹 I/O 모델을 구현하고 있다.

-이벤트 리스너에 콜백함수를 등록.
-해당 이벤트 발생 시, 이벤트가 미리 지정해둔 작업을 수행(언어 정리 요망)
-다음 이벤트가 발생할 때 까지 (서버는?) 대기한다.

이벤트 루프(event loop)는 여러 이벤트가 동시에 발생했을 때 어떤 순서로 콜백함수를 호출 할지를 이벤트 루프가 판단한다.
노드는 이벤트가 종료될 때까지 이벤트 처리를 위한 작업을 반복하므로 루프(loog)라고 부른다.

  • 위 내용 중 이벤트 루프의 처리 순서에 대해 설명하시오.
profile
하루 고생하면 코드가 나 대신 일해준다.

0개의 댓글