용어집
이 책 전반에 나오는 용어들을 쉬운 말로 풀어놓은 참고 자료다. 각 정의는 한 줄이고 입문자를 위한 것이다 — 컴퓨터 과학 강의가 아니라, AI가 그 단어를 썼을 때 알아볼 수 있을 정도다. 기술 약어는 원래 형태 그대로 두고 설명한다.
웹 & API
API (Application Programming Interface) : 한 프로그램이 다른 프로그램에게 제공하는 요청들의 메뉴. 어떻게 요청하고 무엇을 돌려받는지에 대한 규칙이다.
REST : 평범한 웹 주소와 표준 동작(조회, 생성, 수정, 삭제)을 쓰는 흔하고 단순한 API 방식.
endpoint (엔드포인트) : API 메뉴의 한 항목 — 하나의 특정 일을 하는 URL 하나.
JSON (JavaScript Object Notation) : 이름표가 붙은 필드와 목록으로 이루어진, 프로그램끼리 대화할 때 쓰는 단순한 텍스트 데이터 형식.
HTTP / HTTPS : 브라우저와 서버가 웹 페이지와 데이터를 주고받을 때 쓰는 언어. HTTPS는 암호화된 안전한 버전이다.
status code (상태 코드) : 무슨 일이 일어났는지 서버가 돌려주는 세 자리 숫자(200 = 정상, 404 = 없음, 500 = 서버 오류).
URL (Uniform Resource Locator) : 웹 주소 — 특정 페이지, 파일, 엔드포인트를 가리키는 전체 경로.
DNS (Domain Name System) : example.com 같은 사람이 읽는 이름을 서버의 숫자 주소로 바꿔주는 인터넷의 전화번호부.
domain (도메인) : 당신이 소유하고 입력하는, 사람이 읽을 수 있는 이름(예: example.com). 당신의 사이트를 가리킨다.
webhook (웹훅) : 반대 방향의 API 호출 — 당신이 계속 묻는 대신, 무슨 일이 생기면 다른 서비스가 자동으로 당신 앱에 알려준다.
OAuth : 비밀번호를 공유하지 않고 다른 계정으로 로그인하게 해주는 표준 방식("Google로 로그인" 같은 것).
session / JWT (세션 / JWT) : 요청 사이사이 당신이 로그인 상태임을 서버가 기억하는 방식. JWT는 그 증거를 담은 서명된 토큰이다.
rate limit (요청 제한) : 일정 시간 안에 보낼 수 있는 요청 수의 상한. 남용과 과부하를 막는 데 쓴다.
idempotent (멱등성) : 반복해도 안전한 동작 — 두 번 해도 한 번 한 것과 같은 결과라서, 재시도가 이중 결제를 일으키지 않는다.
코드 & 도구
frontend (프론트엔드) : 당신이 보고 클릭하는 앱의 부분 — 브라우저나 화면에서 도는 것.
backend (백엔드) : 보이지 않는 앱의 부분 — 뒤에서 도는 서버 코드, 로직, 데이터.
CLI / terminal (CLI / 터미널) : 창에서 버튼을 클릭하는 대신, 명령어를 타이핑해서 실행하는 텍스트 기반 방식.
shell (셸) : 터미널 안에서 당신이 입력한 명령어를 읽고 실행하는 프로그램(예: bash, zsh).
Git (깃) : 코드의 모든 변경을 추적해서 기록을 살펴보고 실수를 되돌릴 수 있게 해주는 도구.
commit (커밋) : Git에 저장한 코드의 한 스냅샷. 무엇이 바뀌었는지 적은 짧은 메모가 붙는다.
branch (브랜치) : 메인 버전에 영향을 주지 않고 변경할 수 있는, Git의 별도 작업 줄기.
pull request (PR, 풀 리퀘스트) : 한 브랜치의 변경을 다른 브랜치에 합치자는 제안. 합치기 전에 검토할 수 있다.
repository (repo, 저장소) : Git이 추적하는 폴더 — 프로젝트 코드와 그 전체 기록이 사는 곳.
.gitignore : 비밀값이나 자동 생성된 잡동사니처럼 Git이 추적하거나 올리면 안 되는 것들을 적은 파일.
package (패키지) : 직접 짜는 대신 프로젝트에 가져다 쓰는, 남이 만든 재사용 가능한 코드 덩어리.
dependency (의존성) : 동작을 위해 프로젝트가 의지하는 패키지. 당신 코드가 그것이 있어야 돌아간다.
lockfile (락파일) : 모든 패키지의 정확한 버전을 고정해 빌드를 재현 가능하게 만드는, 자동 생성 파일.
framework (프레임워크) : 흔한 앱 배관을 대신 처리해줘서, 프로젝트만의 고유한 부분만 짜면 되게 해주는 미리 만들어진 토대.
LSP (Language Server Protocol) : 어떤 프로그래밍 언어에서든 에디터가 똑똑한 기능(자동완성, 오류 표시)을 제공하게 해주는 표준.
인프라
database (데이터베이스) : 검색하고 수정하고 오래 안전하게 보관할 수 있는, 앱 데이터의 체계적 저장소.
SQL : 전통적인 표 기반 데이터베이스와 대화하는 고전적인 질의 언어.
NoSQL : 빡빡한 표보다 더 유연하게 데이터를 저장하는 데이터베이스 계열(문서형, 키-값 등).
environment variable (환경 변수) : 코드 바깥에서 앱에 주입하는 설정. 로컬과 실서비스 사이의 동작 전환에 자주 쓴다.
secret (시크릿) : 코드에 절대 나타나거나 공개되면 안 되는 민감한 값(비밀번호, API 키).
edge (엣지) : 사용자 가까이 전 세계에 퍼져 있는 서버들. 응답이 더 빨리 도착한다.
serverless (서버리스) : 코드가 필요할 때만 돌고 서버를 직접 관리하지 않는 방식 — 관리는 제공업체가 한다.
container (컨테이너) : 앱과 그것이 도는 데 필요한 모든 것을, 어디서든 똑같이 돌도록 묶은 가볍고 독립적인 꾸러미.
VM (virtual machine, 가상 머신) : 실제 컴퓨터 안에서 도는 완전한 가상 컴퓨터. 통제할 수 있는 격리된 서버를 준다.
deploy (배포) : 실제 사용자가 인터넷에서 접근할 수 있도록 앱을 공개하는 것.
CI/CD (Continuous Integration / Continuous Delivery) : 코드를 테스트하고 변경을 푸시할 때마다 배포해주는 자동화.
cache (캐시) : 반복 작업을 다시 안 해도 되게 결과를 임시로 빠르게 저장해 속도를 높이는 것.
queue (큐) : 작업이 안전하게 쌓이고 순서대로 하나씩 처리되도록 하는 작업 대기 줄.
AI & 에이전트
MCP (Model Context Protocol) : AI 비서가 외부 도구와 데이터 출처에 통일된 방식으로 연결되게 해주는 표준.
agent (에이전트) : 답만 하는 게 아니라 단계적으로 행동하는 AI — 도구를 실행하고, 파일을 읽고, 자기 실수를 고친다.
prompt (프롬프트) : AI에게 주는 지시. 더 명확한 프롬프트가 더 나은 결과를 낸다.
token (토큰) : AI 모델이 읽고 세는 작은 텍스트 조각(대략 단어의 일부). 사용량과 비용이 토큰으로 측정된다.
context window (컨텍스트 윈도우) : AI가 한 번에 기억할 수 있는 최대 텍스트 양. 넘어가면 앞쪽 내용이 잊힌다.
hallucination (환각) : AI가 틀린 것을 마치 사실처럼 자신 있게 말하는 것.
결제 & 비즈니스
merchant of record (MoR, 등록 판매자) : 당신을 대신해 판매하면서 세금, 사기, 환불을 처리해주는 회사. 덕분에 곳곳에 등록하지 않아도 된다.
bill shock (요금 폭탄) : 클라우드나 AI 서비스에서 예상치 못한 거대 청구서. 보통 폭주하는 루프나 빠진 한도 때문이다.