이벤트루프와 태스크 큐, 마이크로태스크 큐
JS는 싱글 스레드 기반의 언어이며, 하나의 호출 스택만을 사용한다. 이는 요청이 동기적으로 처리되어, 한 번에 한 가지 일만 처리할 수 있음을 의미한다. 하지만 자바스크립트가 구동되는 환경(Node.js, 브라우저)은 여러 스레드가 사용된다. 만약, 네트워크 요청과 같은 비동기 함수가 동기적으로 이루어지는 함수로 만들어졌다면, 어떤 일이 일어날까? 네트워크 요청이 다른 서버로 보내지고, 컴퓨터는 응답 받기를 기다리며 느려질 것이다. 그 사이에 클릭이나, 다른 요소가 렌더링이 되어져야 하는게 있더라도, 스택은 네트워크 요청 함수에 블락킹 되어있으므로, 아무 일도 일어나지 않게 된다. 이러한 문제는 비동기 콜백을 사용함으로써 해결된다. 여러 스레드가 사용되는 구동 환경이 자바스크립트 엔진과 연동하기 위해 ..
HTML&CSS
1) HTML HTML이 무엇인가요? HyperText Markup Language의 약자로, 우리가 보는 웹페이지가 어떻게 구조화되어 있는지 브라우저로 하여금 알 수 있도록 정보를 제공하는 마크업 언어이다. 페이지에 제목, 문단, 표, 이미지, 동영상 등을 정의하고, 그 구조와 의미를 부여하는 정적 언어로 웹의 구조를 담당한다. 페이지의 뼈대, 의미에 중요성을 두며, 웹페이지의 구조를 잡을 수 있게 해준다. 2) HTML의 필수 구조는? HTML 파일의 필수 구조는 어떻게 되나요? HTML 파일의 필수 구조는 크게 , : HTML 파일 가장 상단에 위치한 선언문으로 사용 중인 파일이 어떤 버전의 HTML을 사용하는지 브라우저에게 알려주는 역할 : 선언문을 제외한 다른 모든 HTML 요소의 컨테이너로, ..