"저장되게 해줘"로는 부족하다 — 바이브 코딩 백엔드·배포 용어 60개 정리

2026.10.31 08:07

화면, 에러, 그다음

지금까지 두 개를 만들었다. 화면을 정확히 말하는 UI 용어 75, 에러를 정확히 말하는 에러 디버깅 프롬프트 변환기. 둘 다 결국 "AI한테 정확한 말로 부탁하기"였다.

그다음에 막히는 곳은 정해져 있었다. 저장, 로그인, 배포다. 화면은 그럴듯하게 나왔는데 새로고침하면 데이터가 사라지고, 로그인을 붙였더니 남의 글까지 보이고, 내 컴퓨터에선 되던 게 배포하면 안 된다.


백엔드는 눈에 안 보인다

화면은 틀리면 바로 보인다. 백엔드는 그렇지 않다. 데이터가 어디에 저장되는지, 누가 볼 수 있는지, 비밀 키가 어디에 있는지는 화면만 봐서는 모른다. 그래서 요청도 막연해진다. "저장되게 해줘", "로그인 붙여줘", "올려줘".

AI는 이런 말로도 어떻게든 만들어 준다. 문제는 그 '어떻게든'이 내가 원한 방식이 아닐 수 있다는 것이다. 데이터는 화면 상태에만 있고, RLS는 꺼져 있고, 비밀 키는 프론트엔드 코드에 들어가 있다. 돌아가긴 하는데 위험한 상태다.

이렇게 말하던 것이렇게 바꿔 말하기
저장되게 해줘Supabase에 todos 테이블을 만들고 내용, 완료 여부, 작성자, 작성일을 저장해 주세요.
새로고침하면 사라져요지금은 화면 상태(state)에만 있어서 그런 것 같아요. DB에 저장하고 페이지를 열 때 불러와 주세요.
다른 사람은 못 보게RLS를 켜고, user_id가 로그인한 사람과 같은 행만 읽고 쓸 수 있게 해 주세요.
올려줘Vercel에 배포하고, 등록해야 할 환경변수 목록을 알려 주세요.
결제 되게결제 완료 웹훅을 받으면 주문 상태를 paid로 바꿔 주세요. 비밀 키는 서버에만 둬 주세요.


그래서 정리한 것: 바이브 코딩 백엔드·배포 용어 60

바이브 코딩 백엔드·배포 용어 60 — mifplus.com/tools/backend-terms

UI 용어 75와 같은 방식이다. 보고, 눌러 보고, 담아서 요청문을 만든다. 다른 점은 맨 위의 웹앱 지도다. 백엔드 용어는 이름보다 "어디에 있는 것인지"를 먼저 알아야 덜 헷갈린다. 브라우저, 서버, 데이터베이스, 배포·운영, 외부 서비스 다섯 자리에 용어를 나눠 두고, 상자를 누르면 그 자리 용어만 모아 보여 준다.

분류개수들어 있는 것 (일부)
기본 구조8프론트엔드, 백엔드, API, 엔드포인트, 요청과 응답, JSON
렌더링3CSR, SSR, SSG
통신8HTTP 메서드, 상태 코드, 헤더, CORS, 웹훅, 실시간(웹소켓)
데이터10테이블, 기본키, 관계(외래키), CRUD, 쿼리, 마이그레이션, 파일 스토리지
인증·보안9인증, 인가, 세션, 토큰(JWT), 소셜 로그인(OAuth), RLS, API 키
환경·설정6환경변수, .env 파일, 공개 키와 비밀 키, 로컬·개발·운영 환경
배포·운영10빌드, 배포, 도메인, DNS, HTTPS, CDN, 서버리스 함수, 롤백
외부 연동6BaaS, 결제 연동, 이메일 발송, 예약 작업(크론), 캐시, 요청 제한


눈에 안 보이니까, 직접 눌러 보게

설명을 읽는 것보다 한 번 눌러 보는 게 빠르다. 그래서 데모를 7개 넣었다.

  • 요청과 응답이 오가는 길 — 브라우저가 보낸 주문서가 서버에 갔다가 JSON으로 돌아오는 모습
  • 메서드로 표 다루기 — GET·POST·PATCH·DELETE를 누를 때마다 같은 일을 하는 SQL과 표가 같이 바뀐다
  • 상태 코드별로 사용자가 보는 화면 — 401, 403, 429, 500이 사용자에게는 어떻게 보이는지
  • 출입증과 열쇠 — 인증은 "누구인가", 인가는 "이 방에 들어가도 되는가". 회원이어도 관리자 페이지는 403이다
  • RLS 스위치 — RLS가 꺼져 있으면 민지 화면에 준호의 비공개 일기가 보인다. 켜면 내 행만 남는다
  • 비밀 키는 어디에 둘까 — NEXT_PUBLIC_을 붙인 결제 키가 페이지 소스에 그대로 보이는 걸 직접 확인한다
  • 내 컴퓨터에선 되는데 배포하면 안 될 때 — 배포 설정에 환경변수를 등록하고, 다시 배포까지 해야 반영되는 흐름

