[CS 면접 지식 - Network] 전송 계층
·
면접 준비/Network
전송 계층전송 계층에서는 가장 중요한 개념이 TCP와 UDP이다. TCP와 UDP는 매우 중요한 프로토콜이므로 잘 기억해두는 것이 좋다.TCP/UDP의 목적과 특징첫 번쨰로 포트를 통한 프로세스 식별이다. IP주소와 MAC주소는 패킷을 송수신하는 호스트를 특정지을 수 있었다.하지만 사실 패킷의 최종 송수신 대상은 호스트가 아닌 호스트가 실행하는 프로세스이다. 그렇다면 네트워크를 통해 주고받는 패킷은 최종적으로 이러한 프로세스에 전달되어야 한다.이때 필요한 것이 포트 번호이다. 네트워크 패킷을 주고받는 프로세스에는 포트번호가 할당된다. IP주소와 포트 번호를 통해 식별을 할 수 있다는 것이다.전송 계층의 핵심 프로토콜인 TCP와 UDP는 모두 포트를 통해 프로세스를 식별할 수 있다.TCP와 UDP 헤더에는..
[CS 면접 지식 - Network] 네트워크 계층
·
면접 준비/Network
IPLAN간의 데이터 통신을 위해서는 네트워크 계층 이상의 기술들이 필요하다. 이때 가장 중요한 프로토콜인 IP 중심으로 네트워크 통신 과정을 알아보겠다.IP는 크게 주소 지정, 단편화 두 개의 특징을 지닌다.주소 지정은 네트워크 통신 과정에서 호스트를 특정화하는 의미를 지니며, 단편화는 데이터를 여러 패킷으로 쪼개어 보내는 것을 의미한다.주소 지정IP주소를 통해 주소를 지정하며, 주소 값은 IP 패킷 헤더에서 확인할 수 있다.총 4바이트(32비트)의 크기로 구성되어 있다.패킷 헤더에는 다양한 정보들이 들어 있다. 이 중에는 송신지 IP, 수신지 IP주소가 들어있으며 IP주소를 바탕으로 IP패킷을 전달하는 라우터라는 장비가 있다.IP패킷을 전달할 최적의 경로로 결정하고 전송하는 과정을 라우팅이라고 한다...
[CS 면접 지식 - Network] 물리 계층
·
면접 준비/Network
물리 계층과 데이터 링크 계층데이터 통신의 최초 시작 지점이다. 이더넷, 이더넷 프레임, 통신 매체, 네트워크 장비에 대해 알아보겠다.이더넷물리 계층과 데이터 링크 계층에는 LAN 내의 호스트들이 올바르게 정보를 주고 받을수 있게 해주는 기술들이 존재하며, 그 중 대표적인 기술 하나가 이더넷이다.이더넷은 IEEE 802.3 이라는 이름으로 국제 표준화된 기술이다.이더넷 표준에는 여러가지가 존재하지만 이걸 모두 알아야할 필요는 없으며 오늘날 LAN 대부분이 이더넷 표준을 따른다 이 정도만 알면 도니다.이더넷 프레임이더넷 기반의 네트워크에서 주고받는 프레임을 말한다.내부 구조로는 프리앰블, 수신지 MAC Address, 송신지 Mac Address, 타입/길이, 데이터, FCS로 이루어져 있다.프리앰블송수신..
[CS 면접 질문 - DB] 파티셔닝
·
면접 준비/DB
Partitioning테이블은 수직적 또는 수평적으로 분할될 수 있다.수평적 분할은 테이블의 행을 기준으로 테이블을 나누고, 수직적 분할은 테이블의 열을 기준으로 테이블을 나누어 저장한다.정규화된 테이블일지라도 물리적으로 테이블의 열을 분리하여 저장하는 것이 효율적일 때가 있다.테이블에 발생하는 트랜잭션 수에 비해 테이블 내에 열이 과도하게 많거나, 특정 열에 속하는 레코드의 데이터 크기가 다른 열의 레코드에 비해 과도하게 큰 경우, 또는 보안 상의 이유로 특정 열을 별개의 테이블로 나누어 저장해야 하는 경우 수직적 분할이 필요하다.예를 들어 게시글id, title, writer, content가 있는데 content에 과도하게 많은 양의 데이터가 있어 크기가 큰 경우에는 별도의 테이블로 분리한 뒤 필요..
[CS 개념 정리 - DB] 정규화
·
면접 준비/DB
정규화(Normal Form, NF)정규화란 잠재적인 문제가 발생하지 않도록 테이블의 필드를 구성하고, 필요한 경우 테이블을 나누는 작업을 수행한다.정규형의 종류로는 제1 정규형~3정규형, 보이스/코드 정규형, 제4 정규형, 제5 정규형이 있다.대부분의 경우 제3정규형 또는 보이스/코드 정규형까지만 수행된다.제1 정규형모든 속성이 원자 값을 가진다.더 이상 쪼개질 수 없는 값을 필드 데이터로 가져야 한다.하나의 컬럼에 값이 두 개 이상 들어있는 경우 중복되는 레코드를 감수하고 하나의 테이블에서 쪼개는 방법과 여러 개의 테이블로 쪼개는 방법이 있다.제2 정규형제1 정규형을 만족함과 동시에, 기본 키가 아닌 모든 필드들이 모든 기본 키에 완전히 종속되는 조건을 갖춘 상태를 말한다.보통 기본 키가 2개 이상인..
[CS 개념 정리 - DB] 인덱스
·
면접 준비/DB
RDBMS에서 성능을 향상시킬 수 있는 대표적인 방법중에 하나이다.검색 속도 향상을 목적으로 만드는 하나 이상의 테이블 필드에 대한 자료구조이다.MySQL에서는 인덱스를 크게 클러스터형 인덱스와 세컨더리 인덱스(논클러스터형 인덱스)로 나뉜다.클러스터형 인덱스테이블당 하나씩 만들 수 있는 인덱스로, 우리가 사용하는 기본 키를 통해 클러스터형 인덱스가 생성된다.만약 기본 키가 지정된 필드가 없는 경우에는 NOT NULL 제약조건과 UNIQUE 제약 조건이 있는 필드를 클러스터형 인덱스로 간주한다.세컨더리 인덱스(논클러스터형 인덱스)세컨더리 인덱스는 테이블당 여러개가 존재할 수 있으나 클러스터형 인덱스보다 일반적으로 느리다.문법# 테이블 이름의 필드에 세컨더리 인덱스인 인덱스 이름 설정CREATE INDEX ..