[data structure] array vs linkedlist
Array vs LinkedList Array와 LinkedList의 비교이다. Array 배열이며, 논리적 저장순서와 물리적 저장순서가 일치한다. 특정 자료형들이 메모리 공간 상에서 연속적으로 이루어져 있다. immutable하다. 인덱스로 해당 원소에 접근할 수 있으며, 인덱스를 알고 있...
Array vs LinkedList Array와 LinkedList의 비교이다. Array 배열이며, 논리적 저장순서와 물리적 저장순서가 일치한다. 특정 자료형들이 메모리 공간 상에서 연속적으로 이루어져 있다. immutable하다. 인덱스로 해당 원소에 접근할 수 있으며, 인덱스를 알고 있...
UDP User Datagram Protocol의 약자이다. 데이터를 데이터 그램 단위로 처리하는 프로토콜. 데이터 그램 : 독립적인 관계를 지니는 패킷 비연결형 프로토콜로 사전에 연결 설정 없이 데이터를 전달한다. 사전에 연결 설정을 하지 않은 데이터 그램 방식을 통해 데이터를 전달하기 때문에 하나...
Trie(트라이) Trie 자료구조란? 일반 트리 자료구조 중 하나로, Digital Tree, Radix Tree, Prefix Tree라고도 불린다. 텍스트 자동 완성 기능과 같이 문자열을 저장하고 탐색하는데 유용한 자료구조이다. Trie 자료구조의 형태는? 각 노드는 <Key, V...
TCP 일반적으로 TCP와 IP를 함께 사용하는데, IP가 데이터의 배달을 처리한다면 TCP는 패킷을 추적 및 관리한다. 신뢰성 있는 데이터 전송을 지원하는 연결 지향형 프로토콜이다. 사전에 3-way handshake라는 과정을 통해 연결을 설정하고 통신을 시작한다. 4-way handshake 과정을 통해 연결을 해제(가상 회선 ...
서론 RecyclerView는 앱에서 거의 필수적인 존재라고 생각이 든다. 대부분의 서비스가 리스트 형식이 존재하기 때문이다. 이렇듯 리스트를 효율적으로 보여주기 위해 사용하는 것이 RecyclerView이다. 그렇다면 우리가 자주 사용하는 setHasFixedSize를 true로 설정한다는 게 무엇을 의미할까?? 본론 필자는 setHasFixe...
REST & RESTful이란? REST란 Representational State Transfer의 약자로 웹의 장점을 최대한 활용할 수 있는 Client와 Server 간 통신 방식 중 하나이다. 설계 기본 규칙으로 HTTP URI를 통해 자원을 명시하고 HTTP method(GET, POST, PUT, DELETE)를 통해 자원을 처리...
Paging vs Segmentation 가상 메모리를 관리하는 기법 가상 메모리는 메모리에 로드된 즉, 실행중인 프로세스가 가상의 공간을 참조하여 마치 커다란 물리 메모리를 갖고 있는 것처럼 사용할 수 있도록 하는 것이다. 간단하게 말해 실제 메모리 주소가 아닌 가상의 메모리 주소를 주는 방식이다. ex) 내가 실행하고자 하는 프...
페이지 교체 알고리즘 가상 메모리는 요구 페이징 기법을 통해 필요한 페이지만 메모리에 적재하고 사용하지 않는 부분은 그대로 둔다. 하지만, 필요한 페이지만 올리더라도 메모리는 결국 가득 차게 되고, 올라와있던 페이지가 사용이 다 된 후에도 자리만 차지하고 있을 수 있다. 메모리가 가득차면, 추가로 페이지를 가져오기 위해서 안쓰는 페이지는...
OSI 7 계층 OSI 7 계층을 나누는 이유는 무엇일까? 중요한 목적은 표준과 학습 도구라 할 수 있다. 표준화를 통해 이질적인 포트 문제나 프로토콜 등으로 인한 문제를 해결하여 비용을 절감했다. 또한, 계층별의 기능과 통신 과정을 단계별로 나누어서 쉽게 알 수 있고, 특정한 곳에 이상이 생기면 그 단계만 수정할 수 있기 때문에 편리하다. ...
LRU Cache(Least Recently Used) Cache 개념 캐시는 데이터나 값을 미리 복사해 놓는 임시 장소를 가리킨다. 캐시는 접근 시간에 비해 원래 데이터를 접근하는 시간이 오래 걸리는 경우나 값을 다시 계산하는 시간을 절약하는 경우 사용한다. 캐시에 데이터를 미리 복사해 놓으면 계산이나 접근 시간 없이 빠른 속도로 데이터에 접근할...