용어 사전
해설에 자주 나오는 용어를 한 문장씩 풀었습니다. 해설 본문에서 점선이 밑에 깔린 용어를 누르면 여기로 옵니다.
ㄱ
- 가용성Availability
- 요청했을 때 응답을 받을 수 있는 정도.
- 격리 수준Isolation Level
- 동시에 도는 트랜잭션이 서로의 중간 상태를 얼마나 볼 수 있는지 정해 둔 단계.
ㄴ
- 논블로킹Non-blocking
- 부르면 곧바로 돌아오는 방식. 준비가 안 됐으면 기다리지 않고 그렇다고 알린다.
ㄷ
- 동기화Synchronization
- 여러 흐름이 같은 자원을 건드릴 때 순서를 맞춰 어긋나지 않게 하는 일.
- 동시성Concurrency
- 여러 일을 시간이 겹치게 다루는 성질. 번갈아 돌리든 실제로 같이 돌리든 둘 다 해당한다.
ㄹ
- 런타임Runtime
- 프로그램이 실행되는 동안. 실행을 받쳐 주는 환경을 가리키기도 한다.
- 로드 밸런서Load Balancer
- 들어온 요청을 여러 서버로 나눠 보내는 중간 장치.
- 롤백Rollback
- 트랜잭션의 변경을 되돌려 없던 일로 만드는 일.
ㅁ
- 메인 스레드Main Thread
- 화면을 그리고 사용자 입력을 받는 스레드. 여기가 막히면 화면이 멈춘다.
- 멱등성Idempotency
- 같은 요청을 여러 번 보내도 결과가 한 번 보낸 것과 같은 성질.
ㅂ
- 백오프Backoff
- 실패한 요청을 곧바로 다시 보내지 않고 기다렸다 보내는 방식. 반복 실패마다 대기를 늘리는 것이 흔하다.
- 병목Bottleneck
- 전체 속도를 혼자 결정해 버리는 가장 느린 구간.
- 비동기Asynchronous
- 결과를 기다리지 않고 다음 일을 진행하는 방식. 결과는 나중에 받는다.
ㅅ
- 샤딩Sharding
- 데이터를 기준에 따라 여러 서버로 나눠 담는 일.
- 서브쿼리Subquery
- 쿼리 안에 들어 있는 또 하나의 쿼리.
- 세션Session
- 서버가 사용자를 기억하려고 서버 쪽에 두는 상태.
- 소켓Socket
- 프로그램이 통신할 때 쓰는 창구. 운영체제가 열어 주고 여기에 읽고 써서 주고받는다.
- 스레드Thread
- 프로세스 안에서 명령을 실행하는 흐름. 한 프로세스의 스레드들은 메모리를 공유한다.
- 스케줄러Scheduler
- 다음에 무엇을 실행할지 고르는 구성 요소.
- 스키마Schema
- 표와 열이 어떤 모양인지 미리 정해 둔 구조.
- 스택Stack
- 나중에 넣은 것을 먼저 꺼내는 자료구조. 함수 호출 기록을 쌓는 메모리 영역도 이 이름을 쓴다.
- 시간 복잡도Time Complexity
- 입력이 커질 때 걸리는 시간이 어떻게 늘어나는지 나타낸 것.
- 실행 계획Execution Plan
- 옵티마이저가 고른 실행 방법을 보여 주는 것. 인덱스를 탔는지 여기서 본다.
ㅇ
- 연결 리스트Linked List
- 각 원소가 다음 원소의 위치를 들고 줄줄이 이어지는 자료구조.
- 오버헤드Overhead
- 본래 하려던 일 말고 그 일을 하려고 덤으로 드는 비용.
- 옵티마이저Optimizer
- 같은 질의를 어떤 순서와 방법으로 실행할지 고르는 데이터베이스 구성 요소.
- 원자적Atomic
- 중간이 없는 성질. 끝까지 된 것이거나 아예 안 된 것으로만 보인다.
- 이벤트 루프Event Loop
- 할 일을 큐에서 하나씩 꺼내 실행하는 반복 구조.
- 이진 탐색Binary Search
- 정렬된 데이터에서 가운데와 비교해 범위를 반씩 줄여 가며 찾는 방법.
- 인덱스Index
- 표 전체를 읽지 않고 원하는 행을 찾게 해 주는 자료구조. 대신 쓸 때마다 같이 갱신해야 한다.
- 인스턴스Instance
- 클래스로 실제로 만들어 낸 것 하나.
- 일관성Consistency
- 어디서 읽어도 같은 값이 보이는 성질. 트랜잭션에서 말할 때는 규칙이 깨지지 않은 상태를 가리켜, 두 뜻이 다르다.
ㅈ
- 조인Join
- 두 표를 공통된 열로 이어 하나의 결과로 만드는 연산.
- 지연 시간Latency
- 요청을 보내고 응답이 오기까지 걸린 시간.
- 직렬화Serialization
- 메모리 속 객체를 저장하거나 전송할 수 있는 형식으로 바꾸는 일.
ㅊ
- 처리량Throughput
- 정해진 시간에 처리해 낸 양.
ㅋ
- 캐시Cache
- 느린 곳에서 가져온 것을 가까운 곳에 잠깐 두는 저장소.
- 커널Kernel
- 운영체제의 핵심부. 하드웨어와 자원 접근을 통제한다.
- 커밋Commit
- 트랜잭션의 변경을 확정해 반영하는 일.
- 컨테이너Container
- 앱과 실행 환경을 묶어 격리해 실행하는 단위. 커널은 호스트와 공유한다.
- 컨텍스트 스위칭Context Switching
- CPU가 실행 대상을 바꾸는 일. 이전 상태를 저장하고 다음 상태를 복원한다.
- 컴파일러Compiler
- 코드를 다른 형태로 번역하는 프로그램. 기계어로 바꾸는 것이 흔하지만 바이트코드나 다른 언어로 옮기기도 한다.
- 콜백Callback
- 나중에 불러 달라고 미리 넘겨 두는 함수.
- 쿠키Cookie
- 서버가 브라우저에 맡겨 두는 작은 데이터. 그 사이트에 요청을 보낼 때마다 같이 실려 간다.
- 쿼리Query
- 데이터베이스에 무엇을 달라고 던지는 질의문.
- 클로저Closure
- 자기가 만들어진 자리의 변수를 계속 들고 다니는 함수.
ㅌ
- 트랜잭션Transaction
- 전부 반영되거나 전부 취소되거나, 둘 중 하나여야 하는 작업 묶음.
ㅍ
- 패킷Packet
- 네트워크로 보내려고 잘라 놓은 데이터 한 덩이. 앞머리에 주소가 붙는다.
- 페이지 폴트Page Fault
- 접근한 가상 주소를 지금 매핑으로는 처리할 수 없어 운영체제가 끼어드는 일. 페이지가 메모리에 없어 디스크에서 끌어오는 경우가 대표적이다.
- 포트Port
- 한 기기 안에서 어느 프로그램으로 갈지 가르는 번호.
- 폴링Polling
- 바뀐 것이 있는지 주기적으로 물어보는 방식.
- 프로세스Process
- 실행 중인 프로그램 하나. 운영체제가 메모리와 자원을 따로 떼어 준다.
- 프로토콜Protocol
- 주고받는 형식과 순서를 미리 맞춰 둔 약속.
- 프록시Proxy
- 클라이언트와 서버 사이에서 요청을 대신 전달하는 중간 서버.
ㅎ
- 해시Hash
- 임의 길이의 입력을 고정 길이 값으로 바꾸는 함수. 같은 입력은 늘 같은 값이 나온다.
- 해시 테이블Hash Table
- 키를 해시해 나온 자리에 값을 두는 자료구조. 평균적으로 한 번에 찾는다.
- 핸드셰이크Handshake
- 통신을 시작하며 서로 준비와 조건을 맞추는 절차. TCP 연결과 TLS 암호 협상이 이것이다.
- 힙Heap
- 실행 중에 만들어지는 데이터를 두는 메모리 영역. 우선순위 큐를 만드는 자료구조도 같은 이름을 쓴다.
A
- ACK
- 잘 받았다고 알리는 응답. TCP는 이것으로 도착을 확인한다.
- API
- 프로그램끼리 주고받기로 정해 둔 창구. 안이 어떻게 생겼는지 몰라도 정해진 형식으로 부르면 된다.
- B-Tree
- 디스크 읽기 횟수를 줄이도록 넓고 얕게 만든 트리. 데이터베이스 인덱스가 주로 쓴다.
- CSRF
- 로그인된 사용자의 권한을 빌려 본인이 의도하지 않은 요청을 보내게 만드는 공격.
- DB
- 데이터베이스. 데이터를 구조를 갖춰 담고 찾게 해 주는 시스템.
- DNS
- 도메인 이름을 IP 주소로 바꿔 주는 시스템.
- DOM
- 브라우저가 HTML 문서를 객체 트리로 만들어 둔 것. 스크립트는 이것을 고쳐 화면을 바꾼다.
- GC
- 더는 쓸 수 없게 된 메모리를 런타임이 알아서 회수하는 일. 가비지 컬렉션.
- JVM
- 자바 바이트코드를 실행하는 가상 머신. 자바가 어디서나 도는 이유다.
- QUIC
- UDP 위에 얹은 전송 규약. HTTP/3이 이것을 쓴다.
- SQL
- 관계형 데이터베이스에 무엇을 달라고 적는 언어.
- TCP
- 순서와 도착을 확인해 주는 인터넷 전송 규약. 연결을 맺고 시작한다.
- TLB
- 가상 주소를 물리 주소로 바꾼 결과를 담아 두는 하드웨어 캐시.
- TLS
- 주고받는 내용을 암호화하는 프로토콜. HTTPS의 S가 이것이다.
- TTL
- 데이터가 유효한 기간. 지나면 버리고 다시 받아 온다. IP 헤더에도 같은 이름이 있는데 그쪽은 시간이 아니라 거칠 수 있는 구간 수다.
- UDP
- 확인 절차 없이 빠르게 보내는 전송 규약. 유실을 감수한다.
- XSS
- 남이 심은 스크립트가 내 페이지에서 실행되게 만드는 공격.
본문 335편에서 3편 이상 등장한 용어만 실었습니다. 빠졌거나 틀린 것은 GitHub 이슈로 알려 주시기 바랍니다.