본문 바로가기

Books/모던 JS Deep Dive ✔️49

[모던 JS Deep Dive] 45장 - 프로미스 45.1 비동기 처리를 위한 콜백 패턴의 단점 - 콜백 헬 - 비동기 함수: 함수 내부에 비동기로 동작하는 코드를 포함한 함수 ex. setTimeout 함수 - 비동기 함수 내의 이벤트 핸들러는 이벤트가 발생하면 일단 태스크 큐에 저장되어 대기하다가, 콜 스택이 비면 이벤트 루프에 의해 콜 스택으로 푸시되어 실행됨 - 비동기 함수는 비동기 처리 결과를 외부에 반환 불가, 상위 스코프의 변수에 할당 불가 - 비동기 함수의 처리 결과(서버 응답 등)에 대한 후속 처리는 비동기 함수 내부에서 수행해야 함 - 일반적으로 비동기 함수 내부에 비동기 처리 결과에 대한 후속 처리 위한 콜백 함수 전달함 - 콜백 헬: 콜백 함수를 통해 비동기 처리 결과에 대한 후속 처리를 수행하는 비동기 함수가 비동기 처리 결과를 .. 2022. 1. 27.
[모던 JS Deep Dive] 44장 - REST API 44.0 REST API - REST(REpresentational State Transfer) - HTTP를 기반으로 클라이언트가 서버의 리소스에 접근하는 방식을 규정한 아키텍쳐 - REST API: REST 기반으로 서비스 API 구현, self-de-scriptiveness (자체 표현 구조) -> HTTP 요청 내용 이해 가능 44.1 REST API의 구성 - 자원(resource): 자원, URI(엔드포인트) - 행위(verb): 자원에 대한 행위, HTTP 요청 메서드 - 표현(representations): 자원에 대한 행위의 구체적 내용, 페이로드 44.2 REST API 설계 원칙 - URI는 리소스를 표현해야 한다. - 리소스 식별 가능한 이름은 명사 사용 - 리소스에 대한 행위는 H.. 2022. 1. 26.
[모던 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.
반응형