교착상태 두 개 이상의 작업이 서로 상대방의 작업이 끝나기 만을 기다리고 있기 때문에 결과적으로 아무것도 완료되지 못하는 상태를 가리킨다. 즉, 둘 이상의 프로세스들이 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 현상을 의
Blocking/Non-Blocking과 Sync/Async 개념에 대해 정리해보려고한다. 추상적인 개념이고 개발자마다 의견도 조금씩 다르고 정확한 구분법은 없는 것 같지만 나름대로 공부한내용을 적어보려고한다. Blocking/Non-blocking과 Sync/Asy
x의 값을 가진 Set자료구조를 생성O(1)x가 속한 집합과 y가 속한 집합을 하나로 합친다.O(logn) 시간안에 동작하게하는 것이 목표연산의 효율을 높이기 위해 트리의 높이가 낮은 집합을 높이가 높은 집합에 붙인다.트리의 높이가 높아질수록 Find연산이 오래 걸린다
스택은 한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형 구조(LIFO - Last In First Out)으로 되어 있다. 나중에 넣은 값이 먼저 나오는 것을 LIFO 구조라고 한다.스택은 다음과 같은 2가지 주요 연산을 지원하는 요소의 컬렉션으로 사용되는 추상 자료형
영단어 힙(heap)은 '무엇인가를 차곡차곡 쌓아올린 더미'라는 뜻을 지니고 있다.힙(heap)은 최댓값 및 최솟값을 찾아내는 연산을 빠르게 하기 위해 고안된 완전이진트리(complete binary tree)를 기본으로 한 자료구조이다.A가 B의 부모노드(parent
쿠키와 세션을 알아보기 전에 클라인언트와 서버의 통신 규약인 HTTP에대해서 먼저 알아보자.HTML 문서와 같은 리소스(자원, 데이터)들을 가져올 수 있도록 해주는 프로토콜(규칙, 규약)웹에서 이루어지는 모든 데이터 교환의 기초클라이언트-서버 프로토콜이기도 하다.비연결
Apllication layer에서 패킷(Message)들이 여러 socket을 통해 Transport layer로 전달 될 때 각 패킷(Message)에 헤더를 추가하고 세그먼트로 캡슐화하여 Network layer로 전달하는 과정을 Multiplexing이라고 한다