전체 글
-
Double-Ended Queue자료구조 2020. 9. 30. 13:34
Double-Ended Queues 더블 엔디드 큐는 기존 큐 자료구조 형태에서 큐의 앞,뒤로 삽입,삭제가 이루어질 수 있도록 구현한 자료구조입니다. The Deque Abstract Data Type Deque ADT는 다음 메서드를 다룹니다. D.add_first(e): 데크 앞에 요소를 추가합니다. D.add_last(e): 데크 뒤에 요소를 제거힙니다 D.delete_first(e): 데크 앞에 요소를 제거합니다. D.delete_last(e): 데크 뒤에 요소를 제거합니다. 추가적으로, 데크는 다음 접근 메서드를 포함합니다. D.first(): 데크 앞의 요소를 반환합니다. D.last(): 데크 뒤의 요소를 반환합니다. D.is_empty(): 데크가 비었을 경우 True를 반환합니다. len..
-
Queue자료구조 2020. 9. 30. 12:31
Queue 큐는 또다른 기능적 자료구조입니다. 쉽게 스택의 "사촌"과 비슷합니다. 큐는 First-in, First-out (FIFO) 원리에 따라 삽입과 제거되는 객체들의 모임입니다. 요소는 자유롭게 삽입될 수 있습니다. 그러나, 요소는 가장 오래 머물렀던 요소 부터 제거됩니다. 큐 추상적 데이터 타입은 객체를 순서대로 유지하는 집합을 정의합니다. 요소의 접근 또는 삭제는 큐의 처음 요소로 제한되고 요소의 삽입은 큐 순서의 가장 마지막으로 제한됩니다. 큐 추상적 데이터 형식(ADT)는 두가지 메서드를 다룹니다. Q.enqueue(e): 큐의 마지막에 요소를 추가합니다. Q.dequeue(): 큐의 가장 앞 요소를 제거하고 반환합니다. 큐가 비었을 때, 에러가 발생합니다. 큐 ADT는 또한 다른 메서드도..
-
Stack자료구조 2020. 9. 27. 23:37
Stack 스택은 Last-in,First-out(LIFO) 원리에 따라 삽입과 제거되는 객체들의 모임입니다. 스택은 pushing과 poppping 기능적 연산을 통헤 삽입과 제거를 합니다. 실제 사용되는 사례 인터넷 웹브라우저는 가장 최근에 방문한 주소를 저장합니다. 유저가 새로운 사이트에 방문할 때마다, 스택에 주소가 "PUSHED" 됩니다. 브라우저는 유저가 "back" 버튼을 누를때 가장 최근 방문한 주소가 "POP" 됩니다. Stack 추상적 데이터 타입 스택은 모든 자료구조에서 가장 단순하지만 중요합니다. 스택은 추상 자료타입(ADT)입니다. 추상적 자료 타입(Abstract _Data Type)이란? 추상적 자료형은 컴퓨터 과학에서 자료들과 그 자료들에 대한 연산들을 명시에 놓은 것입니다...
-
Python data built-in classes파이썬/Etc. 2020. 9. 27. 21:53
파이썬 Data Built-in Classes 우선 클래스 들이 mutable(변)인지 immutable(불변)인지 알 필요가 있다. 예로 Float class는 immutable이다. 인스턴스가 생성되면 그 값은 바꿀수 없다.(그 객체를 참조하는 식별자를 다른 value로 다시 할당 할수는 있지만) 일반적으로 사용되는 빌드인 클래스의 테이블이다. Class Description Immutable? bool Boolean value Yes int integer Yes float floating-point number Yes list mutable sequence of objects No tuple immutable sequence of objects Yes str character string Yes s..
-
HTTP 쿠키에 대하여HTTP 2020. 9. 24. 18:50
HTTP 쿠키란? HTTP 쿠키(웹 쿠키, 브라우저 쿠키)는 서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각이다. 브라우저는 그 데이터 조각들을 저장해 놓았다가, 동일한 서버에 재 요청 시 저장된 데이터를 함께 전송한다. 쿠키는 두 요청이 동일한 브라우저에서 들어왔는지 아닌지 판단할 떄 주로 사용한다. 이를 이용하면 사용자의 로그인 상태를 유지할 수 있다. 상태가 없는(stateless) HTTP 프로토콜에서 상태 정보를 기억시켜 준다. 쿠키의 목적 세션 관리: 서버에 저장해야할 로그인, 장바구니, 게임 스코어 등의 정보 관리 개인화(Personalization): 사용자 선호, 테마 등의 세팅 트래킹(Tracking): 사용자 행동을 기록하고 분석하는 용도 과거엔 클라이언트 측에서 정보를 저장..
-
HTTP 캐싱HTTP 2020. 9. 23. 21:06
http 캐싱 캐싱이란? 캐싱이란 주어진 리소스의 복사본을 저장하고 요청 시에 그것을 제공하는 기술이다. 웹 캐시가 자신의 저장소 안에 요청된 리소스가 있다면, 요청을 가로채 리소스의 복사본을 반환한다. 장점 모든 클라이언트를 서비스할 필요가 없어진 서버의 부하를 완화시킨다. 클라이언트에 더 가까워져 성능이 향상된다. 리소스를 회신하는 데 비용이 더 적게 든다. 하나의 웹사이트에 대해, 캐싱은 높은 성능 달성에 중요한 컴포넌트이다. 리소스는 변하므로 캐시 자원을 변하기 전까지는 유지 하는 것이 중요하다. 캐시의 종류 사설 브라우저 캐시 사설 캐시는 단일 사용자에게 초점이 맞춰져 있다. 브라우저 캐시는 사용자에 의하여 HTTP를 통해 다운로드된 모든 문서들을 가지고 있다. 이 캐시는 서버에 의한 추가적인 ..
-
HTTP 기반 시스템의 구성요소HTTP 2020. 9. 16. 20:35
HTTP 프로토콜에서 요청은 하나의 개체, 사용자 에이전트(또는 프록시)에 의해 전송 일반적으로 사용자 애이전트는 브라우저를 뜻하나 무엇이든 될 수 있다. 각각의 요청들은 서버로 보내지며, 서버는 요청을 처리하고 response라고 불리는 응답을 제공한다. 이 요청과 응답사이에는 여러 개체들이 있다. 예를 들어 다양한 작업을 수행하는 게이트웨이 또는 캐시역할을 하는 프록시 등이 있다. 실제로는 브라우저와 요청을 처리하는 서버사이에는 많은 컴퓨터들이 존재한다. 라우터, 모뎀 등 있다. 웹의 계층적 설계 덕분에, 이들은 네트워크 또는 전송 계층에 있다. HTTP는 애플리케이션 계층 으로 최상위에 있다. 클라이언트: 사용자 에이전트 사용자 에이전트는 사용자를 대신하여 동작하는 모든 도구이다. 이 역할은 주로 ..
-
HTTP 개요HTTP 2020. 9. 15. 02:33
http란? HTTP는 Hyper Text Tranfer Protocol 의 약자로 html문서와 같은 리소스들을 가져올 수 있도록 하는 통신규약(Protocol)_ 웹에서 이루어지는 모든 데이터 교환의 기초 클라이언트-서버 구조의 프로토콜 클라이언트-서버 구조 수신자(클라이언트)의 요청에 의해 초기화되는 프로토콜 데이터 스트림과 대조적으로 개별적인 메시지 교환에 의해 통신 클라이언트에 의해 전송되는 메시지는 요청(Requests) 그에 대해 서버에서 전송되는 메시지는 응답(Responses) http는 애플리케이션 계층의 프로토콜로, 신뢰 가능한 전송 프로토콜이라면 무엇이든 활용가능하다. 그러나 TCP,TLS를 통해 전송된다.