CS

Array 연관된 data를 메모리상에 연속적이며 순차적으로 미리 할당된 크기만큼 저장하는 자료구조이다 고정된 저장 공간을 가지고 있다 순차적인 데이터를 저장한다. 이 두가지를 통해 Array의 다양한 특징을 알아보자 고정된 저장 공간을 가지고 있다. 예상보다 적은 데이터를 가지고 있다면 남은 메모리 공간이 낭비가 된다 예상보다 많은 데이터를 가지고 있다면 공간을 변형 시킬수 없기 때문에 데이터를 새로 생성해서 사용해야한다. 순차적인 데이터를 저장한다 인덱스를 기준으로 데이터를 저장하게 되면서 조회(lookup)이 O(1)이라는 굉장히 빠른 시간복잡도를 가진다. 내가 어떤 인덱스에 무슨 데이터가 저장되어있는지 확인하려면 첫번째 인덱스에서 추가적인 횟수만 더해서 확인하면 되기 때문이다. 반대로 삽입, 삭제..
· CS
Domain Name의 등장 도메인 네임은 왜 나온것일까? 이는 IP와 굉장히 밀접한 관계가 있다 IP(IPv4와 IPv6) 인터넷의 가장 대표적인 ID라고 하면 IP가 바로 떠오른다. 이게 도메인과 무슨 상관일까? IPv4는 8Bit(8진수)씩 4칸으로 이루어져있다. 그리고 IPv6는 16Bit(16진수)씩 8칸으로 이루어져있다. 너무 깊게 들어가지 않고 도메인이 나온 이유만 생각해보자 IPv6는 xxxx:xxxx:xxxx:xxxx 여기에 이루어진 숫자를 외울수 있을까? 심지어 수억개가 넘는 IP를?? IPv4도 xxx.xxx.xxx.xxx로 이것도 인간의 뇌로 외우기엔 다소 무리가 있다. 그래서 우리는 쉽게 읽기 위해 인간이 읽고 외우고 심지어 쓰기 쉽게 하기위한것이 필요했다 이것이 Domian Na..
· CS
HTTP Transaction 의 성능 향상 기본 HTTP 트랜잭션 TCP연결과 종결까지의 트랜잭션을 사용을 할 때마다 진행한다 단점 : 우리가 해야 할 일은 앞으로도 쭈욱 연결되는데 이것을 계속해서 하는것은 매우 비효율적이다 Persistent HTTP 기본 HTTP의 단점을 보안한 것이다. 한번의 TCP연결 후 요청 한 내용을 하나하나 씩 전부 진행하기 전까지 TCP를 따로 종결하지 않고 진행하고 모든 요청에 대한 작업을 차례차례 진행하고 끝나면 그때 TCP를 종결하는 것이다. 단점 : 여러개의 작업을 하나하나 종료하고 받기때문에 대기시간이 길어진다. Pipeline HTTP Persistent의 단점을 보안한 것이다. 한번에 원하는 요청을 묶어서 요청을 하는것이다. 그럼 서버는 각각의 요청을 처리하..
· CS
Cookie(쿠키) 상태 정보를 담는 곳 웹 응용의 구조 웹 클라이언트 현재 홈페이지(응용계층) -> HTML 엔진(표현 계층) -> HTTP프로토콜(세션 계층) 웹 서버 서버응용(로그인, 장바구니) -> 서버 응용 엔진 -> HTTP(세션 계층) 쿠키란? 서버 응용이 클라이언트의 이전 작업 정보(State)를 파악하기 위한 도구 방법론 기억해야할 사항을 쿠키에 담아 클라이언트가 기억하도록 하고 서버는 클라이언트의 방문시 주는 쿠키 정보에 맞추어 반영한다 단점 유실되기 쉽다 : 많은 사람들이 쿠키 삭제 방법을 알고 있을텐데 이처럼 누구나 손쉽게 쿠키를 삭제를 할 수 있다는 것은 데이터 유실에 굉장히 큰 단점이 될 수 있다 변조가 쉽다 : 개발자의 도구(F12)를 사용한다면 쿠키의 전체적인 상황을 한 눈에..
· CS
HTTP 세션 계층 ( WWW )을 대표하는 프로토콜이다 HTML을 기본 Prosentation Layer(표현계층)으로 사용 목적 : 전 세계 인터넷에 있는 정보를 탐색하는것 발명 : Tim Berners - Lee 가 CERN에서 1980년대 말 ~ 1990년대 초에 걸쳐 개발 특성 : Stateless 프로토콜이다 ( 응답이 끝나면 서버는 클라이언트에 대한 모든 기억을 끊어버린다 ) HTTP의 동작 웹 자료를 가져와서 ( GET ) 보여주는것이 가장 기본적인 동작이다. 웹에 자료를 Posting 하기 ( POST ) URL( Universal Resouece Locator ) ※ 예시1 = http:// naver.com / comnet / http: = 프로토콜을 이름을 의미 http대신에 사용하..
· CS
Internet ISO/OSI 7계층 7계층 응용계층 응용계층 6계층 프레젠테이션(표현)계층 5계층 세션 계층 소켓 4계층 전송계층 전송계층 응용이란 네트워크로 연결된 컴퓨터들이 협력하여 제공하는 서비스 EX) 구글 검색 네트워크 응용의 구조 Client - Server 구조 언제나 열려있는 Server로 인해 Client가 언제든지 서비스를 제공받을 수 있는 것 EX) 웹검색 Peer - to - Peer(P2P) 구조 서버를 거치지않고 서로의 정보를 즉각적으로 받을 수 있는 것 EX) 토렌트 Hybrid 구조 서로를 연결해주는 중간 역할의 서버는 존재하지만 연결한 후에 두 사람 간의 통신 중 에는 직접적인 관여를 하지 않는다 EX) Skype 프로세스간 통신기법 프로세스란 하나의 컴퓨터에서 독립된 메..
· CS
지금까지 배운 네트워크는 굉장히 이상적인 네트워크라고 볼 수 있다. 단말기와 단말기 사이에 단단한 파이프라인을 통해 데이터를 전송받으며 데이터의 손실없이 받아낼수 있는것이였다. 하지만 실제로 우리의 네트워크는 그렇지않다 우리는 현재 클라우드 네트워크를 기반으로 데이터를 전송 받고 있는데 이는 문제점이 있다 무한한 흐름이 불가능하다. 데이터가 크면 그것을 한번에 보내는것이 불가능한것이다. 그러면 패킷을 잘라서 전송을 하게된다. 그렇게 되면서 패킷의 유실이 문제가 되는것이다. 더불어 패킷이 잘리면서 패킷의 순서또한 뒤죽박죽이 된다는것이다. 패킷의 변조가 발생할 수 있다. 그래서 이를 해결하기 위해 여러가지 네트워크 기법을 적용한다 Reliable Networking( End - to - End ) 그중 전송..
· CS
P2P ( Peer - to - Peer ) 서버없이 단말(Peer)들끼리 직접 상호간 서비스를 제공하는 시스템 단점 서비스가 보장이 되지 않는다 Peer들은 IP를 바꿔 옮겨 다닐수있다. Hybrid System 서비스 메타 정보는 서버가 관리 실질적 서비스는 Peer끼리 한다 Skype(각자 통신하는 방) , Starcrapt(방을 만드는 행위) 서버 자체는 본테가 따로 있지만 그안에서 정보교환은 peer끼리 한다 대표적인 Peer P2P Torrent 단점 Peer가 없다. 신뢰할수 없다 - 해쉬코드 이기적이다 조각들의 쏠림현상 BitCoin
· CS
네트워크의 내부구조 — 계층적 구조(LayeredArchitecture) 네트워크의 역사 — 통신의 역사 우편 = 우리가 통신의 가장 기초가 되었던 수단, 하지만 걸리는 시간이 너무 오래 걸린다. 봉화 = 최초의 전자기 신호를 이용한 통신 시스템이다. 광통신 시스템 디지털적 시스템 = 봉화는 갯수가 정확히 정해져 있으므로 오류와 정보 손실이 적다. 하지만 봉화가 느린 이유는 뭘 까? 사람이 하는 시스템이다 보니 나태해 질 수 있다. 그러면 정보전달 과정이 너무 느리다. 전보 = 모스부호(점과 선을 이용하여 정보 전달) 같은것이다. 1846 년에 예술가(모르스)에 의해 만들어졌다. Data Network Digital Network 전화 = 1876년에 그람 벨에 의해 나타났다. 여기서 네트워크라는 현재적..
이쯤에서 슬슬 앞의 정렬을 까먹은분을 위해 짧막 상식 우리가 배웠던 정렬의 방식을 짧게 설명하고자 한다 1. 계수 정렬 = 들어온 숫자를 배열로 받아서 들어온 숫자를 카운트하여 정렬 2. 선택 정렬 = 인덱스의 순서대로 숫자를 지정하며 해당 숫자를 직접 찾아 둘이서 교환 3. 삽입 정렬 = 뒷자리 숫자와 앞자리 숫자를 비교하고 더 작은 숫자를 비교하고 해당 숫자의 앞자리가 본인보다 작은것을 찾을때 까지 비교한다. 과정(우리는 오름차순을 기준으로 한다.) 1. 앞에서부터 현재 원소와 바로 다음의 원소를 비교한다. 2. 현재 원소가 다음 원소보다 크면 원소를 교환한다. 3. 다음 원소로 이동하여 해당 원소와 그 다음 원소를 비교한다. 거품 정렬은 정렬규칙이 있다 총 라운드는 (배열 크기 - 1)번 진행하고 ..
늦은산책
'CS' 카테고리의 글 목록 (5 Page)