부록 2: 용어 사전 — 개발편

  • Git: 코드의 변경 이력을 기록하는 버전 관리 시스템. 게임의 세이브 포인트처럼 원하는 시점으로 돌아갈 수 있다.
  • GitHub: Git으로 관리하는 코드를 인터넷에 올려두는 서비스. 내 컴퓨터가 고장 나도 코드가 사라지지 않고, 배포할 때도 여기서 가져다 쓴다.
  • 커밋 (commit): 현재 상태를 저장하는 행위. "이 시점의 코드를 저장해둔다"는 뜻.
  • 푸시 (push): 커밋한 내용을 GitHub(원격 저장소)에 올리는 것.
  • 브랜치 (Branch): 코드의 분기. 기존 코드를 건드리지 않고 새 기능을 실험하거나 개발할 때 별도의 브랜치를 만들어 작업한다.
  • .gitignore: Git이 무시할 파일과 폴더를 지정하는 파일. .env 같은 민감한 파일이 GitHub에 올라가지 않게 막는다.
  • .env: 환경변수를 저장하는 파일. API 키, 데이터베이스 비밀번호 같은 민감한 정보를 코드와 분리해서 보관한다. GitHub에 올라가면 안 된다.
  • 환경변수 (Environment Variable): .env 파일에 저장하는 비밀 정보. NEXT_PUBLIC_으로 시작하면 브라우저에서도 읽을 수 있고, 그렇지 않으면 서버에서만 읽힌다.
  • localhost: 내 컴퓨터를 가리키는 주소. localhost:3000은 "내 컴퓨터의 3000번 포트에서 돌아가는 서버"를 뜻한다. 개발 서버를 켜야만 접속된다.
  • 포트 (Port): 같은 컴퓨터 안에서 서비스를 구분하는 번호. localhost:30003000이 포트 번호다. 여러 개발 서버를 동시에 켤 때 각각 다른 포트를 쓴다.
  • HTTP / HTTPS: 웹에서 데이터를 주고받는 통신 규약. 브라우저가 서버에 "이 페이지 줘"라고 요청하고, 서버가 응답하는 방식을 정의한다. HTTPS는 HTTP에 암호화를 더한 것으로, 주소창에 자물쇠 아이콘이 붙는다. 요즘은 HTTPS가 기본이고, Vercel 배포 시 자동으로 적용된다.
  • 도메인 (Domain): 사람이 읽을 수 있는 웹 주소. naver.com, github.com처럼 숫자로 된 IP 주소 대신 외우기 쉬운 이름으로 서버를 찾아가게 해준다. 기본 배포 주소(myproject.vercel.app)를 내가 산 도메인(myproject.com)으로 바꾸려면 도메인 구매 후 DNS 설정이 필요하다.
  • npm: Node.js 패키지 매니저. 라이브러리를 설치하고 프로젝트 명령어를 실행하는 도구. npm run dev, npm install 같은 명령어를 입력할 때 쓴다.
  • package.json: 이 프로젝트가 어떤 라이브러리를 쓰는지, 어떤 명령어가 있는지 기록하는 파일. npm이 이 파일을 읽어서 라이브러리를 설치한다.
  • 라우팅 (Routing): URL 경로와 페이지를 연결하는 것. /는 메인 페이지, /login은 로그인 페이지처럼 URL마다 다른 화면을 보여주는 구조.
  • API (Application Programming Interface): 프로그램끼리 대화하는 방법. 음식점 주문 창구처럼 정해진 형식으로 요청하면 결과가 돌아온다. 프론트엔드가 서버에 데이터를 요청하거나, 외부 서비스(결제, 지도, AI 등)를 연결할 때 API를 사용한다.
  • API 키 (API Key): API를 사용할 때 "나"를 증명하는 고유한 문자열. .env 파일에 저장하고, GitHub에 올리거나 프론트엔드 코드에 넣으면 안 된다.
  • API Route: Next.js에서 서버 쪽 코드를 만드는 방법 중 하나. app/api/ 폴더에 파일을 만들면 브라우저가 아닌 서버에서 실행되는 코드가 된다. Secret key가 필요한 API를 안전하게 호출할 때 쓴다.
  • JSON (JavaScript Object Notation): 데이터를 주고받을 때 쓰는 텍스트 형식. { "name": "홍길동", "age": 25 } 같은 형태로 이름과 값이 쌍으로 들어간다. API 응답의 대부분이 이 형식이다.
  • GET / POST: API 요청의 두 가지 기본 방식. GET은 데이터를 가져올 때(조회), POST는 데이터를 보낼 때(등록, 결제, 이메일 발송 등) 쓴다.
  • 상태 코드 (Status Code): API 응답에 포함되는 숫자. 200은 성공, 401은 인증 실패(API 키 문제), 403은 권한 없음, 429는 요청 횟수 초과, 500은 서버 오류를 뜻한다.
  • 콘솔 (Console): 브라우저 개발자 도구의 탭 중 하나. 에러 메시지, 경고, 코드에서 출력한 로그가 여기에 나온다. 에러가 났을 때 가장 먼저 확인하는 곳.
  • RLS (Row Level Security): Supabase 데이터베이스의 행 단위 접근 제어 기능. "이 데이터는 이 사용자만 읽을 수 있다"는 규칙을 데이터베이스 단에서 설정한다.
  • MCP (Model Context Protocol): Claude Code에 외부 도구를 연결하는 방법. Supabase, Playwright, Slack 같은 서비스를 AI가 직접 다룰 수 있게 해준다.
  • 빌드 (build): 개발용 코드를 배포에 적합한 형태로 변환하는 과정. Vercel 배포 시 자동으로 실행된다.
  • 배포 (deploy): 만든 서비스를 인터넷에 올려서 누구나 접속할 수 있게 하는 것.
  • 프레임워크 (Framework): 개발의 기반이 되는 도구 모음. Next.js는 웹 프레임워크로, 페이지, 라우팅, 서버 기능을 통합 제공한다.
  • 라이브러리 (Library): 특정 기능을 쉽게 쓸 수 있도록 미리 만들어둔 코드 모음. 프레임워크보다 범위가 좁고 특화되어 있다.
  • 스키마 (Schema): 데이터베이스의 구조 정의. 어떤 테이블이 있고, 각 테이블에 어떤 컬럼이 있는지를 나타낸다.
  • CRUD: 데이터 조작의 네 가지 기본 동작. 생성(Create) / 읽기(Read) / 수정(Update) / 삭제(Delete).
  • 디버깅 (Debugging): 코드의 오류를 찾아서 고치는 과정. 에러 메시지를 읽고, 원인을 파악하고, 수정하는 것 전체를 말한다.
  • 할루시네이션 (Hallucination): AI가 틀린 정보를 마치 사실인 것처럼 자신 있게 말하는 현상. 존재하지 않는 라이브러리를 설치하려 하거나, 없는 API를 호출하는 식으로 나타난다. 실행해서 에러가 나면 그걸 AI에게 보여주면 된다.

© 2026 서울바이브. 본 콘텐츠의 무단 복제 및 재배포를 금합니다.