JY's DevLog

[Web] 브라우저 렌더링 과정 정리: DOM부터 화면 표시까지

브라우저는 서버로부터 전달받은 HTML·CSS·JavaScript를 해석하여 최종적으로 화면에 픽셀 단위로 표시됨으로써 렌더링된다. 이 과정은 단순히 “HTML을 읽어 화면을 그린다”로 끝나지 않으며, 문서 구조를 트리로 구성하고 스타일 규칙을 결합한 뒤, 요소의 위치와 크기를 계산하고, 시각적 결과를 칠하고, 마지막으로 레이어를 합성하여 화면에 출력...

[JavaScript] 비동기 처리 방식의 차이: 콜백, Promise, async/await

자바스크립트는 싱글 스레드 언어로, 기본적으로 한 번에 하나의 작업을 처리하는 방식으로 동작한다. 따라서 오래 걸리는 작업(서버 요청, 파일 읽기, 타이머 등)을 그대로 기다리면 화면이 멈춘 것처럼 보일 수 있다. 이 문제를 피하기 위해 자바스크립트는 오래 걸리는 작업을 비동기 처리로 넘기고, 작업이 끝났을 때 결과를 받아 이어서 처리하는 방식을 사용...

[JavaScript] 렉시컬 스코프(Lexical Scope)란?

렉시컬 스코프(Lexical Scope)란 코드가 “어디에 작성되었는지(선언 위치)”에 따라 스코프(식별자 접근 범위)가 결정되는 규칙을 의미한다. 다른 표현으로는 정적 스코프(Static Scope) 라고도 한다. 자바스크립트를 포함한 많은 언어에서 이 규칙을 채택하며, 특히 클로저(Closure) 를 이해하기 위해 반드시 짚고 넘어가야 하는 핵심...