기술면접 부족한부분 보충하기

Imnottired·2023년 3월 10일
0

csr vs ssr

CSR은 웹 브라우저와 같은 클라이언트에서 페이지를 랜더링하는 것을 말합니다. CSR에서 서버는 주로 API 응답을 담당합니다. CSR에서는 사용자가 브라우저의 다른 경로로 이동하더라도 페이지를 새로고침 하지 않고 동적으로 라우팅을 관리합니다. CSR은 사용자와 상호작용이 많은 경우 더 나은 사용자 경험을 제공하기 위해 사용합니다. 아고다와 같은 많은 예약 사이트들이 상호작용이 많아도 서버에 부담이 적은 CSR을 사용하고 있습니다.

SSR은 웹 페이지를 브라우저로 보내기 전 서버에서 렌더링을 완료하는 것을 말합니다. 사용자가 브라우저의 다른 경로로 이동하게 되면 다른 경로로 이동할 때마다 서버가 같은 작업을 다시 수행하게 됩니다. SSR은 SEO에 좋기 때문에 SEO가 우선순위인 경우 많이 사용하고, 단일 파일 용량이 적은 편이라 첫 화면 렌더링이 빠르게 필요하며 사용자와 상호작용이 적은 경우에 사용합니다. 네이버 블로그가 SSR을 사용하는 예시입니다.

클로저예시

자바스크립트 함수들이 실제 클로저이다.

Call

모든 함수에서 사용가능하며 this 특정 지정하는 메소드이다.

해당 첫번째 인자는 this가 가리킬 대상이다.
두번째 인자부터는 함수들이 사용할 매개변수이다.

Apply

모든 함수에서 사용가능하며 this 특정 지정하는 메소드이다.

해당 첫번째 인자는 this가 가리킬 대상이다.
두번째 인자는 call과 다르게 매개변수로 받는다.

Bind

함수의 this값을 영구히 바꿀 수 있습니다.

finally

Promise finally
finally() 는 Promise 가 resolve 되던 reject 되던 상관없이 지정된 함수를 실행합니다.

이를 통해 promise 의 결과에 상관없이 동작을 해야할 때 유용하게 구현할 수 있습니다.

이벤트 위임

캡처링과 버블링을 활용하면 강력한 이벤트 핸들링 패턴인 이벤트 위임(event delegation) 을 구현할 수 있습니다.

이벤트 위임은 비슷한 방식으로 여러 요소를 다뤄야 할 때 사용됩니다. 이벤트 위임을 사용하면 요소마다 핸들러를 할당하지 않고, 요소의 공통 조상에 이벤트 핸들러를 단 하나만 할당해도 여러 요소를 한꺼번에 다룰 수 있습니다.

키워드 : 요소, 핸들러

https://ko.javascript.info/event-delegation

TCP

TCP는 Transmission Control Protocol의 약어로서 인터넷상의 데이터를 주고받는 과정을 제어하는 통신 표준을 의미합니다. 이 프로토콜은 데이터를 교환하는 기기 간 데이터의 무결성(정확성)과 전달의 신뢰성을 보장하기 때문에 거의 모든 애플리케이션 수준의 프로토콜(FTP, SSH, HTTP 등)에서 사용하고 있습니다.

키워드 : 제어하는 통신표준

실행 컨텍스트

실행 컨텍스트는 모든 코드를 실행하는 데 필요한 환경을 제공하고 코드의 실행 결과를 관리하는 매커니즘입니다.

실행 컨텍스트는 첫 번째로 스코프에 따른 식별자를 등록하고 관리하는 역할을 수행합니다. 이는 런타임 이전에 수행되며, 이 과정에서 선언문만 먼저 실행되고 등록됩니다.

두 번째로는 실행 컨텍스트 스택에 따라서 코드의 실행 순서를 관리하는 역할을 수행합니다. 조금 더 구체적으로 전역 컨텍스트부터 시작하여 코드의 순서에 따라서 스코프에 따른 실행 컨텍스트를 추가하고 제거합니다.

this

this는 자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 자기 참조 변수입니다. this를 통해 자신의 프로퍼티나 메서드를 참조할 수 있습니다.

this가 가리키는 값은 실행 컨텍스트가 생성될 때 결정되며 코드가 실행되는 context에 따라 this의 참조가 바뀝니다.

this는 어디서든 참조 가능하지만 일반적으로 객체나 생성자 함수 내부에서만 의미가 있습니다. 그렇기 때문에 strict mode가 적용된 경우 undefined가 바인딩됩니다.

화살표 함수는 고유한 this를 가지지 않으며 화살표 함수에서 this를 참조하면 상위 스코프에서 this값을 가져온다는 특징이 있습니다.

profile
새로운 것을 배우는 것보다 정리하는 것이 중요하다.

0개의 댓글