컴퓨팅 용어
프로그래밍, 데이터 형식, 네트워크 · 62개 용어
- 16진법 (Hexadecimal)
16진법은 0~9와 A~F의 16개 기호로 수를 나타내는 기수법입니다. 한 자리가 정확히 4비트에 대응해, 주소·해시·키 같은 이진 데이터를 사람이 읽기 쉽게 표기하는 데 쓰입니다.
- 16진수 (Hex)
헥스(Hex)는 16진수(hexadecimal)를 줄여 부르는 말로, 0부터 9까지의 숫자와 A부터 F까지의 문자 16개로 수를 나타내는 기수법입니다.
- AND 연산 (AND)
AND 연산(논리곱)은 두 입력이 모두 참(1)일 때만 참(1)을 내고, 그 외에는 거짓(0)을 내는 기본 논리 연산입니다. 비트 단위로 적용하면 비트 AND가 됩니다.
- Base64 인코딩 (Base64)
Base64 인코딩은 6비트 값 0..63 (또는 16진수 00..3f)과 대부분의 컴퓨터에서 허용하는 텍스트 기호 간을 변환하는 공용 코드입니다. ASCII도 참조하십시오.
- BitcoinJS (JavaScript Bitcoin Library)
BitcoinJS(npm 패키지 이름 bitcoinjs-lib)는 웹 지갑과 같은 비트코인 애플리케이션 개발에 사용되는 오픈 소스 JavaScript 라이브러리입니다. 키·주소 생성, 트랜잭션 구성과 서명 같은 기본 기능을 제공하며, 네트워크 통신은 포함하지 않습니다.
- GitHub 닫힌 이슈 (GitHub Closed Issues)
GitHub 닫힌 이슈(GitHub Closed Issues)는 프로젝트의 버그나 문제가 수정되어 GitHub에서 닫힘(closed) 상태로 표시된 이슈를 말합니다. 암호화폐 분야의 연구자와 투자자는 이 과정을 지켜봅니다.
- GitHub 포크 (GitHub Forks)
GitHub 포크(GitHub Forks)는 GitHub에서 다른 사용자들이 해당 공개 코드 저장소를 복사(포크)해 간 횟수입니다. 포크한 사용자는 원본에 영향을 주지 않고 자유롭게 프로젝트를 변경할 수 있습니다.
- GNU 일반 공중 사용 허가서 (GNU General Public License, GPL)
GNU GPL은 소프트웨어를 자유롭게 사용·복사·수정·배포할 수 있게 하되, 수정본을 배포할 때 같은 GPL 조건과 소스 코드를 함께 제공하도록 요구하는 카피레프트 오픈소스 라이선스입니다.
- TCP/IP (Transmission Control Protocol/Internet Protocol)
TCP/IP(Transmission Control Protocol/Internet Protocol)는 인터넷에서 사용되는 연결 프로토콜 모음입니다. 데이터가 어떻게 패킷화, 주소 지정, 전송, 라우팅 및 수신되어야 하는지를 지정하여 종단 간 데이터 통신을 제공합니다.
- URI (Uniform Resource Identifier)
URI(Uniform Resource Identifier, 통합 자원 식별자)는 웹 페이지, 파일, 결제 요청 같은 자원을 하나의 문자열로 식별하는 표준 형식으로, URL과 URN을 포함하는 상위 개념입니다.
- UTC 시간 (UTC Time)
협정 세계시(Coordinated Universal Time, UTC)는 세계 각국이 시계와 시각을 맞추는 기준이 되는 국제 시간 표준입니다. 매우 정확한 원자 시계를 바탕으로 하되, 필요할 때 윤초를 넣어 지구의 자전과도 크게 어긋나지 않도록 맞춥니다.
- 가상 머신 (Virtual Machine)
가상 머신(VM)은 컴퓨터 시스템을 소프트웨어로 에뮬레이션한 실행 환경입니다.
- 개발자 (Developer)
개발자(developer)는 소프트웨어와 애플리케이션을 구축하는 사람으로, 소스 코드를 작성하고 디버깅하며 실행해 테스트하고 유지 관리합니다.
- 그레이 코드 (Gray Code)
그레이 코드(Gray Code)는 이진 코드 값을 배열한 것으로, 값의 시퀀스를 한 단계씩 진행할 때마다 정확히 하나의 비트만 바뀝니다. 즉 인접한 두 수가 한 자리만 다르도록 수를 부호화하는 방식입니다.
- 기계어 (Machine Language)
기계어(machine language, machine code)는 CPU가 별도의 번역 없이 직접 해석하고 실행하는 이진 명령어와 데이터의 체계입니다. 어떤 비트 열이 어떤 명령이 되는지는 그 프로세서의 명령어 집합 구조(ISA)가 정합니다.
- 깃허브 (GitHub)
깃허브(GitHub)는 팀이 오픈 소스 코드나 비공개 코드를 저장·공유하며 협업할 수 있는 코드 저장소 서비스입니다. 암호화폐 프로젝트의 펀더멘털 분석(FA)에서는 개발자들의 GitHub 활동 여부를 함께 살펴봅니다.
- 내결함성 (Fault Tolerance)
내결함성은 시스템의 일부 구성 요소가 고장 나거나 오작동해도 전체 시스템이 정상적으로 계속 동작하는 성질입니다.
- 논리 함수 (Logic Function)
논리 함수는 0과 1(거짓과 참)을 입력받아 0 또는 1을 출력하는 함수로, AND·OR·NOT과 이를 조합한 XOR 등이 기본입니다. 디지털 회로와 암호 알고리즘의 구성 요소입니다.
- 단항 (Unary)
단항(unary)은 '인수가 하나'라는 뜻으로, 입력을 하나만 받는 연산이나 함수를 가리킵니다. 부호 반전(−x), 비트 반전(NOT), 역원 계산 등이 단항 연산입니다.
- 데몬 (Daemon)
데몬(Daemon)은 대화형 사용자의 직접적인 통제하에 있지 않고 백그라운드 프로세스로 실행되는 컴퓨터 프로그램입니다. 전통적으로 데몬의 프로세스 이름은 해당 프로세스가 데몬임을 명확히 하고 데몬과 일반 컴퓨터 프로그램을 구별하기 위해 문자 d로 끝납니다.
- 데이터 압축 (Data Compression)
데이터 압축(data compression)은 데이터를 표현하는 데 필요한 비트 수를 줄이는 것입니다. 데이터 안의 중복과 규칙성을 찾아 더 짧은 표현으로 바꾸는 방식으로 이루어지며, 원본으로 되돌리는 과정을 압축 해제라고 합니다.
- 도메인 (Domain)
도메인(Domain)은 공통 접미사를 공유하거나 특정 조직 또는 개인이 관리하는 주소를 가진 인터넷의 고유한 하위 집합입니다.
- 디버그 (Debug)
디버그(debug)는 복잡한 시스템 설계에서 버그를 찾아 수정하는 대화형 분석 과정으로, 개발 과정의 일반적인 부분입니다. 디버깅에는 문제를 식별하고, 그 원인을 분석하고, 문제를 해결하도록 코드나 설정을 변경하는 작업이 포함됩니다.
- 라이브러리 (Library)
라이브러리는 여러 프로그램이 가져다 쓸 수 있도록 미리 만들어 둔 함수·클래스·코드 모음입니다. 암호화, 서명, 네트워크 통신 같은 기능을 직접 구현하지 않게 해 줍니다.
- 메가바이트 (Megabyte, MB)
메가바이트(MB)는 디지털 정보의 양을 나타내는 단위로, 국제단위계(SI)의 접두어 ‘메가’에 따라 1 MB = 106 바이트 = 1,000,000 바이트입니다.
- 미국 정보 교환 표준 부호 (American Standard Code for Information Interchange, ASCII)
미국 정보 교환 표준 부호(American Standard Code for Information Interchange, ASCII, 아스키)는 컴퓨터가 문자를 숫자로 표현하기 위해 정한 공개 문자 부호 표준으로, 이런 부호표 가운데 가장 널리 쓰인 초기 표준입니다.
- 바이트 (Byte)
8비트의 모음입니다. “옥텟”이라고도 합니다. 바이트는 256개의 다른 값 또는 기호를 나타낼 수 있습니다.
- 버그 (Bug)
버그는 소프트웨어나 하드웨어가 설계 의도와 다르게 동작하게 만드는 결함·오류입니다. 블록체인에서는 버그 하나가 자금 손실이나 체인 분기로 이어질 수 있습니다.
- 베타 버전 (Beta Release)
베타 버전(Beta Release)은 사용자들이 테스트하고 팀이 피드백을 얻을 수 있도록 하는 프로그램 또는 플랫폼의 초기 버전 중 하나입니다. 베타 단계는 알파 단계를 거쳐 나타납니다.
- 봇 (Bot)
봇(Bot)은 로봇의 줄임말로, 두 가지 뜻으로 쓰입니다. 1. 인터넷과 같은 네트워크에서 시스템 또는 사용자와 상호 작용할 수 있는 자율 프로그램입니다. 이는 종종 특정 수동 작업을 자동화하도록 설계되었습니다.
- 불 논리 (Boolean Logic)
불 논리(Boolean Logic)는 참과 거짓, 두 가지 값만 가질 수 있는 변수에 적용되는 논리입니다. 이러한 논리를 구현해 전자 디지털 컴퓨터를 만드는 데 쓰이는 디지털 하드웨어 장치(논리 게이트)를 가리키기도 합니다. 불 대수 항목도 함께 참고하시기 바랍니다.
- 불리언 (Boolean)
불리언(Boolean, 부울)은 TRUE(참) 또는 FALSE(거짓), 두 값 가운데 하나만 가지는 값이나 자료형으로, 정보량은 한 비트입니다. 컴퓨터에서는 보통 1을 TRUE, 0을 FALSE로 나타냅니다.
- 비동기 (Asynchronous)
비동기(Asynchronous)는 전자 시스템에서 동시에 또는 같은 속도로 발생하지 않거나, 메인 프로그램 흐름과 독립적으로 발생하는 이벤트를 말합니다.
- 비트 (Bit)
비트(bit)는 두 가지 뜻으로 쓰입니다. 첫째, 정보의 가장 작은 단위로, 참 또는 거짓, 예 또는 아니오, 1 또는 0, 켜짐 또는 꺼짐처럼 두 값 중 하나만 가집니다.
- 사용 사례 (Use Case)
사용 사례(Use Case)는 기술이나 도구를 활용해 원하는 결과를 얻는 구체적인 방법을 말합니다.
- 사용자 경험 (User Experience, UX)
사용자 경험(User Experience, UX)은 사용자의 만족도를 높이기 위해 인간-컴퓨터 상호 작용의 감성적·경험적·의미적·실용적 측면과 가치에 초점을 맞춰 제품의 사용성을 개선하는 것을 의미합니다.
- 사용자 인터페이스 (User Interface, UI)
사용자 인터페이스(User Interface, UI)는 사람이 기기(컴퓨터)와 상호 작용하고 소통하는 접점입니다. 화면의 버튼·아이콘·메뉴·입력란, 터치스크린의 제스처, 리모컨의 버튼처럼 사용자가 보고 조작하는 모든 요소가 UI에 속합니다.
- 소스 코드 (Source Code)
소스 코드(Source Code)는 프로그래밍 언어로 작성된 명령어와 구문의 집합으로, 소프트웨어가 어떻게 작동할지를 정의하는 컴퓨터 코드입니다.
- 소프트웨어 포크 (Software Fork)
소프트웨어 포크(software fork)는 기존 프로젝트의 소스 코드를 복사해 독립적으로 개발을 이어 가는 별도 프로젝트를 만드는 일입니다. 블록체인 체인 분기와는 다른 개념입니다.
- 순환 중복 검사 (Cyclic Redundancy Check, CRC)
순환 중복 검사(Cyclic Redundancy Check, CRC)는 디지털 네트워크 및 저장 장치에서 원시 데이터의 우발적인 변경을 감지하는 데 일반적으로 사용되는 오류 감지 코드입니다.
- 알고리즘 (Algorithm)
알고리즘은 문제 해결 시 따라야 하는 수학적 지침이나 규칙들의 집합입니다. 주로 컴퓨터가 사용하지만, 사람도 문제 해결이나 계산 작업에서 이런 단계적 절차를 따르곤 합니다.
- 알고리즘 복잡도 (Algorithmic Complexity)
알고리즘 복잡도는 입력 크기 n이 커질 때 알고리즘이 필요로 하는 시간이나 메모리가 얼마나 빨리 늘어나는지를 O(n log n) 같은 점근 표기로 나타낸 척도입니다.
- 압축 (Compression)
압축은 데이터를 원래보다 적은 저장 공간으로 표현하는 기술입니다. 압축할 수 있는 정도는 데이터의 고유성(중복이 적은 정도)에 따라 한계가 있습니다. 일반적으로 압축은 크기 감소 비율로 측정되며, 일반 텍스트라면 60% 정도면 좋은 압축률로 봅니다.
- 영숫자 (Alphanumeric)
영숫자는 영문 알파벳(A–Z, a–z)과 숫자(0–9)로 이루어진 문자 집합을 말합니다. 대소문자를 구분하면 62개, 구분하지 않으면 36개 문자입니다.
- 오류 정정 코드 (Error Correcting Code)
오류 정정 코드(ECC)는 데이터 표현에 중복 정보를 추가하여 데이터가 저장 또는 전송 중에 변경될 경우 일부 손상을 수정할 수 있도록 하는 데이터 코딩입니다. 수신 측은 덧붙은 중복 정보를 이용해 오류가 있는지 감지하고, 일정 범위 안의 오류는 재전송 없이 스스로 고칩니다.
- 오류 탐지 코드 (Error Detecting Code)
오류 탐지 코드(error detecting code)는 전송하거나 저장하는 데이터에 정해진 절차로 계산한 여분의 비트(검사 값)를 덧붙여, 수신 측이 데이터가 도중에 바뀌었는지 알아낼 수 있게 하는 부호입니다.
- 오픈 소스 (Open Source, OSS)
오픈 소스(Open Source, OSS)는 저작권자가 사용자에게 소프트웨어를 연구, 변경 및 배포할 수 있는 권한을 누구에게나, 어떤 목적으로든 부여하는 라이선스 하에 출시되는 소프트웨어의 한 유형입니다.
- 웹 1.0 (Web 1.0)
웹 1.0(Web 1.0)은 웹의 초기 단계로, 웹이 주로 하이퍼링크로 연결된 읽기 전용 페이지로 이루어져 있던 시기를 말합니다. ‘읽기 전용’ 웹이라고도 합니다.
- 유한 상태 기계 (Finite State Machine, FSM)
유한 상태 기계(Finite State Machine, FSM)는 유한한 양의 저장 공간 또는 상태, 상태 값 간의 전이, 그리고 상태의 어떤 함수로서의 출력으로 구성된 일반적인 수학적 계산 모델입니다.
- 응용 프로그래밍 인터페이스 (Application Programming Interface, API)
응용 프로그래밍 인터페이스(API)는 한 프로그램이 다른 프로그램의 기능이나 데이터를 정해진 규칙에 따라 요청하고 응답받을 수 있게 하는 접점입니다.
- 중앙 처리 장치 (Central Processing Unit, CPU)
중앙 처리 장치(Central Processing Unit, CPU), 즉 프로세서는 프로그램의 명령을 가져와 해석하고 실행하는 컴퓨터의 핵심 부품으로, 흔히 컴퓨터의 두뇌라고 불립니다.
- 지연 시간 (Latency)
지연 시간(latency)은 어떤 요청이나 명령을 보낸 시점부터 실제로 응답이나 데이터 전송이 시작되기까지 걸리는 시간입니다. 블록체인 네트워크에서는 트랜잭션을 네트워크에 제출한 시점부터 네트워크가 그 트랜잭션을 처음 승인(첫 번째 확인)하기까지의 시간을 뜻합니다.
- 최상위 비트 (Most Significant Bit, MSB)
최상위 비트(Most Significant Bit, MSB)는 다중 비트 이진수에서 가장 큰 자릿값을 갖는 비트입니다. 이는 일반적으로 가장 왼쪽에 있는 비트이거나, 상위 비트부터 보내는 방식에서 시퀀스의 가장 먼저 전송되는 비트입니다.
- 최하위 비트 (Least Significant Bit, LSB)
최하위 비트(Least Significant Bit, LSB)는 이진수 표현에서 자릿값이 가장 낮은 비트로, 보통 가장 오른쪽 비트입니다. 반대로 자릿값이 가장 높은 비트는 최상위 비트(Most Significant Bit, MSB)라고 합니다.
- 클라우드 (Cloud)
클라우드는 인터넷을 통해 원격 데이터센터의 서버·저장 공간·소프트웨어를 빌려 쓰는 컴퓨팅 방식으로, 이용자는 장비를 직접 소유하지 않고 필요한 만큼 사용합니다.
- 클라이언트 (Client)
클라이언트는 블록체인 네트워크에 접속해 데이터를 조회하고 트랜잭션을 만들어 전송하는 소프트웨어로, 노드 소프트웨어와 지갑 프로그램이 대표적입니다.
- 테스트 (Test)
테스트는 구현된 소프트웨어나 설계가 사양대로 동작하는지 확인하는 엔지니어링 과정으로, 얼마나 많은 경우를 검사했는지는 커버리지로 측정합니다.
- 튜링 머신 (Turing Machine)
튜링 머신(Turing Machine)은 앨런 튜링이 1936년에 제안한 계산의 이론적 모형으로, 무한히 긴 테이프와 그 위를 읽고 쓰는 헤드, 유한한 규칙 집합만으로 계산을 기술하는 추상적인 기계입니다.
- 튜링 완전 (Turing Complete)
튜링 완전은 어떤 계산 시스템이나 프로그래밍 언어가 튜링 기계를 흉내 낼 수 있어, 메모리와 시간이 충분하다면 계산 가능한 모든 알고리즘을 실행할 수 있다는 성질입니다. 이름은 1936년 계산의 추상 모델인 튜링 기계를 제시한 영국 수학자 앨런 튜링에게서 왔습니다.
- 프로그레시브 웹 앱 (Progressive Web App, PWA)
프로그레시브 웹 앱(Progressive Web App, PWA)은 HTML, CSS 또는 JavaScript와 같은 일반적인 웹 기술을 사용하여 개발되고, 네이티브 앱처럼 설치해 쓸 수 있는 웹 애플리케이션입니다.
- 하스켈 (Haskell)
하스켈(Haskell)은 정적 타입을 쓰는 범용 순수 함수형 프로그래밍 언어로, 타입 추론과 지연 평가를 지원합니다. 일부 암호화폐 개발에 사용되며, 가장 잘 알려진 예시는 Cardano (ADA)입니다.
- 후입선출 (Last In, First Out, LIFO)
후입선출(Last In, First Out, LIFO)은 스택이라고도 하며, 들어온 값을 쌓아 두었다가 들어온 순서의 반대로 꺼내 쓰는 방식입니다. 선입선출(FIFO)과 반대되는 개념입니다.