기술면접 복습

Imnottired·2023년 5월 5일
0
post-thumbnail

스스로 생각했을 때 부족했던 점을 다잡고자 헷갈리는 것들을 적어서 정리해보았다.




shouldComponentUpdate란?

shouldComponentUpdate란 리액트가 렌더링을 수행할떄 shouldComponentUpdate===true일 때 실행이 이루어진다.
크게 3가지로 나누는데

  • state 또는 props가 변경되었을 떄
  • 부모컴포넌트가 렌더링 되었을 때
  • forceUpdate 사용 하였을 때

React hook 중 useState를 사용하는 이유 중에 하나다
useState를 사용하지않고 수정을 하면, 주소값은 그대로이기 때문에 얕은 복사에 의해서 1번 조건을 충족하지 못하고 렌더링이 실행되지않는다.

그래서 useState를 통해 새로운 객체의 주소로 바꾸고 shouldComponentUpdate가 실행되면서 바뀐다.


CORS

CORS란 교차 출처 리소스 공유 (Cross-Origin Resource Sharing, CORS)는 단어 그대로 다른 출처의 리소스 공유에 대한 허용 비허용 정책이다.
SOP(Same Origin Policy) 정책은 동일한 출처에서만 리소르를 허용하는 정책이 먼저 나왔고, 개발하다보면 다른 출처간의 상호작용이 증가함에 따라 이를 해결하기 위해 CORS가 등장하였고 Access-Control-Allow-Origin에 출처를 넣어주면 CORS 오류를 해결할 수 있습니다.


URL 구조


프로토콜, 도메인, 포트, 패스, 쿼리 외워야한다..!


프로세스와 스레드

프로세스 (Process)
프로그램이 그냥 코드 덩어리이면, 프로세스는 프로그램을 실행 시켜 정적인 프로그램이 동적(動的)으로 변하여 프로그램이 돌아가고 있는 상태를 말한다. 즉, 컴퓨터에서 작업 중인 프로그램을 의미하는 것이다

프로세스의 한계
과거에는 프로그램을 실행할 때 프로세스 하나만을 사용해서 이용했었다. 하지만 기술이 발전됨에 따라 프로그램이 복잡해지고 다채로워짐으로써 프로세스 작업 하나만을 사용해서 프로그램을 실행하기에는 한계가 있었다.

오늘날 컴퓨터는 파일을 다운 받으며 다른 일을 하는 멀티 작업은 너무 당연한 기능이라고 생각할지 모르겠지만, 과거에는 파일을 다운받으면 실행 시작부터 실행 끝까지 프로세스 하나만을 사용하기 때문에 다운이 완료될때까지 하루종일 기다려야 했다. 그렇다고 동일한 프로그램을 여러 개의 프로세스로 만들게 되면, 그만큼 메모리를 차지하고 CPU에서 할당받는 자원이 중복되게 될 것이다. 스레드(Thread)는 이러한 프로세스 특성의 한계를 해결하기 위해 탄생 하였다

스레드
스레드란, 하나의 프로세스 내에서 동시에 진행되는 작업 갈래, 흐름의 단위 를 말한다.

이해하기 쉽게 비유를 들자면, 크롬 브라우저가 실행 되면 프로세스 하나가 생성될 것이다. 그런데 우리는 브라우저에서 파일을 다운 받으며 온라인 쇼핑을 하면서 게임을 하기도 한다.

스레드는 시작해서 종료할 때까지 한 번에 하나씩 명령들을 수행하고, 각 스레드마다 call stack이 존재하며 나머지 code, data, heap 영역은 스레드끼리 공유합니다

출처 : https://inpa.tistory.com/entry/%F0%9F%91%A9%E2%80%8D%F0%9F%92%BB-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4-%E2%9A%94%EF%B8%8F-%EC%93%B0%EB%A0%88%EB%93%9C-%EC%B0%A8%EC%9D%B4


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

0개의 댓글