[react] React 자문자답

강인호·2022년 10월 9일
0

개인저장

목록 보기
9/87
post-thumbnail

데이터 10,000개를 가지고 무한 스크롤 구현시에 가장 중요하게 고려해야 할점은?

10000개라는 조건이 어떻게 10000개의 데이터를 사용자 입장에서 페이지가 무거워지지 않으면서 다 조회할 수 있게

할 수 있겠냐라는 의미라면, 고려할 점으로는 받아오는 데이터의 양이 많아졌을때 페이지의 페이지 부하를 고려해야 할것같다.

누군가 나에게 구현해보라고 지시한다면 일단 데이터를 받는 배열의 최대길이를 설정해서 일정 길이가 넘어간다면

앞에서부터 순차적으로 배열에서 삭제를 하면서 데이터양을 맞출것같다.

그러면 반대로 스크롤을 내리다가 다시 위로 올라갈때에는 이전값을 다시 받아와야 하니까

일반적인 하단부에 도달했을때 통신을 해서 배열의 맨 마지막 id를 보내고 값을 받아오는것을 설정한 후,

배열의 길이가 일정 길이 이상일때 사용자가 보고있는 페이지의 상단부에 다시 복귀했을때에는 배열의 맨 첫번째 id를

보내서 해당 id 이전값을 받아오는 식으로 구현할 것 같다.

백엔드와 사전에 이전값을 보낼지, 다음값을 보낼지에 대한 합의 후에 통신단계에서 분기도 필요할 것 같다.

트리거는 값들이 들어가는 영역 최상단과 최하단의 useInview의 ref를 지정한 뒤 최하단부의 ref가

보였을때와 배열의 값이 일정길이 이상일때 최상단부의 ref가 보였을때의 두가지로 분기할 것 같다.

Javascript 호이스팅에 대해 설명해주세요.

공식 문서에는

JavaScript에서 호이스팅(hoisting)이란, 인터프리터가 변수와 함수의 메모리 공간을 선언 전에 미리 할당하는 것을 의미합니다. var로 선언한 변수의 경우 호이스팅 시 undefined로 변수를 초기화합니다. 반면 let과 const로 선언한 변수의 경우 호이스팅 시 변수를 초기화하지 않습니다.

변수 선언에는 선언 단계와 초기화 단계가 있는데 런타임에 들어가기 전에 선언들만 따로 모아서 해당 변수에 대한

메모리를 확보하는 작업을 호이스팅 이라고 한다.

프로세스 생성 과정에 대해 설명해보세요

일단 프로세스란 주기억장치에 상주된 프로그램이 CPU에 의해 처리되는상태를 프로세스 라고 하고

새로운 프로세스가 생길때 해당 프로세스에 식별자를 할당한 후

프로세스의 구성요소가 들어갈 수 있는 주소 공간과 제어블록을 할당한다.

그 후 제어블록을 초기화한 후 링크한다.

제어블록 : 프로세스를 제어하기 위해 상태정보를 저장해 놓는 구조체

HTTPS란

http의 보안버전, Secure Socket이 추가된 https 이다.

기본 골격이나 사용 목적등은 거의 비슷하지만 데이터를 주고 받는 과정에서

보안 요소가 추가되었다는 점이 가장 큰 차이점이다.

https는 서버와 클라이언트의 모든 통신내역이 암호화 되고

공개키 방식으로 대칭키를 전달하고 서로 공유된 대칭키를 가지고 통신한다.

공개키는 두개의 키가 모두 있어야 암호를 복호화 할 수 있기때문에 유출에 안전하고,

대칭키는 매번 새로운 대칭키가 생성되어서 유출이 되어도 다음에 다른 키가 사용되어서 안전하다.

TCP란 무엇인가

두개의 호스트를 연결하고 데이터 스트림을 교환하게 해주는 네트워크 프로토콜이다.

TCP의 역할은 에러가 없이 패킷이 신뢰할 수 있게 전달 되었는지 보증해 주는 것이다.

TCP와 UDP의 차이점은?

UDP는 TCP와 다르게 비연결형 서비스로 데이터그램 방식을 제공한다.

정보를 주고 받을 때 정보를 주고 받는다는 절차를 거치지 않고

TCP보다 속도는 빠르지만 신뢰성이 낮다.

브라우저에서 주소창에 url 입력시 어떤일이 일어나는가

웹 브라우저가 도메인명의 IP 주소 조회

웹 브라우저가 서버와의 TCP 연결 시작

웹 브라우저가 HTTP 요청을 서버로 전송

웹 서버가 요청을 처리하고 응답을 다시 전송

웹 브라우저가 콘텐츠 렌더링

RESTFul API란

CloudFront를 사용해본적이 있나요? 사용해봤다면, CloudFront로 배포하는 이유를 설명해주세요.

사용한적은 없지만 데이터 전송속도가 빠르고 유저가 통과하는 네트워크수가 적어 성능이 빠르다고 알고있다.

0개의 댓글