++/CS

[TIL] CS공부 15일차

writtenbyrla 2024. 3. 28. 19:34

CORS(Cross Origin Resource Sharing)에 대해 설명해주세요.

웹 브라우저의 스크립트로부터 출처가 다른 리소스에 접근할 수 있도록 하는 보안정책으로,
기본적으로는 브라우저가 스크립트에서 다른 출처에 대한 HTTP 요청을 차단하지만 CORS를 통해 웹 애플리케이션은 다른 출처의 리소스에 대한 요청을 보낼 수 있게 합니다.
웹 브라우저의 스크립트에서 AJAX 요청이나 웹 폰트, 이미지, 비디오 등과 같은 외부 리소스에 접근할 때 CORS가 필요합니다.

 

 

 

 


 

 

 

 

 

브라우저의 작동 방식에 대해서 설명해주세요.

요청
사용자가 URL을 입력, 링크 클릭, 검색어 입력 등을 통해 웹 페이지 요청을 합니다.

URL 해석 및 요청 전송
브라우저는 입력된 URL을 해석하여 해당하는 서버의 주소를 찾은 후 해당 서버로 TCP/IP를 사용하여 HTTP 요청합니다.

서버 응답
서버는 브라우저의 요청에 대한 응답으로 HTML, CSS, JavaScript, 이미지 및 기타 리소스를 포함한 데이터를 보냅니다.

렌더링 트리 구축 및 화면 표시
받은 HTML 및 기타 리소스를 처리하여 렌더링 트리를 구축합니다.
이 트리는 화면에 표시될 모든 요소를 포함하며, 각 요소의 스타일, 레이아웃 및 구조를 정의하고,
렌더링 트리를 사용하여 페이지의 모양과 모양을 계산하고 화면에 표시합니다.

인터랙션 및 이벤트 처리
클릭, 드래그, 스크롤 등의 이벤트를 처리하며,
JavaScript 코드도 이 단계에서 실행되어 동적인 내용이나 사용자 경험을 향상시키는 기능을 구현합니다.


보안 기능 적용
SSL/TLS를 사용한 안전한 연결, CORS(Cross-Origin Resource Sharing)를 통한 보안 정책 적용합니다.

자원 관리
브라우저는 사용된 리소스를 관리하고 메모리나 디스크 캐시에 저장하여 향후 요청에 대비하고 페이지 로딩 시간을 줄이고 사용자 경험을 향상시킵니다.

 

 

 

 

 


 

 

 

 

RDBMS의 정규화에 대해 설명해주세요.

정규화이상현상이 있는 릴레이션을 분해하여 이상현상을 없애는 과정입니다. 관계형 데이터베이스 설계에서 중복을 최소화하고 데이터의 일관성과 무결성을 유지하기 위해 데이터를 구조화하는 과정으로 중복되는 데이터를 분리하여 관리합니다.

제1 정규화(1NF)
테이블의 컬럼이 원자값을 갖도록 테이블을 분해

제2 정규화(2NF)
완전 함수 종속을 만족하도록 테이블을 분해

제3 정규형(3NF)
이행적 종속을 없애도록 테이블을 분해

BCNF 정규화
모든 결정자가 후보키가 되도록 테이블을 분해

제4 정규화(4NF)
다치 종속성이 없는 정규화로 테이블 내에서 여러 개의 다중 값 종속성이 없어야 함

제5 정규화(5NF)
조인 종속성이 없는 정규형. 즉, 다중 값 속성이 아닌 별도의 테이블로 분리
++
이와 달리, 반정규화는 정규화 후 성능 저하와 같은 문제가 발생할 때 정규화를 통해 분리한 데이터를 통핪하여 중복을 허용하고, 쿼리의 복잡성을 감소시킵니다.

 

 

 

 

 

 


 

 

 

 

 

 

Primary Key, Foreign Key에 대해 설명해주세요.

Primary Key
테이블에서 데이터를 고유하게 식별하기 위해 사용되는 필드로
중복이 불가능하고 NULL값을 가질 수 없다는 특징이 있습니다.

Foreign Key
다른 테이블의 기본 키(Primary Key)를 참조하여 테이블 간의 관계를 정의합니다.

'++ > CS' 카테고리의 다른 글

[TIL] CS공부 14일차  (0) 2024.03.21
[TIL] CS공부 13일차  (0) 2024.03.20
[TIL] CS공부 12일차  (2) 2024.03.19
[TIL] CS공부 11일차  (1) 2024.03.18
[TIL] CS공부 10일차  (1) 2024.03.15