컴퓨터 시스템은 크게 하드웨어(Hardware)와 소프트웨어(Software)로 나눌 수 있다. 하드웨어는 컴퓨터 시스템이 작동하는 데 필요한 '물리적' 구성 요소이고, 소프트웨어는 컴퓨터에게 동작 방법을 지시하는 명령어 집합이다.
중앙처리장치(CPU)는 인간의 두뇌에 해당하는 부분으로, 주기억장치에서 프로그램 명령어와 데이터를 읽어와 처리하고 명령어의 수행 순서를 제어한다.
실수(real number)는 양 또는 음의 값을 갖는 모든 정수, 0, 유리수, 무리수를 통틀어 일컫는 말이다. 컴퓨터에서는 숫자를 2진수로 저장하므로 실수 또한 우리가 익숙한 10진수가 아닌 2진수로 나타낼 수 있어야 한다.
캐시 메모리(cache memory)는 속도가 빠른 장치와 느린 장치 사이에서 속도 차에 따른 병목 현상을 줄이기 위한 범용 메모리이다. 대표적으로, 속도가 빠른 CPU 코어와 속도가 느린 메모리 사이에서 속도 차에 따른 병목 현상을 완화하는 역할을 한다.
패리티 비트(parity bit)는 정보의 전달 과정에서 오류가 생겼는지를 검사하기 위해 추가되는 비트로, 1 bit의 오류를 찾아낼 수 있다.패리티 비트를 포함한 데이터에서 1의 개수가 짝수인지 홀수인지에 따라 짝수 패리티, 홀수 패리티라고 한다.
ARM은 Advanced RISC Machine의 약자로, 진보된 RISC 기기를 의미한다. 여기서 RISC는 Reduced Instruction Set Computer의 약자다.
배열(Array)이란, 같은 종류의 데이터들이 저장될 수 있는 자료구조이다. 인덱스(index)라고 하는 번호와 인덱스에 대응하는 데이터들로 이루어져 있으며, 데이터의 인덱스는 배열의 시작점으로부터 데이터가 저장되어 있는 상대적인 위치를 나타낸다.
연결 리스트(linked list)는 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료구조이다. 각 노드의 포인터가 이전 노드나 다음 노드와 현재 노드를 연결해주는 역할을 한다.
배열(array)은 선언함과 동시에 데이터 타입과 길이가 결정된다. 따라서 저장할 데이터의 최대 수를 예상하기 어렵거나 길이를 가변적으로 변경해야할 필요가 있는 상황에서는 사용하기에 적절하지 않다.
스택(Stack)은 후입선출(LIFO - Last In First Out)의 특성을 가지는 자료구조이다. 즉, 제일 마지막에 넣은 데이터가 제일 먼저 빠져나올 수 있다.
트리는 하나 이상의 노드(node)로 이루어진 자료구조이다. 각 노드는 데이터를 저장하며, 다른 노드와 간선(edge)로 연결되어있다. 간선은 노드와 노드를 연결해주는 역할을 한다.
힙은 완전이진트리(complete binary tree) 기반의 자료구조로, 트리에서 최댓값 또는 최솟값을 빠르게 찾을 수 있다. 우선순위 큐를 구현하는 데에 많이 사용된다.
트리는 하나 이상의 노드(node)로 이루어진 자료구조이다. 그렇다면 트리의 일종인 이진트리는 무엇일까?
해시는 데이터를 효율적으로 다루기 위한 방법 중 하나이다. 해시(hash)란 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑(mapping)한 값이다.
트라이(Trie)는 문자열을 저장하고 효율적으로 탐색하기 위한 트리 형태의 자료구조이다.
데이터베이스에서 물리적 저장 장치에 데이터를 배치하고 접근하는 방법으로 인덱스가 있다. B-트리는 가장 대표적인 인덱스 구조이다. B-트리란 무엇일까?
데이터베이스에서 키(key)는 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 다른 튜플들과 구별할 수 있는 기준이 되는 속성(attribute) 또는 속성들의 집합이다.
조인은 여러 개의 테이블을 연결하여 데이터를 검색하는 것을 말한다. 조인 속성은 조인 검색을 위해 테이블을 연결해주는 속성이다.