동시성 문제두 개 의상의 세션이 공통된 자언에 대해 모두 읽고 쓰는 작업 (Read → Write)를 할 때 발생하는 문제를 뜻한다. Critical Section임계구역이라 하는 Critical Section은 한 번에 하나의 프로세스만 액세스 할 수 있는 코드 영역을 의미한다.프로세스는 일반적으로 4가지의 코드 영역으로 나뉜다.Entry SectionCritical Section에 진입하기 위해 진입허가 요청을 하는 영역이다.Critical Section에 진입하는것을 제어한다 하는데 이를 Lock한다고 한다.Ciritical Section하나의 프로세스만 접근할 수 있는 영역이다.Exit SectionLock을 해제하는 등, 더이상 Critical Section에 존재하지 않을 때 알리는 역할을 한..
이론 공부
보통 서버가 클라이언트 인증을 확인하는 방식은 대표적으로 쿠키, 세션, 토큰 3가지 방식이 있다. 쿠키(Cookie)Key-Value 형식의 문자열 덩어리클라이언트가 어떠한 웹사이트를 방문할 경우, 그 사이트가 사용하고 있는 서버를 통해 클라이언트의 브라우저에 설치되는 작은 기록 정보 파일이다. 각 사용자마다의 브라우저에 정보를 저장하니 고유 정보 식별이 가능하다.인증 방식 1) 브라우저(클라이언트)가 서버에 요청(접속)을 보낸다.2) 서버는 클라이언트의 요청에 대한 응답을 작성할 때, 클라이언트 측에 저장하고 싶은 정보를 응답 헤더의 Set-Cookie에 담는다.3) 이후 해당 클라이언트는 요청을 보낼 때마다, 매번 저장된 쿠키를 요청 헤더의 Cookie에 담아 보낸다.4) 서버는 쿠키에 담긴 정보를 ..
SSE(Server Sent Event)서버에서 클라이언트에게 실시간으로 데이터를 전송하는 기술 (단방향)HTTP connection을 길게 유지하면서, 서버에서 클라이언트에게 데이터를 전송서버에서 데이터 변경이 있을때 클라이언트에게 실시간으로 알려주기 위해 주로 사용된다.SSE 기술이 등장하기 전에는 Client에서 서버의 데이터 변경을 확인하기 위해 주로 polling 방식을 사용했다.polling 방식의 종류Short Polling클라이언트에서 주기적으로 API를 호출해 서버의 데이터 변경사항을 확인하는 기법이다.전통적인 AJAX 애플리케이션에서 사용되던 방식일정 간격마다 요청이 이뤄지며, 클라이언트는 새로운 데이터가 있든 없든 응답을 받고 일정 시간 기다렸다가 다음 요청을 날리고 응답받고, 또 기..
비교 방식 알고리즘 (Comparisons Sorting Algorithm)선택 정렬 (Selection Sort)가장 작은 값을 배열의 맨 앞에다 이동시키면서 정렬한다.시간복잡도 공간복잡도 O(N^2)O(1) 코드li = [5, 2, 4, 3, 1]for i in range(len(li)-1): min_idx = i for j in range(i+1, len(li)): if li[min_idx] > li[j]: min_idx = j li[i], li[min_idx] = li[min_idx], li[i] print(li) >>> [1, 2, 4, 3, 5]>>> [1, 2, 4, 3, 5]>>> [1, 2, 3, 4, 5]>>> [1, 2..
보호되어 있는 글입니다.
구조Reuest : Client가 Server로 Request를 보낸다.ReponseServer은 Client로부터 Response를 받는다.Request를 처리한다.Resources에서 data를 가져와 Client에게 Response를 전달한다.RequestStart LineHTTP Method, Request target, HTTP version으로 구성GET /test.html HTTP/1.1[HTTP Method] [Request target] [HTTP version] * HTTP Method : 요청의 의도를 담고 있는 GET, POST, PUT, DELETE 등이 있다.- GET : 존재하는 자원에 대한 요청- POST : 새로운 자원을 생성- PUT : 존재하는 자원에 대한 변경- DEL..