VIBECODING 365 / DICTIONARY
큐
Queue
DEFINITION
정의
큐는 시간이 오래 걸리거나 실패 가능성이 있는 작업을 바로 처리하지 않고 순서대로 쌓아 두었다가 작업자가 꺼내 처리하게 하는 비동기 처리 구조다. 이메일 발송, 이미지 변환, 결제 후 정산, AI 답변 생성처럼 사용자를 기다리게 하면 안 되는 서버 작업에 자주 쓰인다. 바이브 코딩에서는 AI에게 '버튼 클릭 즉시 모든 일을 끝내는 코드'를 만들게 하기보다 요청 저장, 큐 등록, 워커 처리, 재시도, 실패 기록을 분리하도록 지시하면 장애를 작게 만들 수 있다.
참고
큐 자체는 개념이고, SQS, BullMQ, Cloudflare Queues, RabbitMQ 같은 구현체를 상황에 맞게 선택한다.
ENGLISH
Queue
EXAMPLE
사용자가 질문을 제출하면 API는 질문을 저장하고 큐에 answer_question 작업을 넣은 뒤 즉시 접수 응답을 준다. 별도 워커가 큐에서 작업을 꺼내 AI 답변을 생성하고, 실패하면 재시도 횟수와 오류 상태를 기록해 운영자가 원인을 검증할 수 있게 한다.
NOTES
큐 자체는 개념이고, SQS, BullMQ, Cloudflare Queues, RabbitMQ 같은 구현체를 상황에 맞게 선택한다.
관련
이어서 볼 문서
RELATED TERMS
연관 용어
Async/Await
서버 요청, 파일 읽기, 타이머처럼 결과가 바로 오지 않는 작업을 순서대로 읽히는 코드처럼 작성하게 해 주는 JavaScript 문법이다. async 함수 안에서 await를 사용하면 Promise가 끝날 때까지 다음 줄 실행을 기다린다. 바이브 코딩 초보자는 '데이터가 아직 오기 전에 화면이 먼저 그려지는 문제'를 자주 만나는데, async/await를 이해하면 로딩 상태, 에러 처리, 재시도 흐름을 더 안전하게 설계할 수 있다. 단, await는 실패할 수 있으므로 try/catch나 에러 UI와 함께 써야 한다.
프론트엔드·UI 프로미스Promise
비동기 작업이 나중에 성공하거나 실패할 결과를 표현하는 JavaScript 객체이다. 서버에서 데이터를 받아오는 fetch, 이미지 로딩, 데이터베이스 호출처럼 시간이 걸리는 작업은 Promise로 다루는 경우가 많다. Promise는 pending, fulfilled, rejected 상태를 가지며, async/await는 Promise를 더 읽기 쉽게 사용하는 문법이다. AI가 생성한 코드에서 .then(), .catch(), await가 섞여 있다면 Promise의 흐름을 이해해야 에러가 삼켜지거나 로딩 상태가 끝나지 않는 버그를 찾을 수 있다.
백엔드·인프라 APIAPI (Application Programming Interface)
소프트웨어 애플리케이션 간 상호작용 방식을 정의하는 프로토콜과 규약의 집합으로, AI 코딩 도구 통합과 현대 소프트웨어 아키텍처의 핵심이다. 비유하면, 레스토랑의 메뉴가 손님(클라이언트)과 주방(서버) 사이의 '인터페이스'인 것처럼, API는 소프트웨어 간의 '메뉴'이다. 바이브 코딩에서 API는 두 가지 맥락으로 사용된다: 첫째, AI 모델 API — Claude API, OpenAI API 등 AI 모델을 호출하는 인터페이스로, 모든 AI 코딩 도구의 내부에서 이 API를 통해 모델과 통신한다. 둘째, 앱 API — AI가 생성하는 백엔드 코드의 핵심으로, REST API, GraphQL API 등의 형태로 프론트엔드와 백엔드를 연결한다. AI에게 '사용자 CRUD API를 REST로 만들어줘'라고 하면 Express.js, FastAPI, Next.js API Routes 등을 사용한 엔드포인트 세트를 생성한다. MCP도 본질적으로 'AI 에이전트가 외부 도구를 호출하는 API의 표준화'이다.