논블로킹 3

이벤트 루프에 대해서 설명해주세요.

🚀 자바스크립트 이벤트 루프: 비동기 작업의 숨겨진 비밀들어가며: 자바스크립트의 특별한 능력자바스크립트는 단일 스레드 언어임에도 불구하고, 마치 여러 일을 동시에 처리하는 것처럼 보입니다. 이 마법 같은 능력의 주인공, 바로 이벤트 루프입니다! 🤔 이벤트 루프란 무엇인가?이벤트 루프는 자바스크립트의 비동기 작업을 관리하는 놀라운 메커니즘입니다. 마치 주방장이 여러 요리를 동시에 관리하는 것처럼, 이벤트 루프는 다양한 작업들을 조율합니다.주요 구성 요소콜 스택 (Call Stack)현재 실행 중인 함수들이 쌓이는 공간함수 호출 순서를 관리하는 접시 더미라고 생각하세요태스크 큐 (Task Queue)비동기 작업의 결과가 대기하는 공간두 가지 종류가 있습니다마이크로태스크 큐매크로태스크 큐 🎬 이벤트 루프..

[2회 - 데일리과제] 동기와 비동기 & 프로세스와 스레드

1. 동기와 비동기 코드 실행방식에 대해 설명해보세요. 동기는 요청을 보낸 후 응답을 받아야지만 다음 동작이 이루어지는 방식이다. 어떠한 태스크를 처리할 동안 나머지 태스크는 대기한다. 실제로 cpu가 느려지는 것은 아니지만 시스템의 전체적인 효율이 저하된다고 할 수 있다. (작업을 동시에 수행, 동시에 끝남, 끝나는 동시에 시작함을 의미) 반면에 비동기는 요청을 보낸 후 응답의 수락 여부와는 상관없이 다음 태스크가 동작하는 방식이다. 자원을 효율적으로 사용할 수 있다. 이때, 비동기 요청시 응답 후 처리할 콜백 함수를 함께 알려준다. (시작, 종료가 일치하지 않으며, 끝나는 동시에 시작을 하지 않음을 의미) 하지만 비동기 처리를 위해 여러개의 콜백함수를 중첩시키면 콜백지옥이 발생한다. 이를 해결하기 위..

노드js 입문(01. Javascript)

노드JS란? 노드js는 크롬V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임입니다. V8엔진은 구글에서 만든 것으로 자바스크립트가 브라우저내에서만 작동가능했던 것을 브라우저 없이도 작동할 수 있도록 만든 것 입니다. 쉽게 말하면 노드js란 자바스크립트가 브러우저가 아닌 컴퓨터에서 브라우저 없이 실행하게 도와주는 환경! 노드js의 특징: 논 블로킹 I/O , 싱글스레드, 이벤트 루프 논블로킹 I/O : 함수가 실행되는 중에도 다른 작업을 동시에 진행할 수 있는 장점 (비동기 작업을 할때 효율적인 특성) -> I/O란 입력(Input)/출력(Output)의 약자로, 컴퓨터 및 주변장치에 대하여 데이터를 전송하는 프로그램, 운영 혹은 장치를 일컫는 말 싱글 스레드 : 스레드 하나를 사용하는 것이며, 동시에..