문서 둘러보기
손실 압축
손실 압축은 원본과 정확히 같은 결과 대신 근사한 결과를 복원하도록 데이터를 줄이는 방식이다. 이미지와 소리, 영상에서 용도에 맞는 차이를 허용하며 크기와 품질을 조절한다.
파일 시스템
파일 시스템은 저장 공간에서 파일과 디렉터리, 메타데이터를 조직하고 접근을 제공하는 체계다. 사용자가 보는 이름과 장치에 배치된 실제 데이터 사이의 관계를 관리한다.
파일 형식
파일 형식은 파일 안의 바이트가 어떤 구조와 의미를 갖는지 정한 규칙이다. 확장자는 형식을 나타내는 단서지만 이름을 바꾸는 것만으로 내부 내용이 변환되지는 않는다.
공학
공학은 지식과 계산, 실험을 이용해 목적과 제약에 맞는 시스템과 구조를 설계하고 구현하는 활동이다. 성능뿐 아니라 안전과 비용, 신뢰성 및 유지 관리가 함께 고려된다.
기술
기술은 어떤 목적을 이루기 위한 지식과 방법, 도구 및 체계다. 개인의 숙련을 뜻하기도 하고 산업과 사회에서 사용되는 장치와 운영 체계 전체를 가리키기도 한다.
API
API는 소프트웨어가 다른 기능을 호출하고 결과를 받는 규칙과 접점을 뜻한다. 웹 요청뿐 아니라 라이브러리와 운영체제의 함수도 API를 제공할 수 있다.
JSON
JSON은 문자열과 숫자, 배열과 객체 등으로 데이터를 표현하는 텍스트 형식이다. 여러 언어 사이에서 교환할 수 있지만 주석이나 실행 코드가 포함되는 일반적인 자바스크립트 문법과는 다르다.
UTF-8
UTF-8은 유니코드 코드 포인트를 1~4바이트로 표현하는 가변 길이 문자 인코딩이다. ASCII 범위와 호환되지만 바이트 수가 사용자가 보는 글자 수와 같지는 않다.
XML
XML은 요소와 속성으로 계층적인 문서와 데이터를 표현하는 마크업 언어다. 사용자가 어휘를 정의할 수 있으며 문법적으로 올바른 문서인지와 스키마에 맞는지는 별도로 검사한다.
유니코드
유니코드는 여러 언어의 문자와 기호를 일관되게 표현하고 처리하기 위한 표준이다. 문자에 부여된 코드 포인트와 저장 바이트, 화면에 보이는 글자 수는 서로 다른 개념이다.
정규 표현식
정규 표현식은 문자열에서 특정한 형태를 찾고 검사하거나 치환하기 위한 패턴 언어다. 처리 엔진에 따라 지원 문법과 성능이 달라지며 모든 구조의 문서를 대신 파싱하는 도구는 아니다.
CSS
CSS는 웹 문서의 표시와 배치를 규칙으로 지정하는 스타일 언어다. 여러 규칙이 같은 요소에 적용될 때 캐스케이드와 상속 등을 통해 최종 값이 결정된다.
HTML
HTML은 웹 문서의 구조와 의미를 표현하는 마크업 언어다. 제목과 문단, 링크와 입력 요소 등을 나타내며 브라우저는 이를 해석하여 문서 구조를 만든다.
URL
URL은 자원을 식별하고 접근 방식을 나타내는 주소 표현이다. 스킴과 호스트, 경로, 질의, 프래그먼트는 각각 다른 역할을 하며 문자열 전체를 단순한 파일 경로처럼 다룰 수 없다.
사용자 데이터그램 프로토콜
사용자 데이터그램 프로토콜(UDP)은 데이터그램 단위로 데이터를 주고받는 전송 계층 프로토콜이다. 기본적인 메시지 경계를 유지하지만 전달과 순서, 재전송 정책은 별도로 다뤄야 한다.
자바스크립트
자바스크립트는 웹 페이지와 서버 등 여러 환경에서 실행되는 프로그래밍 언어다. 언어 자체의 규칙과 브라우저나 실행 환경이 제공하는 API는 구별해야 한다.
인터넷 프로토콜
인터넷 프로토콜(IP)은 주소를 바탕으로 네트워크 사이에 패킷을 전달하는 규칙이다. 최선형 전달을 제공하며 도착 여부나 순서, 암호화를 자체적으로 모두 보장하지는 않는다.
전송 제어 프로토콜
전송 제어 프로토콜(TCP)은 순서가 있는 바이트 스트림을 제공하는 인터넷 전송 계층 프로토콜이다. 누락된 데이터의 재전송과 흐름·혼잡 제어를 수행하지만 응용 프로그램의 처리 완료까지 보장하는 것은 아니다.
그래프 (자료 구조)
그래프는 정점과 간선으로 대상 사이의 관계를 표현하는 자료 구조다. 방향과 가중치, 연결의 중복 허용 여부에 따라 모델과 알고리즘의 의미가 달라진다.
스택
스택은 가장 최근에 넣은 항목을 먼저 꺼내는 자료형이다. 값이 들어오고 나가는 순서를 제한하여 중첩된 작업의 복귀 순서나 탐색 상태를 관리한다.
이진 트리
이진 트리는 각 노드가 최대 두 개의 자식을 갖는 계층 구조다. 자식을 왼쪽과 오른쪽으로 구별하며, 탐색과 수식 표현 등 용도에 따라 추가적인 규칙을 적용한다.
재귀
재귀는 대상이나 절차를 같은 형태의 더 작은 문제에 의존하여 정의하는 방식이다. 프로그램에서는 함수가 자신을 직접 또는 간접적으로 호출하는 형태로 나타나며, 종료 조건과 진행 방향이 중요하다.
정렬 알고리즘
정렬 알고리즘은 정해진 비교 기준에 따라 항목의 순서를 바꾸는 절차다. 실행 시간뿐 아니라 같은 키의 순서 유지, 추가 메모리, 입력 특성도 선택에 영향을 준다.
큐 (자료 구조)
큐는 먼저 넣은 항목을 먼저 꺼내는 자료형이다. 입력과 처리 속도를 분리하거나 순서대로 대기 중인 작업을 관리하는 데 쓰이지만, 큐에 넣는 순서와 실제 작업 완료 순서는 다를 수 있다.
캐시
캐시는 자주 필요한 데이터나 계산 결과를 재사용하여 접근 비용을 줄이는 저장 계층이다. 성능뿐 아니라 오래된 데이터의 처리, 용량 관리, 접근 권한도 함께 설계해야 한다.
도메인 네임 시스템
도메인 네임 시스템(DNS)은 도메인 이름에 연결된 정보를 분산된 이름 서버에서 조회하는 체계다. IP 주소뿐 아니라 메일 서버와 별칭 등 여러 종류의 레코드를 제공한다.
이진 검색
이진 검색은 정렬된 탐색 범위의 중간을 확인하고 후보 범위를 반복해서 줄이는 알고리즘이다. 정렬과 비교 규칙이 맞는 자료에서는 적은 비교로 목표값이나 경계를 찾을 수 있다.
인공 신경망
인공 신경망은 연결된 계산 단위와 조절 가능한 매개변수로 입력과 출력 사이의 관계를 표현하는 모델이다. 생물학적 신경계에서 영감을 얻었지만 실제 뇌를 그대로 복제한 구조는 아니다.
검색 엔진
검색 엔진은 수집하고 분석한 자료에서 사용자의 질의와 관련된 결과를 찾아 제시하는 시스템이다. 웹 검색에서는 문서의 발견과 색인, 질의 해석과 순위 결정이 함께 작동한다.
리눅스
리눅스는 운영체제의 핵심인 커널의 이름이며, 이 커널을 바탕으로 구성한 운영체제들을 가리키는 말로도 쓰인다. 여러 개발 주체가 공개된 소스 코드를 바탕으로 개발과 유지보수에 참여한다.
유닉스
유닉스는 벨 연구소에서 시작된 운영체제와 그 발전 계열을 가리키는 이름이다. 다중 사용자와 시분할 실행, 계층적 파일 시스템과 작은 도구의 조합 같은 운영체제 개념의 발전에 큰 영향을 주었다.
가상화
가상화는 물리적 자원을 사용하는 방식과 그 자원의 실제 구성을 분리해 논리적인 실행 환경이나 자원으로 제공하는 기술이다. 서버와 저장 장치, 네트워크 등 여러 계층에 적용된다.
클라우드 컴퓨팅
클라우드 컴퓨팅은 네트워크를 통해 구성 가능한 컴퓨팅 자원을 필요에 따라 제공하고 회수하는 방식이다. 사용자는 서버와 저장 공간, 실행 플랫폼 또는 완성된 소프트웨어 등을 서비스로 이용한다.
해시 함수
해시 함수는 입력 데이터를 일정한 범위의 값으로 대응시키는 함수다. 데이터 구조의 빠른 탐색과 무결성 확인 등에 쓰이며, 암호학적 목적의 함수에는 추가적인 안전성 조건이 요구된다.
객체 지향 프로그래밍
객체 지향 프로그래밍은 데이터와 그 데이터를 다루는 동작을 객체 중심으로 조직하는 프로그래밍 방식이다. 객체 사이의 역할과 상호작용을 통해 프로그램을 구성한다.
경사 하강법
경사 하강법은 목적 함수의 기울기를 계산하고 반대 방향으로 매개변수를 갱신하는 반복 최적화 방법이다. 갱신의 크기와 함수의 성질에 따라 수렴 양상이 달라진다.
딥 러닝
딥 러닝은 여러 층의 변환을 거치는 신경망을 이용해 데이터의 표현과 예측 규칙을 학습하는 기계 학습 방식이다. 영상과 언어 등 복잡한 자료의 처리에 널리 활용된다.
자연어 처리
자연어 처리는 사람이 사용하는 언어를 컴퓨터로 분석하거나 생성하는 기술과 연구 분야다. 문서 분류와 검색, 번역, 정보 추출, 대화와 요약 등 다양한 과제를 포함한다.
컴퓨터 비전
컴퓨터 비전은 이미지와 영상에서 대상과 장면에 관한 정보를 추출하는 연구 분야다. 단순한 화소 변환을 넘어 무엇이 어디에 있는지, 장면의 구조와 움직임이 어떤지 추정한다.
함수형 프로그래밍
함수형 프로그래밍은 함수의 적용과 합성을 중심으로 계산을 구성하는 방식이다. 불변 데이터와 순수 함수 등을 활용해 상태 변화와 부수 효과를 명확히 다루려 한다.
강화 학습
강화 학습은 에이전트가 환경과 상호작용하며 행동의 결과로 받는 보상을 바탕으로 행동 방식을 개선하는 기계 학습 분야다. 즉각적인 점수뿐 아니라 장기적인 결과를 고려한다.
비지도 학습
비지도 학습은 각 입력에 목표 정답을 붙이지 않은 데이터에서 구조와 패턴을 찾는 기계 학습 방식이다. 군집화와 차원 축소, 분포 추정 등이 대표적인 과제다.
지도 학습
지도 학습은 입력과 목표 출력이 함께 주어진 예제로부터 예측 규칙을 학습하는 기계 학습 방식이다. 학습한 예제를 외우는 것보다 보지 못한 입력에 잘 일반화하는 것이 중요하다.
자료 구조
자료 구조는 데이터를 어떤 관계와 배치로 저장하고 어떤 연산으로 다룰지 정하는 방식이다. 같은 데이터라도 필요한 검색과 변경 작업에 따라 적합한 구조가 달라진다.
HTTP
HTTP는 클라이언트와 서버가 요청과 응답을 교환하는 응용 계층 프로토콜이다. 웹 문서뿐 아니라 이미지, 파일, API 데이터 등 여러 종류의 자원을 전달한다.
HTTPS
HTTPS는 보호된 연결 위에서 HTTP를 주고받는 방식이다. 전송 중 데이터의 기밀성과 무결성을 지키고, 클라이언트가 접속 대상 서버를 확인하도록 돕는다.
SQL
SQL은 데이터베이스의 구조를 정의하고 데이터를 조회하거나 변경하는 데 쓰이는 언어다. 특히 관계형 데이터베이스에서 널리 사용되며, 구현체에 따라 지원 기능과 세부 문법이 다를 수 있다.
관계형 데이터베이스
관계형 데이터베이스는 관계형 모델에 따라 데이터를 테이블 형태로 다루는 데이터베이스다. 행과 열, 키와 제약 조건을 이용해 자료의 구조와 연결을 표현한다.
인터프리터
인터프리터는 프로그램의 소스나 중간 표현을 해석하여 실행하는 소프트웨어다. 구현에 따라 먼저 구조를 분석하거나 바이트코드를 만든 뒤 그 결과를 실행할 수 있다.
컴파일러
컴파일러는 소스 프로그램을 다른 언어나 표현으로 번역하는 소프트웨어다. 기계어 실행 코드를 만들기도 하고, 중간 코드나 다른 고급 언어를 출력하기도 한다.
운영체제
운영체제는 컴퓨터의 자원을 관리하고 프로그램이 사용할 공통 기능을 제공하는 시스템 소프트웨어다. 여러 프로그램의 실행과 파일 접근, 메모리 사용 등을 조정한다.
웹 브라우저
웹 브라우저는 웹 자원을 받아 화면에 표시하고 사용자와 웹 서비스 사이의 상호작용을 처리하는 응용 프로그램이다. 문서 해석과 화면 구성, 스크립트 실행, 저장과 보안 기능을 함께 제공한다.
컴퓨터 망
컴퓨터 망은 여러 장치가 통신 규칙에 따라 데이터를 주고받도록 연결한 체계다. 같은 건물 안의 작은 망부터 여러 망을 연결한 인터넷까지 다양한 규모가 있다.
컴퓨터 하드웨어
컴퓨터 하드웨어는 처리 장치, 메모리, 저장 장치, 입출력 장치 등 컴퓨터를 구성하는 물리적 요소다. 각 부품은 전원과 신호 연결을 통해 함께 동작한다.
데이터베이스
데이터베이스는 일정한 구조와 규칙에 따라 관리하는 데이터의 집합이다. 데이터베이스 관리 시스템은 저장된 자료를 조회하고 변경하며, 여러 사용자의 접근과 일관성을 관리한다.
소프트웨어
소프트웨어는 컴퓨터에서 수행할 동작을 규정하는 프로그램과 관련 자료를 말한다. 물리적 장치인 하드웨어 위에서 실행되며, 같은 장치를 여러 용도로 사용할 수 있게 한다.
오픈 소스
오픈 소스는 소스 코드를 열람하는 데 그치지 않고, 정해진 라이선스에 따라 이용과 수정, 재배포를 허용하는 소프트웨어 배포 방식이다.
프로그래밍 언어
프로그래밍 언어는 계산과 데이터 처리 절차를 프로그램으로 표현하는 형식 언어다. 작성 규칙인 구문과 프로그램의 의미를 정하는 규칙을 바탕으로 동작한다.
기억 장치
기억 장치는 컴퓨터의 명령과 데이터를 보관하는 구성 요소다. 빠르게 접근하는 작업용 공간과 전원이 꺼져도 남는 저장 공간은 역할과 성질이 다르다.
중앙 처리 장치
중앙 처리 장치(CPU)는 프로그램의 명령을 해석하고 실행하는 컴퓨터의 주요 처리 장치다. 산술 계산과 논리 판단뿐 아니라 데이터 이동과 실행 흐름 제어에도 관여한다.
컴퓨터
컴퓨터는 프로그램에 따라 데이터를 처리하는 장치다. 같은 장치에서도 실행하는 프로그램과 입력이 달라지면 문서 작성, 영상 재생, 계산 등 서로 다른 작업을 수행할 수 있다.
기계 학습
기계 학습은 데이터와 경험에서 규칙이나 모형을 찾아 새로운 사례를 처리하도록 하는 연구 분야다. 학습 자료를 잘 맞추는 것과 실제 환경에서 잘 작동하는 것은 구별해야 한다.
반도체
반도체는 전기 전도 특성을 불순물, 전기장, 빛 등의 조건으로 제어할 수 있는 물질이다. 트랜지스터와 집적회로, 광전 소자 등 현대 전자 기술의 핵심을 이룬다.
월드 와이드 웹
월드 와이드 웹은 하이퍼링크로 연결된 문서와 자원을 인터넷을 통해 이용하는 정보 시스템이다. 웹 브라우저와 웹 서버, 주소와 전송 규약이 함께 작동한다.
인터넷
인터넷은 서로 다른 컴퓨터 네트워크들이 공통된 통신 규약을 통해 연결된 전 세계적 통신망이다. 웹과 전자우편, 파일 전송 등 다양한 서비스가 이 기반 위에서 동작한다.
블록체인
블록체인은 기록 묶음을 암호학적으로 연결하고 여러 참여자가 상태를 공유하는 원장 구조다. 기록의 일관성을 유지하는 합의 규칙과 운영 조건이 핵심이다.
알고리즘
알고리즘은 문제를 해결하기 위한 명확한 절차다. 같은 목적을 가진 절차도 계산 시간과 메모리 사용량, 정답의 성질에 따라 다르게 평가할 수 있다.
암호화
암호화는 정보를 정해진 키 없이는 이해하기 어려운 형태로 바꾸는 과정이다. 통신과 저장 정보의 기밀성을 보호하지만, 정확한 설계와 키 관리가 함께 필요하다.
트랜지스터
트랜지스터는 전기 신호를 이용해 다른 전류의 흐름을 조절하는 반도체 소자다. 스위치와 증폭기의 역할을 하며 컴퓨터 칩부터 통신 장비까지 널리 사용된다.
인공지능
인공지능은 학습, 추론, 언어 이해처럼 지능과 관련된 과제를 컴퓨터로 수행하도록 연구하는 분야다. 데이터에서 규칙을 학습하는 기계 학습은 그 안의 중요한 접근 방법이다.