특히 RLS와 비밀 키는 돌아가긴 해서 문제가 있는지조차 모르고 넘어가기 쉬운 부분이다. 그래서 글로 설명하기보다 눈으로 보게 했다.


용어 카드: 비유, 할 말, 자주 하는 실수

카드마다 한 줄 정의와 비유가 있다. API는 식당의 주문서 양식, RLS는 아파트 우편함, 환경변수는 금고 비밀번호를 코드 밖 서랍에 보관하는 것. AI에게 할 말을 열면 그대로 붙여 넣을 문장과 자주 하는 실수가 나온다.

관련 에러가 있는 용어는 에러 디버깅 프롬프트 변환기의 에러 카드로 바로 이어진다. RLS 카드에서 "관련 에러 #26"을 누르면 new row violates row-level security policy 설명으로 넘어가는 식이다. 용어를 몰라서 막히든 에러가 나서 막히든, 같은 자리에서 만나게 했다.


담아서 조립하기

필요한 용어를 + 담기로 모으면 요청문 조립대의 알맞은 칸에 들어간다. 칸은 다섯 개다. [기능] + [데이터] + [권한] + [연동] + [환경·배포]. UI 용어 75의 레이아웃 + 컴포넌트 + 상태 + 스타일 + 효과와 같은 역할이다.

예를 들어 테이블, 기본키, 소셜 로그인, RLS, 파일 스토리지, 환경변수를 담고 만들 기능을 한 줄 쓰면 이렇게 나온다.

[만들 기능]
회원이 읽은 책을 기록하고 내 목록으로 볼 수 있게 해 주세요.

[데이터]
- books 테이블: title(text), rating(int, 1~5), memo(text), cover_url(text), created_at(timestamp)
- 필요한 테이블과 열을 표로 정리한 뒤 만들어 주세요.
- id는 uuid 기본키로 자동 생성되게 해 주세요.

[권한]
- 구글 소셜 로그인을 붙이고, 로그인 후 /dashboard로 보내 주세요.
- 모든 테이블에 RLS를 켜고, user_id가 로그인한 사람과 같은 행만 읽고 쓰게 해 주세요.

[연동]
- 이미지는 스토리지에 올리고 테이블에는 URL만 저장해 주세요. 5MB 이하만 받아 주세요.

[환경·배포]
- Vercel에 배포할 거예요.
- 주소와 키는 모두 환경변수로 빼고, 필요한 변수 목록을 정리해 주세요.

[진행 방식]
- 만들기 전에 바꿀 파일 목록과 순서를 먼저 보여 주세요.
- 정해지지 않은 부분은 추측하지 말고 먼저 질문해 주세요.

마지막 [진행 방식] 두 줄은 항상 붙는다. 만들기 전에 바꿀 파일부터 보여 달라는 것, 정해지지 않은 건 추측하지 말고 물어보라는 것. 백엔드는 한 번 잘못 만들면 데이터까지 꼬이니까, 시작 전에 한 번 멈추게 하는 편이 낫다.

아래쪽에는 "저장되게 해줘" 같은 말을 바꿔 주는 모호한 말 사전 12개, HTTP 메서드·상태 코드·데이터 타입·환경변수 이름 규칙·테이블 설계 예시·배포 전 보안 점검을 묶은 실전 사전, 요청 전 체크리스트 7개를 붙였다.


정리하며

이렇게 세 개가 됐다. 무엇을 만들지는 UI 용어 75, 무엇이 잘못됐는지는 에러 디버깅 프롬프트 변환기, 눈에 안 보이는 뒤쪽은 백엔드·배포 용어 60. 셋 다 같은 이야기를 한다. AI는 정확하게 말할수록 정확하게 만든다.

저장이나 로그인을 붙이기 전에, 또는 배포 버튼을 누르기 전에 한 번 열어 보면 좋겠다.

바이브 코딩 백엔드·배포 용어 60: https://mifplus.com/tools/backend-terms
에러 디버깅 프롬프트 변환기: https://mifplus.com/tools/debug-prompt
바이브 코딩 UI 필수 용어 75: https://mifplus.com/tools/vibe-ui
지난 글: AI한테 "또 안 돼"만 반복하던 날들 — 에러를 디버깅 요청문으로 바꾸는 도구

댓글 0

NHQR4 ↻
아직 댓글이 없습니다.