이 책이 말하는 백엔드
2026년 11월 6일 밤 11시 49분, 위니버시티 바이브 코딩 입력 칸에 토요일 스터디 참가 신청 페이지를 만들어 달라는 한 문장을 적었습니다.
23초 뒤에 신청 페이지가 나왔습니다. 닉네임과 한마디를 적는 칸, [신청하기] 단추, "남은 자리 10명 / 정원 10명", 그 아래 신청자 명단이 있었습니다. 저희는 서버 이야기를 한마디도 하지 않았는데, AI가 알아서 명단을 서버에 저장하게 만들었습니다. 그래서 다른 사람이 열어도 같은 명단이 보입니다.
그 페이지에 아홉 명을 넣어 두고, 창 두 개에서 같은 순간에 마지막 자리를 눌렀습니다. 두 창 모두 "남은 자리 1명"을 보고 있었고, 둘 다 들어갔습니다. 화면 맨 위에는 "정원이 모두 찼어요 (10명)"라고 적혀 있는데, 그 아래 명단은 11번까지 있었습니다.
이 책은 이 11명에서 시작합니다.
1. 화면 뒤에서 하는 일
이 책에서 백엔드는 화면 뒤에서 규칙을 지키고, 데이터를 남기고, 누가 무엇을 할 수 있는지 정하는 곳입니다.
11명 장면은 규칙의 문제입니다. 정원 10명을 화면만 지키고 있었습니다. 같은 밤 저희가 더 본 것이 있습니다. 이 명단은 매일 새벽 4시에 지워지게 되어 있었고, 같은 문장으로 만든 다른 판에서는 누구든 남의 신청을 지울 수 있었습니다.
이런 문제는 써 보기만 해서는 잘 보이지 않습니다. 11명은 두 사람이 같은 순간에 눌러야 나옵니다. 혼자 써 보는 사람은 이 장면을 보지 못합니다. 새벽 4시도 지나 봐야 압니다.
무엇을 시험할지 알려면 물어야 할 것이 있습니다. 이 책은 그것을 네 가지 질문으로 묶었습니다.
- 규칙은 어디서 지키나. 화면인가, 서버인가.
- 데이터는 어디에 남나. 껐다 켜도, 다시 올려도 남는가.
- 누가 무엇을 할 수 있나. 지우는 사람은 누구인가.
- 비밀값은 어디에 두나. 코드 안인가, 서버에만 있는 메모인가.
2. 예제 하나를 끝까지
예제는 토요일 스터디 참가 신청 하나입니다. 닉네임과 한마디를 적고 [신청하기]를 누르면 아래 명단에 바로 보이고, 정원은 10명입니다. 전화번호나 이메일은 받지 않습니다. 그 이유는 5장에서 말합니다. 장마다 AI에게 한두 문장을 보내고, 나온 것을 열어 보고, 시험을 시켜 숫자로 확인합니다.
파이썬 문법을 배우거나 코드를 치거나 데이터베이스 표를 설계하는 일은 없습니다. 3장에서 AI는 데이터베이스까지 붙은 서버를 29초 만에 만듭니다. 코드는 "이 몇 줄이 그 규칙이다"를 보여 줄 때만 짧게 나옵니다.
AI는 같은 말에도 매번 조금씩 다르게 만듭니다. 여러분 화면의 문구나 파일 크기가 이 책과 다를 수 있습니다. 다를 때 무엇을 보고 어떻게 다시 말할지는 절마다 적어 두었습니다.
3. 준비물과 크레딧
위니버시티 회원 계정과 브라우저면 됩니다. 아무것도 설치하지 않고, AI 구독도 필요 없습니다. 6장에서 배포하려면 휴대폰 본인인증을 마친 만 14세 이상 회원이어야 합니다.
바이브 코딩은 AI 크레딧을 씁니다. 무료 회원은 한 달에 3,000크레딧을 받고, 매달 1일에 다시 채워집니다. 기본 모델로 요청 한 번에 대략 30~100크레딧이 들어서 한 달에 수십 번 쓸 수 있습니다. 저희가 신청 페이지를 만들고, 내 서버로 옮기고, 시험 화면을 만들고, 주최자 화면을 만드는 네 번의 요청에 약 180크레딧이 들었습니다. 이 책에서 꼭 보내는 요청은 여섯 번입니다. 나머지 요청은 결과가 다르거나 더 알고 싶을 때 골라 보냅니다.
입력 칸 오른쪽 아래에서 '기본 모델'과 '고급 모델'을 고릅니다. 고급 모델은 같은 처리량에 크레딧을 기본 모델의 약 20배 쓰고, 무료 회원은 쓸 수 없습니다. 저희 계정은 직원 계정이라 고급 모델이 열려 있었고, 처음에 입력 칸이 고급 모델로 켜져 있는 줄 모르고 시작했다가 요청 네 번에 3,000크레딧 중 약 2,500크레딧을 썼습니다. 그래서 이 책의 실습은 모두 기본 모델로 다시 했습니다. 고급 모델로 만든 판은 2·3·5장에서 비교할 때만 씁니다.
무료 회원은 바이브 코딩 프로젝트를 3개까지 둘 수 있습니다. 이 책은 프로젝트 하나로 끝까지 갑니다.
4. 장 흐름
| 장 | 하는 것 | 붙잡는 질문 |
|---|---|---|
| 2장 말 한 줄로 만든 신청 페이지 | 신청 페이지를 만들고, 명단이 있는 곳을 열어 보고, 11명이 들어가는 장면을 본다 | 데이터는 어디에 남나, 규칙은 어디서 지키나 |
| 3장 내 서버를 둔다 | 신청을 내 서버로 옮기고, 30명 동시 신청을 시험 화면으로 확인한다 | 규칙은 어디서 지키나 |
| 4장 데이터는 어디에 남는가 | 서버를 껐다 켜고, 다시 배포해도 명단이 남는지 본다 | 데이터는 어디에 남나 |
| 5장 누가 무엇을 할 수 있는가 | 주최자만 지우고 마감하게 하고, 주최자 키를 코드 밖에 둔다 | 누가 무엇을 할 수 있나, 비밀값은 어디에 두나 |
| 6장 세상에 내놓기 | 내 주소로 배포하고, 올린 뒤에 생기는 일을 다룬다 | 네 질문을 실제 주소에서 |
| 7장 맺으며 | 이 책에서 쓴 요청 문장과 네 질문을 모은다 | 다른 서비스에도 같은 질문을 |
5. 예전 판과 달라진 것
이 책의 9월 판은 터미널을 열고 FastAPI 코드 몇 줄을 직접 쳐서 첫 서버를 켜는 데서 시작했습니다. 주소 하나에 함수 하나를 손으로 붙이고, 꾸미는 일은 AI 채팅에 코드를 붙여 넣어 물었습니다. 데이터베이스와 로그인, 배포는 다루지 않고 "서버를 끄면 글이 사라진다"를 확인하는 데서 멈췄습니다.
두 달 사이에 그 순서가 맞지 않게 되었습니다. 한 문장이면 23초 만에 여럿이 함께 보는 명단이 나오고, 옮겨 달라는 말 한 번이면 29초 만에 내 서버가 나옵니다. 서버를 손으로 치던 단계가 사라졌습니다. 이번 판은 그 자리에 시험과 판단을 넣었습니다. 코드로 서버를 배우고 싶다면 『FastAPI 베이스캠프』가 그 책입니다.
마지막 수정