목록CS 지식 (6)
장난감 연구소

본 게시글은 CS 지식 스터디에서 HTTP에 관해 발표하기 위해 'HTTP 완벽 가이드(인사이트)'의 4장 내용을 요약한 게시물입니다.학습 목표HTTP는 어떻게 TCP 커넥션을 사용하는가TCP 커넥션의 지연, 병목, 막힘병렬 커넥션, keep-alive 커넥션, 커넥션 파이프라인을 통한 HTTP 최적화TCP 커넥션HTTP 통신은 TCP/IP 프로토콜을 통해 이루어진다.TCPHTTP 커넥션은 몇몇 사용 규칙을 제외하고는 TCP 커넥션에 불과하다.TCP 커넥션은 인터넷을 안정적으로 연결해주는 신뢰할 수 있는 통신 방식을 제공한다. HTTP가 메시지를 전송하고자 할 경우 현재 연결된 TCP 커넥션을 통해 메시지 내용을 순서대로 보낸다.TCP는 세그먼트 단위로 데이터를 잘게 나누고, IP 패킷에 담아 전달한다...

본 게시글은 CS 지식 스터디에서 컨테이너 기술에 대해 발표하기 위해 정리한 내용입니다.기본 개념컨테이너란 무엇인가? 샌드박스화된 런타임 환경애플리케이션과 파일/런타임 등 실행 환경을 같이 패키징한 것애플리케이션 소프트웨어를 운영체제로부터 분리시켜 사용자에게 애플리케이션이 동작할 때 필요한 최소한의 실행 환경을 제공하는 것가상화 기술과 더불어 컨테이너 기술은 클라우드 컴퓨팅 서비스의 핵심으로 부각되고 있다.컨테이너로 패키징된 애플리케이션은 자신이 동작할 수 있는 환경을 포함하고 있기 때문에 쉽게 배포가 가능해진다. 장점이식성 : 컨테이너가 모든 종속성을 포함하여 어디서든 동일한 환경에서 실행 가능경량성 : VM(가상머신)보다 적은 리소스로 실행되며, OS를 공유하여 성능이 뛰어남빠른 배포와 롤백 : 이미..

본 게시글은 CS 지식 스터디에서 가상화 기술에 대해 발표하기 위해 정리한 내용입니다.컴퓨팅 자원의 효율적 활용컴퓨팅 자원의 활용성가상화 기술에 대해 얘기하기 전에 가상화 기술이 왜 필요한지 알아보자.💡 컴퓨터 1대가 주어진다면 무엇을 할 것인가? 컴퓨터 1대 주어진다면 인터넷 서핑을 하거나, 문서 작성, 게임, 소프트웨어 개발 등 무엇을 할 지 쉽게 답할 수 있을 것이다.💡컴퓨터 1,000대가 주어진다면 무엇을 할 것인가? 그러나 1,000대가 주어진다면 무엇을 할 수 있을지 쉽게 답하기 어려울 것이다. 이러한 컴퓨팅 자원을 어떻게 효율적으로 사용할 수 있을까?특정 시간 동안 사용되지 않는 컴퓨팅 자원의 활용내가 소유한 컴퓨터가 풀로 가동되고 있고, 내 친구의 컴퓨터는 오후 6시부터 오전 9시까지 ..

본 게시글은 CS 지식 스터디에서 HTTP에 관해 발표하기 위해 'HTTP 완벽 가이드(인사이트)'의 1장 ~ 3장 내용을 요약한 게시물입니다.1. HTTP 개관HTTP(Hypertext Transfer Protocol)은 WWW(Word Wide Web)에서 통신하는 데 사용하는 프로토콜 프로그램이다.1.1 HTTPHTTP는 JPEG 이미지, HTML 페이지, 텍스트 파일, MPEG 동영상 등 파일을 웹 서버로부터 빠르고, 정확하게 웹 브라우저로 옮겨준다.신뢰성 있는 데이터 전송 프로토콜(TCP)를 사용하기 때문에, 데이터가 지구 반대편에서 오더라도 전송 중 손상되거나 꼬이지 않음을 보장한다.(덕분에 웹 개발자도 전송 중 파일이 파괴되거나 왜곡되는 걸 걱정할 필요없다.)더보기HTTP/3 에서 변경사항2..

대칭 최대-최소 힙(SMMH, symmetric min-max heap) 은 양쪽 끝 우선순위 큐를 표현할 수 있는 자료구조이다. 양쪽 끝 우선순위 큐(double-ended priority queue)는 일반적인 우선순위 큐와 달리 최소 우선순위 원소의 반환과 삭제, 최대 우선순위 원소의 반환과 삭제를 동시에 지원하는 자료구조이다. SMMH는 루트를 제외한 노드들이 하나의 원소를 갖는 완전 이진 트리이다. 루트는 공백이고, 각 노드는 아래 조건을 만족한다. 임의의 노드 N의 왼쪽 자식은 N의 서브트리의 원소 중 최소 원소를 갖는다. (존재한다면) 노드 N의 오른쪽 자식은 N의 서브트리의 원소 중 최대 원소를 갖는다. (존재한다면) 위 그림은 SMMH의 예를 보여준다. 노드 N을 10을 가진 노드라 할 ..