웹 서비스를 이용할 때 사용자가 여러 브라우저 탭을 열어두고 한쪽에서 로그아웃을 하거나 장바구니 품목을 변경했는데, 다른 탭에는 기존 정보가 그대로 남아있어 오작동하는 문제를 경험해봤을 것이다.다만 많은 개발자들이 탭 간 실시간 데이터 동기화를 어떻게 깔끔하게 구현해야 하는지 정확한 방법과 원리를 모른 채 복잡한 WebSockets나 localStorage···
웹 애플리케이션을 개발하면서 사용자가 페이지를 닫거나 다른 사이트로 이동할 때 체류 시간, 사용자 행동 분석 로그, 혹은 작성 중이던 데이터의 상태를 서버로 전송해야 하는 상황을 경험해봤을 것이다.다만 대부분의 개발자들은 unload 이벤트 핸들러 내부에서 일반적인 fetch()나 axios를 호출했다가, 브라우저가 요청을 강제로 중단시켜 데이터가 서버에 ···
JavaScript를 다루다 보면 async/await를 만나게 된다. 특히 서버 통신, 파일 처리, 데이터베이스 조회 등 시간이 걸리는 작업을 할 때 거의 필수적으로 사용된다. 다만 async/await가 정확히 뭔지, Promise와는 뭐가 다른지, 언제 사용해야 하는지 명확하게 이해하는 개발자는 생각보다 적다. 그냥 "좋다고 해서" 또는 "이 코드를 ···