CS

CS/네트워크

HTTP

HTTP(HyperText Transfer Protocol)은 HTML과 같은 하이퍼미디어 문서를 전송하기 위한 애플리케이션 계층 프로토콜 HTTP/1.0 HTTP/1.0 은 한 연결당 하나의 요청을 처리하도록 설계 서버로부터 파일을 가져올 때마다 TCP 3-웨이 핸드셰이크를 계속 영어야 해서 RTT (패킷 왕복 시간) 가 증가하는 단점 RTT 를 줄이기 위해 이미지 스프라이트, 코드압축, 이미지 Base64 인코딩 방식을 이용 이미지 스프라이트 여러 개의 이미지를 하나의 이미지 파일로 만들어서 사용하는 기법 서버에 이미지 파일을 요청하는 회수가 감소하며 이미지파일 관리에 용이 3개의 이미지를 하나의 파일로 다운로드하며 아래 예시처럼 CSS 의 background-position 속성을 이용해 사용한다 ..

CS/네트워크

TCP/IP 4계층 모델

인터넷 프로토콜 스위트 (Internet protocol suite) 는 인터넷에서 컴퓨터들이 서로 정보를 주고받는 데 쓰이는 프로토콜의 집합이며 TCP/IP 4계층 모델 혹은 OSI 7계층 모델로 설명한다. 계층 구조 TCP/IP 4계층 애플리케이션 계층 응용 프로그램이 사용되는 프로토콜 계층. 웹 / 이메일 등 서비스를 실질적으로 사용자들에게 제공하는 층 FTP : 파일을 전송하는 프로토콜 SSH : 보안 네트워크를 위한 암호화 프로토콜 HTTP : 웹사이트을 이용하는 데 쓰는 프로토콜 SMTP : 전자 메일 전송 프로토콜 DNS : 도메인 이름과 IP 주소를 매핑해주는 서버 전송 계층 애플리케이션 계층과 인터넷 계층 사이의 데이터가 전달될 때 중계 역할하는 계층 TCP 패킷 사이의 순서를 보장 연결..

CS/네트워크

네트워크

네트워크 노드와 링크가 서로 연결되어 있으며 리소스를 공유하는 집합 노드 : 서버, 라우터, 스위치 등 네트워크 장치 링크 : 유선 또는 무선 좋은 네트워크 많은 처리량 낮은 지연시간 낮은 장애빈도 좋은 보안 트래픽 특정 시점에 링크 내에 ‘흐르는’ 데이터의 양 클라이언트가 서버의 파일 등을 다운로드할 때 발생되는 데이터의 누적량 처리량 링크 내에서 성공적으로 전달된 데이터의 양 많은 트래픽을 처리한다 = 많은 처리량을 가진다 bps (bits per seconde) 대역폭 주어진 시간 동안 네트워크 연결을 통해 흐를 수 있는 최대 비트 수 지연 시간 두 장치 사이에 요청이 처리되는 시간 네트워크 토폴로지 토폴로지 : 노드와 링크의 연결 형태 토폴로지가 중요한 이유는 병목 현상을 찾을 때 중요한 기준이 ..

CS/자료구조

비선형 자료 구조

그래프 정점(vertax)과 간선(edge)으로 이루어진 자료 구조 가중치 : 간선과 정점 사이에 드는 비용 트리 정점과 간선으로 이뤄진, 트리 구조로 배열된 계층적 데이터의 집합 부모, 자식 계층 구조 E = V - 1, 간선 수는 노드 수 - 1 루트 노드 : 가장 위에 있는 노드 내부 노드 : 루트 노드와 리프 노드 사이에 있는 노드 리프 노드 : 자식이 없는 노드 깊이 : 루트 노드로부터 특정 노드까지 최단 거리 높이 : 루트 노드로부터 리프 노드까지 거리 중 가장 긴 거리 서브 트리 : 트리 내의 하위 집합 이진 탐색 트리 (BST) 노드의 오른쪽 하위 트리에는 ‘노드 값보다 큰 값’ 이 있는 노드만 포함되고, 왼쪽 하위 트리에는 ‘노드 값보다 작은 값’이 들어 있는 트리 탐색 시간 복잡도는 O..

CS/자료구조

선형 자료 구조

배열 같은 타입의 변수들로 이뤄졌으며, 크기가 정해져 있고, 인접한 메모리 위치에 있는 데이터를 모아놓은 집합 중복을 허용하고 순서가 있음 삽입 / 삭제 O(n), 탐색 O(1) *배열은 요소의 인덱스만 알면 해당 요소를 끄집어낼 수 있지만 연결리스트는 요소들을 하나씩 탐색해가며 요소를 찾아야 함 벡터 동적으로 요소를 할당할 수 있는 동적 배열. 컴파일 시점에 개수를 모른다면 벡터를 사용 중복을 허용하고 순서가 있음. 랜덤 접근 가능 탐색과 맨 뒤의 요소를 삽입 / 삭제 O(1), 중간의 요소를 삽입 / 삭제 O(n) 크기가 고정적인 배열과 달리 러닝타임 때 배열의 크기가 변할 때 벡터를 사용 *삽입삭제가 번번히 일어나는 상황에서는 벡터던 배열이던 비효율적 연결 리스트 데이터를 감싼 노드를 포인터로 연결..

CS/자료구조

복잡도

시간 복잡도 문제를 해결하는 데 걸리는 시간과 입력의 함수 관계 알고리즘 로직이 ‘얼마나 오랜 시간’ 걸리는지 입력된 N 의 크기에 따라 실행되는 조작의 수 ( 연산수치, 명령어의 실행 횟수 ) 빅오 표기법 사용, Ex. 10n^2 + n 은 O(n^2) O(1) – 상수 시간 : 문제를 해결하는데 오직 한 단계만 처리함. O(log n) – 로그 시간 : 문제를 해결하는데 필요한 단계들이 연산마다 특정 요인에 의해 줄어듬. O(n) – 직선적 시간 : 문제를 해결하기 위한 단계의 수와 입력값 n이 1:1 관계를 가짐. O(n log n) : 문제를 해결하기 위한 단계의 수가 N*(log2N) 번만큼의 수행시간을 가진다. (선형로그형) O(n^2) – 2차 시간 : 문제를 해결하기 위한 단계의 수는 입력..

minux.
'CS' 카테고리의 글 목록 (2 Page)