node.js (2) 썸네일형 리스트형 블로킹/논블로킹 , 동기/비동기 이해하기 CS 기술면접을 준비하다 정확하게 알고가야 되는 부분이라고 생각해서 글로 적어놓음 블로킹 / 논블로킹, 동기 / 비동기 ? 프로그래밍 관점에서 봤을때, I/O방식은 크게 4가지로 구분된다. 기본 개념을 정리하고 가자면 Blocking 자신의 작업을 진행하다가 다른 주체의 작업이 시작되면 다른 작업이 끝날 떄까지 기다렸다가 자신의 작업을 시작한다 Non-blocking 다른 주체의 작업에 관련 없이 자신의 작업을 한다. Synchronous 요청이 들어온 순서에 맞게 하나씩 처리한다. Asynchronous 하나의 요청이 끈나기도 전에, 다른 요청을 동시에 처리할 수 있다. Synchronous와 Blocking은 무언가를 기다리게하고, Asynchronous와 Nonblocking은 기다리지 않고 바로 .. Node.js의 특징 및 장단점 ? Node.js의 특징 Node.js는 Single-Thread의 이벤트 루프 기반 비동식 방식으로 작동한다. non-blocking I/O 언어 하나로 프론트, 백엔드 전부 커버가 가능하다. JavaScript 엔진(V8 Engine)으로 빌드 된 JavaScript 런타임이다. 따라서, 사용자의 요청은 한 곳에서 받지만 작업은 실질적으로 멀티쓰레드로 운영하여 결과를 구현한다. V8 엔진 크롬V8 또는 V8이라고 불리는 친구인데, 웹 브라우저를 만드는데 기반을 제공하는 오픈 소스 자바스크립트 엔진으로 구글이 제공하고 있다. V8 자바스크립트 엔진은 기존 다른 웹 브라우저보다 자바스크립트 처리가 월등히 빠름 왜냐면 JIT(Just In Time)컴파일 방식을 사용하기 때문이다. 이 방식은 자바스크립트를 인.. 이전 1 다음