본문 바로가기

딥 다이브62

[모던 JS Deep Dive] 43장 - Ajax 43.1 Ajax란? - Ajax(Asynchronous JavaScript and XML): JS를 사용하여 브라우저가 서버에게 비동기 방식으로 데이터를 요청하고, 서버가 응답한 데이터를 수신하여 웹페이지를 동적으로 갱신하는 프로그래밍 방식 - 브라우저 호스트 Web API인 XMLHttpRequest 객체 기반으로 동작 - XMLHttpRequest: HTTP 비동기 통신을 위한 메서드와 프로퍼티 제공 - 서버로부터 웹페이지의 변경에 필요한 데이터만 비동기 방식으로 전송받아 웹페이지를 변경할 필요가 없는 부분은 다시 렌더링하지 않고, 변경할 필요가 있는 부분만 한정적으로 렌더링하는 방식이 가능해짐 43.2 JSON - JSON 표기 방식 - JavaScript Object Notation - 클라이언.. 2022. 1. 26.
[모던 JS Deep Dive] 42장 - 비동기 프로그래밍 42.1 동기 처리와 비동기 처리 - 함수의 실행 순서는 실행 컨텍스트 스택으로 관리 - JS 엔진은 단 하나의 실행 컨텍스트 스택을 가짐 - 동시에 2개 이상의 함수 실행 불가 - JS 엔진은 한 번에 하나의 태스크(실행 컨텍스트)만 실행할 수 있는 싱글 스레드 방식으로 동작함 - 싱글 스레드는 처리에 시간이 걸리는 태스크를 실행할 경우 블로킹(작업 중단) 발생 - 동기 처리: 현재 실행 중인 태스크가 종료할 때까지 다음에 실행될 태스크가 대기하는 방식 - 태스크를 순서대로 하나씩 처리하므로 실행 순서 보장되는 장점 - 앞선 태스크가 종료할 때까지 이후 태스크들이 블로킹되는 단점 - 비동기 처리: 현재 실행 중인 태스크가 종료되지 않은 상태여도 다음 태스크 곧바로 실행하는 방식 - 블로킹 발생하지 않는.. 2022. 1. 26.
[모던 JS Deep Dive] 41장 - 타이머 41.1 호출 스케줄링 - 호출 스케줄링: 함수를 명시적으로 즉시 호출하지 않고 일정 시간 경과 이후에 호출되도록 함수 호출 예약 위한 타이머 함수 사용 (호스트 객체, 비동기 처리 방식으로 동작) - setTimeout(): 콜백 함수는 타이머 만료되면 단 한 번 호출됨 - setInterval(): 콜백 함수는 타이머 만료될 때마다 반복 호출됨 41.2 타이머 함수 - setTimeout / clearTimeout - setTimeout - 두 번째 인수로 전달받은 시간(ms)으로 단 한 번 동작하는 타이머 생성, 이후 타이머 만료되면 첫 번째 인수로 전달받은 콜백 함수 호출됨 - delay 시간은 태스크 큐에 콜백 함수 등록하는 시간을 지연할 뿐임 (타이머 만료된다고 즉시 호출 보장 X) - 생성된.. 2022. 1. 26.
[모던 JS Deep Dive] 40장 - 이벤트 40.1 이벤트 드리븐 프로그래밍 - 애플리케이션이 특정 타입의 이벤트에 대해 반응하여 어떤 일을 하고 싶으면 해당 타입 이벤트가 발생했을 때 호출될 함수를 브라우저에게 알려 호출을 위임함 - 언제 함수를 호출할지 알 수 없으므로 개발자가 명시적으로 함수를 호출하는 것이 아니라 브라우저에게 함수 호출을 위임하는 것 - 이벤트 핸들러: 이벤트 발생 시 호출될 함수 - 이벤트 핸들러 등록: 이벤트 발생 시 브라우저에게 이벤트 핸들러의 호출을 위임하는 것 - 이벤트와 그에 대응하는 함수(이벤트 핸들러)를 통해 사용자와 애플리케이션은 상호작용 가능 - 이벤트 드리븐 프로그래밍: 프로그램의 흐름을 이벤트 중심으로 제어하는 프로그래밍 방식 40.2 이벤트 타입 - 마우스 이벤트 - click: 마우스 버튼 클릭 -.. 2022. 1. 25.
반응형