티스토리 뷰

TIL

[TIL] 230501

soobin Choi 2023. 5. 1. 16:31

✔️ 배열의 함수들, 고차함수(Higher-Order Function, HOF): 함수가 무엇을 반환하는지 유의
✔️ 브라우저 렌더링 과정: URI (URL + URN), Http 1.1 -> Http 2.0,
- Tokenizing?
단순한 문자열인 자바스크립트 소스코드를 어휘분석lexical analysis하여 문법적 의미를 갖는 코드의 최소 단위인 토큰들로 분해한다.
type과 value 객체들이 element인 배열 Token
토큰이란 문법적인 의미를 가지며 문법적으로 더는 나눌 수 없는 코드의 기본 요소
- parsing?
토큰들의 집합을 구문분석syntactic analysis 하여 AST를 생성한다.

- Abstract Syntax Tree (AST)?
추상적 구문 트리. 토큰에 문법적 의미와 구조를 반영한 트리 구조의 자료구조이다.
- interpreter? compiler?
인터프리터는 고급 명령어들을 중간 형태로 번역한 다음, 그것을 실행한다. 이와는 대조적으로, 컴파일러는 고급 명령어들을 직접 기계어로 번역한다.
- reflow, repaint
자바스크립트 코드에 DOM이나 CSSOM을 변경하는 DOM API가 사용된 경우 DOM이나 CSSOM이 변경된다. 이때 변경된 DOM과 CSSOM은 다시 렌더 트리로 결합되고 변경된 렌더 트리를 기반으로 레이아웃과 페인트 과정을 거쳐 브라우저 화면에 다시 렌더링한다. 이를 reflow, repaint라 한다.
리플로우는 레이아웃 계산을 다시 하는 것을 말하며, 노드 추가/삭제, 요소의 크기/위치 변경, 윈도우 리사이징 증 레이아웃에 영향을 주는 변경이 발생한 경우에 한하여 실행된다. 리페인트는 재결합된 렌더 트리를 기반으로 다시 페인트를 하는 것을 말한다.
따라서 리플로우와 리페인트가 반드시 순차적으로 동시에 실행되는 것은 아니다. 레이아웃에 영향이 없는 변경은 리플로우 없이 리페인트만 실행된다.

https://medium.com/@su_bak/term-compiler-vs-interpreter-2199abe0f01d

 

(Term) Compiler VS Interpreter

현재 개발을 할 때 Java, C, Python 등과 같은 고급 언어를 사용합니다. 고급언어는 사람이 이해하기 쉽지만 컴퓨터는 고급 언어를 이해하지 못 합니다. 컴퓨터는 오로지 0과 1로 쓰여진 binary(machine co

medium.com

https://velog.io/@jaeyunn_15/OS-Compiler-vs-Interpreter

 

[OS] Compiler vs Interpreter

1\. 인터프리터 방식원래 인터프리터의 의미는 고급 언어로 작성된 프로그램을 한줄씩 번역해서 OS에서 인식하는 기계어로 변역하는 역할이다.자바 인터프리터는 JAVAC 명령으로 자바 프로그램을

velog.io