목록My footPrints 🔥🔥🔥 (311)
Daehyunii's Dev-blog
오늘은 REST API를 공부했다. 무슨 말인지 모르겠다.. 로이 필딩이라는 사람에 의해 HTTP관련 기준을 만들어 낸것 같고, 이를 잘 지켜내서 프로그래밍한 것을 "RESTful"이라고 표현다는것, 그리고 설계시 URI는 명사를 사용해서 리소스를 식별해야하고 리소스에 대한 행위는 HTTP 요청 메서드 즉, 동사로 표현해야 한다는 정도로만 이해를 한 것 같다. 후반부로 갈수록 글을 읽어도 내용을 파악하기 어려운 내용들이 정말 많은 것 같다. 조금 답답함 감이 없지 않아 있지만 REST API의 설계 원칙이라는게 있고 그 원칙에는 기본적인 두 가지 원칙이 있다는 것만 명확하게 알고 REST API 관련 내용은 2회독과 함께 다시 한번 봐야할 것 같다. 오랜만에 벽이 느껴진것 같다. 앞에 개념을 공부할때는 ..
오늘은 비동기 프로그래밍에 대해서 배웠다. 자바스크립트 엔진은 하나의 태스크 즉 업무만 처리할 수 있는 싱글 스레드로 동작하기 때문에 현재 실행 중인 태스크가 종료할 때까지 다음에 실행될 태스크가 대기하는 방식으로 동작한다. 비동기 처리 방식으로 동작하는 함수들은 해당 태스크가 종료되어야 다음 태스크가 실행되는 것이 아니라 다음 태스크가 바로 실행되고, 비동기 함수의 콜백 함수 등은 태스크 큐에 일시적으로 보관되었다가 콜 스택이 비어 있으면 이벤트 루프에 의해서 콜 스택으로 이동하여 실행된다. 오늘 공부한 내용의 이해한 부분을 정리하면 딱 위의 4문장으로 정리 할 수 있을것 같다. 솔직하게 오늘 공부한 내용은 전체적으로 두루뭉실하게는 이해가 가지만, 자세하게 이해하기는 어려웠다. 그래서 또 머리를 싸매고..
42.1 동기 처리와 비동기 처리 함수를 호출하면 함수 코드가 평가되어 함수 실행 컨텍스트가 생성된다. 이때 생성된 함수 실행 컨텍스트는 실행 컨텍스트 스택(콜 스택)에 푸시되고 함수코드가 실행된다. 함수 코드의 실행이 종료하면 함수 실행 컨텍스트는 실행 컨텍스트 스택에서 팝되어 제거된다. 2022.07.20 - [언어 공부 및 정리/자바스크립트[모던자바스크립트]] - 23장 실행 컨텍스트 23장 실행 컨텍스트 실행 컨텍스트는 자바스크립트의 동작 원리를 담고 있는 핵심 개념이다. 이 개념을 명확하게 이해하면 자바스크립트가 스코프 기반으로 식별자와 식별자에 바인딩된 값을 관리하는 방식과 호 pinetree93.tistory.com 자바스크립트 엔진은 단 하나의 실행 컨텍스트 스택을 갖는다. 이는 한 번에 ..
오늘은 DOM에 대해서 공부했다. DOM은 결국 HTML을 파싱하여 생성된 결과물이다. DOM은 노드들로 구성되며, 이 노드들은 서로 중첩적인 관계를 지니고 있다. 또 DOM은 계층적인 구조를 가지고 있는데 최상위 계층에 있는 노드가 바로 루트 노드이다. 부모 노드가 없는 노드이며, 그 아래 요소 노드와 요소 노드의 자식 노드인 텍스트 노드가 있고, 요소 노드와 형제 노드는 아니지만 연결되어 있는 어트리뷰트 노드가 있다. DOM은 결국 CSSOM의 필요한 노드들과 결합하여 렌더 트리를 만들고 레이 아웃되어 페인팅되서 시각적으로 표현된다. 또 DOM은 API 즉, 프로퍼티와 메서드를 제공하여 DOM의 노드들을 컨트롤할 수 있는 기능을 제공한다. 이러한 DOM은 렌더링 엔진에 의해서 만들어진다. 프로그래밍을..
브라우저의 렌더링 엔진은 HTML 문서를 파싱하여 브라우저가 이해할 수 있는 자료구조인 DOM을 생성한다. DOM은 HTML 문서의 계층적 구조와 정보를 표현하며 이를 제어할 수 있는 API, 즉 프로퍼티와 메서드를 제공하는 트리 자료구조다. 39.1 노드 39.1.1 HTML 요소와 노드 객체 HTML 요소는 HTML 문서를 구성하는 개별적인 요소를 의미한다. HTML 요소는 렌더링 엔진에 의해 파싱되어 DOM을 구성하는 요소 노드 객체로 변환된다. 이때 HTML 요소의 어트리뷰트는 어트리뷰트 노드로, HTML 요소의 텍스트 컨텐츠는 텍스트 노드로 변환된다. Hello(콘텐츠)(종료태그) HTML 문서는 HTML 요소들의 집합으로 이뤄지며, HTML 요소는 중첩 관계를 갖는다. 즉, HTML 요소의 콘..
오늘 공부한 내용은 브라우저의 렌더링 과정이다. 나는 과거에 '인터넷 주소'라는 생각에 컴퓨터가 인터넷을 통해 해당 페이지에 직접 찾아간다고만 생각했었다. 하지만 실제로는 서버로부터 정보를 받아와서 내 컴퓨터가 그림을 그려주는 구조로 돌아간다는 것을 최근에 알게 되었고, 오늘 더 자세하게 어떤식으로 동작하는지도 알게 되었다. 브라우저는 렌더링 엔진과 자바스크립트 엔진을 통해 HTML, CSS, 자바스크립트를 파싱하여, DOM과 CSSOM을 통해 렌더링에 필요한 노드들로만 구성한 렌더트리를 구성하고, 레이아웃해서 페인팅하고 자바스크립트는 파싱하여 AST를 만들고 인터프리터가 실행시킬 수 있게 바이트코드로 변환하여 실행한다는 것을 알 수 있었다. 그리고 자바스크립트 코드에 DOM API를 사용하여 생성된 D..
자바스크립트는 브라우저에서 HTML, CSS와 함께 실행된다. 따라서 브라우저 환경을 고려할 때 더 효율적인 클라이언트 사이드 자바스크립트 프로그래밍이 가능하다. 이를 위해 브라우저가 HTML, CSS, 자바스크립트로 작성된 텍스트 문서를 어떻게 파싱(해석)하여 브라우저에 렌더링하는지 살펴 볼 필요가 있다. 1. 파싱 : 프로그래밍 언어의 문법에 맞게 작성된 텍스트 문서를 읽어 들여 실행하기 위해 텍스트 문서의 문자열을 토큰으로 분해하고, 토큰의 문법적 의미와 구조를 반영하여 트리 구조의 자료구조인 파스 트리를 생성하는 일련의 과정 2. 렌더링 : HTML, CSS, 자바스크립트로 작성된 문서를 파싱하여 브라우저에 시각적으로 출력하는 것 브라우저는 HTML, CSS, 자바스크립트, 이미지, 폰트 등 렌더..