。゚(*´□`)゚。

코딩의 즐거움과 도전, 그리고 일상의 소소한 순간들이 어우러진 블로그

CS 36

3.1 데이터베이스의 종류

3.1 데이터베이스의 종류 종류 : 계층형 데이터베이스, 네트워크형 데이터베이스, 관계형 데이터베이스, NoSQL 3.1.1 데이터베이스란 데이터베이스 : 사용자나 프로그램에서 사용하기 위해 저장 및 관리하는 데이터 집합 특징 실시간 접근 : 데이터베이스에 언제든지 접근해 필요한 처리를 할 수 있다. 동시 공유 : 여러 사용자가 데이터베이스 접근할 수 있다. 지속적 변화 : 데이터의 갱신, 삽입, 삭제 등을 통해 계속해서 변화한다. 내용 기반 참조 : 데이터의 값을 이용해 데이터에 접근할 수 있다. 구성 개체(entity) : 데이터로 표현하려는 대상을 의미하며, 하나 이상의 속성으로 구성한다. 속성(attribute) : 개체의 특성과 상태를 나타내며, 데이터베이스를 구성하는 가장 작은 논리적 단위이다..

CS 2023.12.04

2. 컴퓨터 네트워크 정리

1. TCP 송신부와 수신부의 연결을 확인하는 연결형 서비스 패킷이 전달되는 회선이 정해져 있는 가상 회선 패킷 교환 방식 사용 데이터 손실이 없음을 보장하므로 신뢰성이 높음 연결할 때는 3-way 핸드셰이킹, 해제할 때는 4-way 핸드셰이킹을 함 신뢰성 보장 방법 흐름 제어: 수신부와 송신부 간 데이터 처리 속도 제어 혼잡 제어: 송신부의 데이터 전달 속도와 네트워크 속도 차이 해결 오류 제어: 데이터의 오류 검출 및 재전송 2. UDP 송신부와 수신부의 연결이 보장되지 않는 비연결형 서비스 패킷이 서로 다른 회선으로 교환될 수 있는 데이터그램 패킷 교환 방식 데이터의 신뢰성이 낮음 체크섬(checksum)필드를 이용해 최소한의 오류 검출 가능 3. HTTP 인터넷에서 데이터를 전송하기 위한 클라이언..

CS 2023.12.04

2.4 REST

2.4.1 REST란 Representational State Transfer HTTP 통신을 활용하기 위해 고안된 아키텍처 Representational은 인터넷상의 자원을 URI(Uniform Resource Idenfifier)로 나타낼 수 있음을 의미한다. 클라이언트는 URI로 표현된 자원을 HTTP 메서드를 이용해 CRUD 연산을 할 수 있다. State Transfer 는 요청받은 자원의 상태를 전달하는 것. 특징: 일관된 인터페이스 자원을 나타내는 URI를 HTTP 메서드로 조작하는 일관된 인터페이스를 사용한다. 따라서 HTTP를 따르는 모든 플랫폼에서 REST를 사용할 수 있다. 클라이언트-서버 구조 클라이언트와 서버 간에 요청-응답의 독립적인 구조를 갖는다. 무상태성 서버에서 클라이언트의..

CS 2023.12.04

2.3 HTTP / HTTPS

HTTP 인터넷 상에서 데이터를 전송하기 위한 프로토콜로,TCP/IP 4계층에서 응용 계층에 속한다. 특징 1. 비연결성 : 클라이언트에서 요청을 보낸 후 서버로부터 응답을 받으면 연결을 끊는 것/ 단점 보완 위해 HTTP Keep Alive 를 사용함(마지막 응답이 후 일정 시간 동안 연결 유지, 클라이언트에서 HTTP요청을 보낼 때 헤더에 추가해서 보내면 서버에서 유지할 시간을 헤더에 추가해서 응답함) 2. 무상태 : 서버에서 클라이언트의 상태를 저장하지 않는 것. 그렇기 때문에 클라이언트는 요청에 필요한 데이터를 모두 가지고 있어야하고(쿠키), 또는 서버가 클라이언트로 받은 요청 사항을 모두 저장해야함(세션). HTTP 메세지 HTTP에서는 클라이언트와 서버가 통신하기 위해 정형화된 데이터인 HTT..

CS 2023.12.01

2.2 TCP와 UDP

TCP와 UDP는 전송 계층에서 사용하는 대표적인 프로토콜이다. TCP란 전송계층에 해당하는 네트워크 프로토콜로, 연결형 서비스를 지원하고 데이터의 신뢰성을 보장한다. 송신부와 수신부의 연결을 확인하는 연결형 서비스다 패킷 교환 방식은 패킷이 전달되는 회선이 정해져 있는 가상 회선 방식이다. 패킷의 전송 순서가 보장된다 패킷의 수신 여부를 확인한다 송신부와 수신부는 1:1 통신을 한다 데이터 손실이 없음을 보장하므로 신뢰성이 높다 데이터의 송수신 속도가 느리다. *패킷 교환 방식 : 가장 많이 사용하는 데이터 통신방식 1. 가상 회선 방식: 데이터를 주고받기 전에 패킷을 전송할 경로인 가상 회선을 설정해서 모든 패킷을 같은 경로로 전송한다. 2. 데이터그램 방식: 패킷마다 최적의 경로로 전송되는 방시으로..

CS 2023.11.29

2.1 네트워크 계층

OSI 7계층 : 네트워크를 개념적으로 나눔 TCP/IP 4계층 : 실제 인터넷 통신에 사용됨 2.1.1 OSI 7계층 국제 표준화 기구에서 네트워크 통신이 이뤄지는 과정을 7단계로 나눈 네트워크 표준 모델 데이터 송수신 흐름 데이터를 송신할 때는 높은 계층에서 낮은 계층으로 전달, 데이터가 수신부의 가장 낮은 계층에 도달하면 수신부에서는 낮은 계층에서 높은 계층으로 데이터를 전달 데이터 캡슐화 : 데이터를 송신할 때 각 계층에서 필요한 정보를 추가하여 데이터를 가공 제어 정보를 담는 헤더(데이터 앞에 붙음), 트레일러(뒤에 붙음) 가 있음 수신부의 같은 계층에서 데이터 호환성을 높이고, 오류의 영향을 최소화하기 위함 캡슐화를 거친 데이터를 수신부는 물리 계층에서 응용 계층까지 거치며 헤더와 트레일러를 ..

CS 2023.11.28

1. 운영체제 정리

1. 메모리 계층 구조 사용 목적에 따라 메모리를 여러 계층으로 둠 레지스터, 캐시 메모리, RAM, 하드디스크로 구성 CPU접근 속도: 레지스터 > 캐시메모리 > RAM > 하드디스크 2. 시스템 콜 운영체제의 커널 모드에 접근해 필요한 기능을 수행하기 위해 프로세스에서 호출하는 함수 프로세스 제어, 파일 조작, 장치 조작 등을 수행함 3. 프로세스 실행 중인 하나의 프로그램으로, 하나 이상의 스레드를 가짐 PCB에 프로세스 현재 상태, PID(Process ID), 부모 PID 등을 저장함 프로세스마다 독립된 메모리 공간을 가짐 스택: 지역함수, 함수의 매개변수, 반환주소 값 저장 힙: 동적 메모리 할당 데이터: 전역 변수, 정적 변수, 배열, 구조체 저장, 세부족으로 초기화된 데이터는 데이터 영역에..

CS 2023.11.25

캐시 메모리

CPU는 메모리에 접근해 많은 데이터를 처리하는데 시간을 줄이기 위해 자주 사용하는 데이터를 임시로 캐시 메모리에 저장한다. 캐시메모리 CPU와 메인 메모리 간에 데이터 접근 시 속도 차이를 줄이기 위해 사용 CPU에서 메인 메모리에 있는 데이터를 가져올 때 자주 사용하는 데이터는 캐시 메모리에 따로 저장한다. 캐시 메모리에 어떤 데이터를 저장할지는 지역성을 바탕으로 결정한다. 지역성: CPU가 자주 참조하는 데이터가 고르게 분포되지 않고 특정 부분에 몰려 있는 것 *시간 지역성: 최근 참조한 내용을 다시 참조할 가능성이 높다. *공간 지역성: 실제 참조한 주소 근처의 내용을 참조할 가능성이 높다. 캐시 메모리의 매핑 방식 1. 직접 매핑 => 메인 메모리를 일정한 크기로 나누고 각 영역을 캐시 메모리에..

CS 2023.11.25