본문 바로가기

복습하자

(15)
HTTP 1.0 1.1차이 HTTP: 클라이언트-서버간 데이터를 주고받는 응용계층 프로토콜 1)tcp 세션을 지속적으로 유지 할 수 있느냐? -1.0은 요청 컨텐츠마다 tcp세션을 맺어야 한다. 1.1은 persistent기능을 이용하여 한개의 tcp세션을 통해 여러개의 컨텐츠 요청ㅇ이 가능하다 =>처리부하 줄이고, 응답속도 개선 2)파이프라이닝 -1.1은 파이프라이닝 기능이 있다 1.0은 요청1->응답1->요청2->응답2 순서이지만 파이프라이닝이 있으면 요청1->요청2->응답1->응답2가 가능하다 =>속도 높아짐 3) 호스트 헤더 -1.0은 하나의 ip에 여러 도메인X =>도메인 개수만큼 서버개수업 1.1은ㅇ host헤더의 추가를 통해 버츄얼 호스팅 가능 4)강력한 인증절차 -1.1은 강력한 인증 헤더가 추가 되었다 출처http..
CGI CGI란 Common Gateway Interface로 웹서버와 외부 프로그램 사이에서 정보를 주고받는 방법이나 규약이다 -정적 웹서버 http서버가 있는 컴퓨터로 구성 서버에 존재하는 이미 저장된 파일(html, 스크립트 등)을 브라우저에게 전송 서버에 저장된 데이터가 변경되지 않는 한 고정된 웹페이지를 보게 됨 -동적웹서버 정적웹서버와 어플리케이션서버(AS)로 구성 AS는 웹서버에서 처리하지 못하는 동적데이터에 대응하기 위해 만들어진 서버(데이터베이스조회, 로직처리 등) 어플리케이션서버는 프로그램에게 응답을 전달받아 웹서버에 전달하게 됨 WAS는 웹서버+어플리케이션서버를 포함하는 개념 어플리케이션 서버는 하나의 프로토콜로서 cgi와 유사한 기능을 수행 프로세스 : WAS가 웹 서버로 부터 처리요청을 ..
네트워크 이모저모.. LAN =Local Area Network 근거리 통신망이다. ex)이더넷 (공유기 기준) Wan =Wide Area Network 장거리 통신망이다 전화망 같은거 랜을 여러개 합쳐서 WAN이 된다. ------------------------------------------------------------- 네트워크 : 클라이언트-서버 모델에 기초하고 있다 인터넷 : 서로다른 피지컬 네트워크를 연결해 하나처럼 작동하도록하는 것 ------------------------------------------------------------- hub : 들어온 데이트를 그대로 재전송해줌-연결되어 있는 곳에 다 퍼짐 bridge : 허브끼리 연결하는 것, 같은 역할이지만 필요한 곳에만 재전송해준다. router..
9.동적메모리 할당 명시적 할당기: 응용이 명시적으로 할당 된 블록을 반환 해 줄 것을 요구 ex) malloc, free(c), new, delete(c++)... 묵시적 할당기: 언제 할당된 블록이 더이상 프로그램에 의해 사용되지 않은지 검출할 수 있음 ex) 가비지컬렉터(java..) malloc- 초기화 x, calloc- 0으로 초기화 realloc-이전에 할당된 블록크기 변경 memset - 지정된 크기만큼 원하는 값으로 초기화(melloc하고 해야함) malloc과 memset의 조합으로 원하는 값으로 초기화 할 수 있기 때문에 calloc은 잘 안쓴다고 한다. (하지만 초기화는 중요한 문제이다... 멜록썼다가 오류난 적이 있기 때문에...) 동적메모리 할당을 하는 이유는 자료 크기를 알 수 없는 때도 있기 때..
RBTREE 조건 제일 중요한걸 안쓴 거 같아서 다시 글 씀! 일단 rbtree는 바이너리서치트리 bst를 기반으로 만들어진 것이다. 그래서 bst의 특성은 다 가지고 있다! 거기에 추가 된 레드 블랙 옵션!!! 1. 루트 노드는 블랙이다 2. 모든 리프 노드는 블랙이다. 3. 레드 노드의 자식은 무조건 블랙이다.(레드 연속 불가) 4. 한 노드에서 시작 해 리프노드로 가는 블랙노드의 개수는 같다. (노드에서 부터 리프까지 경우가 여러개 인데 그 노드에서 시작되는 경우의 수 말하는 것) 이 조건을 맞추면서 삽입 삭제가 이뤄지는 것이다!! 그럼 bst랑은 뭐가 다른가? 일단 평균 시간 복잡도는 삽입,삭제,검색은 logn으로 같다. but 최악의 경우가 다르다! 최악의 경우 bst는 n이 되어 버린다. 바로 일자로 주르륵 있..
RedBlackTree 삭제 x=레드일 때는 그냥 검정색으로 바꿔주면 된다!(그럼 균형 맞음) 글로 조금 더 이야기를 해보자면, 삭제할 때 가장 문제가 되는것은 삭제 될 것이 블랙일 때이다. 그러면 균형이 깨지기 때문이다.(어떤 노드로부터 시작되어 그에 속한 하위 리프 노드에 도달하는 모든 경로에는 리프 노드를 제외하면 모두 같은 개수의 블랙 노드가 있다.) 하지만 블랙이 삭제 되고 그 자리에 레드가 들어온다면, 그 레드를 블랙으로만 바꿔주면 균형은 맞다!(제일 간단 한 경우) 이제 그게 아니라 블랙이 사라지고 블랙이 그 자리를 차지 할 때인데, 그럴 때는 위의 while문을 돌면서 해결해 나가야한다...ㅎ
RedBlackTree 공부-삽입 1. 회전 2. 삽입