-
브라우저에서 JavaScript의 동작 원리
JS는 단일 스레드 기반으로 동작한다. 즉, 한 순간에 하나의 실행 흐름만 가질 수 있고, 실행할 함수들은 콜 스택(Call Stack) 에 쌓였다가 위에서부터 하나씩 처리된다. 이런 구조에서는 어떤 작업이 오래 걸리면 그동안 스택이 막혀 화면 렌더링, 클릭 처리 같은 UI 작업까지 멈추는(“blocking”) 문제가 생긴다.그래서 브라우저는 JS 엔진(V8 등) 바깥에, 시간이 걸리는 일을 대신 처리하는 별도의 실행 환경을 제공한다. 흔히 Web APIs라고 부르는 영역인데, 여기에는 setTimeout 같은 타이머, 네트워크 요청(fetch/XHR), DOM 이벤트 감지(click/scroll), 파일/스토리지 접근 등이 포함된다. 핵심은, JS 엔진이 직접 오래 걸리는 일을 “병렬로 처리”하는 게 ..
Programming/Javascript, Typescript
2026. 1. 13.
-
[추석 특집 기술 이야기] 2025년 8월, 9월 회고: x-forwarded-proto, x-forwarded-host, 즉시 실행 함수, Graceful Degradation, SSAFY 방문, 9km 러닝, 기획일을 해보며 든 생각들
cross-team 업무들, 마라톤 준비, 기획 외주 등 바쁜 시기를 보내고 맞이한 추석! 오랜만에 여유가 생겨 밀린 회고를 써본다 -1. 기술 이야기지난 두 달은 크게 SEO, 새 프로젝트 유지보수, A/B test에 걸쳐 일을 했다. 이 과정에서 프론트엔드 측면에서 배운 점들이 많아 정리해보려고 한다. x-forwarded-proto와 x-forwarded-hostNginx를 여러 번 손 보고 배포해야 했던 최근 몇 달 자주 마주친 개념들이다. x-forwarded-proto는 클라이언트가 프록시 또는 로드 밸런서에 접속하는데에 사용했던, 말하자면 사용자가 URL에 주소를 입력할 때 그 주소에 사용된 프로토콜(http/https)를 알려주는 헤더(웹 통신(특히 HTTP 프로토콜)에서 요청(reques..
My/Riverlog
2025. 10. 7.