React
마운트에 대해 설명해주세요.
- 리액트가 처음으로 구성요소를 렌더링하고 실제로 초기 DOM을 빌드할 때를 말합니다. 쉽게 말해서 컴포넌트가 나타나는 것을 말합니다. 이와 상반된 개념으로 언마운트가 있는데요, 언마운트는 반대로 컴포넌트가 사라지는 것을 말합니다.
마운트와 렌더링의 차이를 설명해주세요.
- 컴포넌트가 render될 때에는 mount과정을 거칩니다. 하지만 props나 state가 변경되어 render될 때에는 mount를 거치지 않습니다.
useEffect에 대해 설명해주세요.
- useEffect 훅은 컴포넌트가 마운트됐을 때, 컴포넌트가 언마운트됐을 때, 컴포넌트가 업데이트됐을 때 특정 작업을 처리할 수 있는 훅입니다. 이 훅은 두 개의 매개변수를 받습니다. 첫 번째 매개변수로는 수행하고자 하는 작업인 콜백 함수를 받고, 두 번째 매개변수로는 검사하고자 하는 특정 값 또는 빈 배열이 들어갑니다.
- 배열이 없을 때에는 렌더링이 될 때마다 실행이 되고, 빈 배열이 들어갔을 때에는 마운트 될 때만 실행이 되고, 배열 안에 특정 값이 들어가게 되면 특정 값의 상태가 변환될 때마다 실행됩니다.
- 콘솔로그에 두 번 찍히는 이유는 리액트의 스트릭트 모드 때문입니다. App 컴포넌트가 리액트 스트릭트 모드 컴포넌트에 감싸져 있기 때문에 오류를 방지하기 위해 리액트 스트릭트 모드에서는 두 번씩 렌더링이 됩니다.
컴포넌트 기반 아키텍쳐의 의미는 무엇인가요?
• 리액트에서 컴포넌트는 애플리케이션 UI 구축의 기반입니다. 컴포넌트 기반 시스템이 구축되면, 각각의 개별적인 구성 요소들은 재사용이 가능하며 서로 독립적으로 존재합니다. 즉 구성 요소 간 서로 의존하지 않으며 애플리케이션의 UI 개발이 용이해집니다.
OSI 7 계층
OSI 7 계층의 등장 배경은 무엇인가요?
- 먼저 OSI 7 계층은 ISO라고 하는 국제표준화기구에서 처음 제시했습니다. 다른 회사의 시스템이라도 네트워크 유형에 관계없이 상호 통신이 가능한 규약, 즉 프로토콜(Protocol)이 필요했습니다. 그래서 ISO에서는 제조사에 상관없이 공통으로 사용할 수 있는 네트워크 표준 규격을 정의했습니다.