정규화 (Normalization) 데이터베이스에서 중복을 최소화하고 데이터의 일관성을 유지하기 위해 관계형 데이터베이스(RDBMS) 스키마를 재구성하는 과정 정규화의 목적 불필요하거나 중복되는 데이터(data redundancy)들을 제거한다. 이상현상(Anomly)을 방지한다. 데이터베이스 구조를 확장에 용이하도록 한다. 이상현상(Anomaly)의 종류 삽입 이상(Insertion Anomaly): 데이터를 삽입할 때 데이터의 부분적인 정보로 인해 원하는 데이터를 삽입할 수 없는 현상 갱신 이상(Update Anomaly): 데이터를 업데이트할 때 일부 튜플만 갱신되어 데이터의 불일치가 발생하는 현상 삭제 이상(Deletion Anomaly): 데이터를 삭제할 때 의도하지 않은 데이터의 손실이 발생하..
TSL/SSL HandShake 클라이언트와 서버 간에 안전한 연결을 설정하기 위한 과정으로 TLS(Transport Layer Security) 또는 SSL(Secure Sockets Layer) 프로토콜에서 사용된다. TLS는 SSL의 후속 버전으로, SSL 보다 안전하고 강력한 암호화 기능을 제공한다. TLS/SSL HandShake 과정 클라이언트 Hello 클라이언트가 서버에게 연결을 시작하기 위해 "client hello" 메시지를 보낸다. 이 메시지에는 클라이언트의 TLS/SSL 버전, 지원하는 암호화 알고리즘, 압축 방식 등의 정보가 포함된다. 서버 Hello 서버는 "client hello" 메시지를 받고, "server hello" 메시지를 생성하여 클라이언트에게 보낸다. 이 메시지에는..
HTTP와 HTTPS는 웹에서 데이터를 전송하는데 사용되는 프로토콜이다. HTTP (Hypertext Transfer Protocol) 인터넷에서 웹 페이지, 이미지, 동영상 등의 리소스를 전송하기 위한 통신 규약 클라이언트(웹 브라우저)와 서버 간에 요청(request)과 응답(response)을 주고받는 방식으로 동작 암호화되지 않은 텍스트 기반 프로토콜이므로 데이터 전송 과정에서 보안에 취약하다. 요청과 응답의 내용이 암호화되지 않기 때문에 중간에 제3자가 데이터를 도청하거나 조작할 수 있는 위험이 있다. 따라서, 민감한 정보를 전송하는 경우 보안 상의 문제가 발생할 수 있다. HTTPS (Hypertext Transfer Protocol Secure) HTTP의 보안 문제를 해결하기 위해 나온 프..
암호화🔒& 복호화🔓 암호화: 원래의 데이터를 알 수 없게 만들거나 숨기는 과정 대칭키 (Symmetric Key) 암호화와 복호화에 동일한 키를 사용하는 암호화 방식 대표적인 대칭키 알고리즘으로는 DES(Data Encryption Standard), AES(Advanced Encryption Standard), 3DES(Triple Data Encryption Standard) 등이 있다. 장점: 암호화와 복호화가 빠르고 효율적이다. 단점: 키를 안전하게 전달하고 관리하는 것이 어려우며, 통신하는 모든 사용자가 동일한 키를 공유해야 한다. 비대칭키 (Asymmetric Key) 공개키(public key)와 개인키(private key)라는 서로 다른 두 개의 키를 사용하는 암호화 방식 (공개키 암호화..
UDP (User Datagram Protocol) 데이터를 데이터그램 단위로 처리하는 프로토콜 비연결 지향적인 프로토콜로 연결 설정 및 해제 과정이 없다. 전송 중 손실된 패킷을 재전송하지 않으므로 신뢰성이 낮다. 신뢰성을 보장하지 않기 때문에, 전송 속도가 빠르다. TCP와 UDP가 생긴 이유 IP의 한계 IP는 인터넷에서 데이터를 패킷 단위로 전송하는 기본 프로토콜이지만, IP는 비연결형 프로토콜로서 데이터의 신뢰성이 낮고, 데이터의 순서를 보장하지 않는다. 또한, IP는 데이터 전송에 대한 흐름 제어나 혼잡 제어와 같은 기능을 제공하지 않고, 오류가 발생하면 ICMP 에서 알려 주기만하고 처리해주지 않는다. TCP와 UDP가 오류를 해결하는 법 TCP : 데이터의 분실, 중복, 순서의 뒤바낌 등을..
TCP/IP 계층 TCP/IP 계층은 현재 인터넷에서 사용되는 통신 방법이다. 1계층 : Network Access Layer OSI 7계층의 물리계층과 데이터 링크 계층에 해당 물리적인 주소로 MAC 을 사용 LAN, 패킷망 등에 사용 2계층 : Internet Layer OSI 7계층의 네트워크 계층에 해당 통신 노드 간의 IP패킷을 전송하는 기능과 라우팅 기능 프로토콜 - IP, ARP, RARP 3계층 : Transport Layer OSI 7계층의 전송 계층에 해당 통신 노드 간의 연결을 제어하고, 신뢰성 있는 데이터 전송을 담당 프로토콜 - TCP, UDP 4계층 : Application Layer OSI 7계층의 세션 계층, 표현 계층, 응용 계층에 해당 TCP/UDP 기반의 응용 프로그램을..
TCP (Transmission Control Protocol) TCP는 연결 지향적인 프로토콜로 세그먼트 전송 전에 연결을 설정하고 연결 종료 시 연결을 해제한다. 또한, 데이터 전송 시 세그먼트의 전송 여부를 확인하고 손실된 패킷을 재전송하므로 데이터의 정확성과 완정성이 보장된다. 이때 사용되는 전송 방식이 3-way handshake(연결) 와 4-way handshake(해제) 이다. 3-way handshake 1단계(SYN) : 서버와의 연결을 위해 SYN(Synchronize) 플래그가 설정된 TCP 패킷을 전송하여 연결을 확인한다. SYN 플래그는 클라이언트가 연결을 초기화하는데 사용되는 플래그이다. 클라이언트는 시퀀스 번호를 무작위로 선택하여 패킷에 포함시킨다. 2단계(SYN+ACK) :..
인덱스 (Index) 인덱스는 데이터베이스의 테이블에 대한 검색 속도를 향상시켜주는 자료구조이다. 테이블의 특정 컬럼에 인덱스를 생성하면, 해당 컬럼의 데이터를 별도의 메모리 공간에 데이터의 물리적 주소와 함께 저장하며, 컬럼의 값과 물리적 주소를 (key, value) 쌍으로 저장한다. 테이블 생성 시 MYD, MYI, FRM 3개의 파일이 생성된다. FRM : 테이블 구조가 저장되어 있는 파일 MYD : 실제 데이터가 있는 파일 MYI : 인덱스 정보가 들어있는 파일 인덱스를 사용하지 않는 경우 MYI 파일은 비어져 있다. 인덱싱하는 경우 MYI 파일이 생성되며 이후에 사용자가 Select 쿼리로 인덱스를 사용하는 컬럼을 탐색할 때 MYI 파일의 내용을 검색한다. 인덱스의 장단점 장점 Full Tab..
이상 현상 (Anomaly) 일반적인 패턴이나 동작으로부터 벗어난 것 즉, 데이터나 시스템에서 예상치 못한 이벤트, 동작, 패턴 등이 나타나는 것 데이터베이스 이상은 일반적으로 설계가 잘못되고 무계층 데이터베이스를 사용하여 발생한다. 이상 현상은 일반적으로 테이블을 분할하거나 결합하여 정규화함으로써 제거된다. 세 가지 유형의 이상 현상 갱신 이상 현상 (Updation/Update Anomaly) 테이블의 일부 행을 업데이트할 때 테이블의 불일치가 발생하면 갱신 이상 현상이 발생한다. 삽입 이상 현상 (Insertion Anomaly) 테이블에 새 행이 삽입되어 있고 테이블에 불일치가 발생하는 경우를 삽입 이상 현상이라고 한다. 삭제 이상 현상 (Deletion Anomaly) 테이블에서 일부 행을 삭제..
OSI 7 계층 국제 표준화 기구(ISO)에서 정의한 네트워크 표준 모델 네트워크 통신이 일어나는 과정을 7단계로 나눈 것 통신이 일어나는 과정을 단계별로 알 수 있고, 이상이 생긴 단계만 수정하면 된다. 1계층 : 물리계층 (Physical Layer) 비트(bit)를 프로토콜 단위로 사용 데이터 전송에 필요한 물리적 매체를 다루는 계층 케이블, 광섬유, 무선 신호 등과 같은 물리적인 매체를 통해 데이터를 전송하는 과정에서 신호의 송수신 방법, 전송 속도, 전기 신호의 강도와 주파수 등과 같은 물리적인 특성을 다룬다. 데이터의 전송 방식에 따라서 전송되는 신호의 크기, 샘플링 속도, 채널 대역폭 등도 결정되는 경우가 있다. 물리 계층에서 사용되는 장비와 기술 리피터 (Repeater) : 데이터 신호를..