[비개발자 사고법 10강] 배포는 '개업'입니다 — 친구한테 링크 보냈는데 안 보인다는 진짜 이유·빌드·도메인·클라우드 한 방 정리
친구한테 링크 보냈더니 "안 보인다는데?" — 다 만들었는데 세상엔 아직 안 열린 진짜 이유
프론트엔드도 예쁘게 만들었고, 파이어베이스에 데이터베이스까지 붙였습니다. 신나서 친구한테 링크를 보냈더니 돌아온 답은 — "야, 페이지가 안 보인다는데?" 주소창을 보니 localhost:3000. 잘못 만들어서가 아닙니다. 미슐랭 3스타급 케이크도 집에서만 먹으면 세상은 모르니까요. 딱 한 문장만 기억하세요 — "집에서 케이크 만드는 게 개발, 포장해서 가게에 내다 파는 게 배포(개업)다." 이 한 문장으로 빌드·도메인(간판)·DNS·클라우드까지 오늘 끝냅니다.
▶ 먼저 영상을 보고 오시면 아래 글이 복습이자 심화가 됩니다.
나는 잘 보이는데 왜 남한테는 안 보일까 — localhost의 정체
여기까지 오신 분들은 이미 많은 걸 하셨습니다. 화면(프론트엔드)도 만들고, 주방(백엔드)과 창고(데이터베이스)도 붙이고, 자물쇠(인증)로 잠그기까지 했죠. 새로고침해도 데이터가 남아 있는 걸 보면 "다 끝났다" 싶습니다. 그런데 이건 전부 여러분 컴퓨터 안에서만 돌아가고 있는 겁니다.
증거는 주소창에 있어요. 개발 중인 화면 주소를 보면 localhost, 뒤에 3000 같은 숫자가 붙어 있습니다. 이 주소는 "이 컴퓨터"라는 뜻이에요. 그러니 카톡으로 보내 봐야 친구 폰에는 그 가게가 존재하지 않습니다. 못 만들어서가 아니라 아직 세상에 문을 안 열어서예요.
🍰 미슐랭 케이크도 집에서만 먹으면 세상은 모른다 — 배포는 '펼치다'
케이크를 기막히게 만드는 아이가 있습니다. 엄마가 "밀가루 그만 써라"고 말려도 계속 만들어요. 한 입 먹어 보니 미슐랭 3스타를 줘도 될 맛입니다. 그런데 집에서 가족끼리만 먹으면? 미슐랭이 그 맛을 어떻게 압니까. 지금 여러분 프로젝트가 딱 그 상태예요.
그래서 필요한 게 배포, 영어로 디플로이(deploy)입니다. de는 '반대', ploy는 폴더(folder)처럼 '접다'라는 뜻이에요. 접다의 반대는 펼치다죠. 배포는 내 컴퓨터 안에 접혀 있던 걸 세상 앞에 펼치는 일입니다. 나 혼자 쓸 거면 안 해도 되지만, 알리려면 반드시 해야 합니다.
| 케이크 가게 | 웹 / 앱 | 결과 |
|---|---|---|
| 집 주방에서 만들고 맛보기 | 내 컴퓨터에서 개발 (localhost) | 나만 먹을 수 있음 |
| 내놓기 전 포장하기 | 빌드(build) | 내보낼 형태로 정리됨 |
| 가게 문 열고 판매 | 배포(deploy) | 세상 누구나 사 먹음 |
📦 가게에 내놓기 전엔 반드시 '포장' — 빌드(build)
만들자마자 바로 배포가 될까요? 안 됩니다. 집에서 먹을 땐 그릇에 올려 나눠 먹으면 되지만, 가게에 가져가 팔려면 포장을 해야 하잖아요. 포장한 케이크를 가게 냉장고에 넣어야 손님에게 내놓죠.
개발에서 이 '포장'을 빌드(build)라고 부릅니다. '빌드업'이라고 할 때 그 빌드예요. 그래서 dev(개발) → build(포장) → deploy(배포)라는 세 단어를 어디선가 본 기억이 있으실 겁니다. 이 세 단어가 곧 케이크 가게 이야기 전부입니다.
🗣️ npm run dev는 영어 문법으로 읽으면 안 무섭다
바이브 코딩을 하다 보면 npm run dev 같은 문장을 보게 됩니다. 암호 같지만 사실 호격 + 동사 + 목적어로 된 평범한 문장이에요.
| 조각 | 정체 | 번역 |
|---|---|---|
| npm | Node Package Manager = 매니저 | "매니저야!" (호격) |
| run | 동사 | "실행해!" |
| dev | 목적어 — 개발자 모드 | "개발자 모드를!" |
| build | 목적어 — 포장 | "이 코드 포장해!" |
| && | 접속사 | "그리고" |
그러니까 npm run dev는 "매니저야, 실행해, 개발자 모드를!"입니다. AI가 고쳐 준 코드를 내 화면에서 맛보는 동작이죠. 밖으로 내보낼 때는 npm run build && firebase deploy — "포장하고, 그리고 파이어베이스에 펼쳐!"가 됩니다. 깃허브(GitHub Pages)로도 배포할 수 있어요 — 명령어는 다르지만 '포장하고 → 내보낸다'는 흐름은 똑같습니다.
🪧 간판을 달아야 손님이 온다 — 공짜 간판 vs 유료 간판
배포했다고 끝이 아닙니다. 다음은 도메인, 한마디로 간판이에요. 아무리 맛있어도, 작은 동네 장사라 해도 사람들이 찾아오려면 간판을 붙여야 하죠. www.aiacademykim.co.kr — 이게 간판입니다.
간판에는 두 종류가 있어요. 차를 새로 뽑으면 임시번호판을 달고 왔다가 기간 안에 정식 번호판으로 바꾸죠. 도메인도 똑같습니다.
| 공짜 간판 (임시번호판) | 유료 간판 (정식번호판) | |
|---|---|---|
| 모양 | web.app(파이어베이스), github.io(깃허브) | co.kr, .com + 내 가게 이름 |
| 얻는 법 | 배포하면 자동으로 주소가 나옴 | 가비아 같은 곳에서 구매 |
| 쓰는 때 | 나만·팀원끼리·가족끼리·임시 | 공개 사업, 고객에게 공식 페이지로 |
기준은 간단합니다. 공짜라도 상관없을 때는 공짜를 쓰세요. 하지만 회사 홈페이지를 고객이 들어와 볼 거라면 web.app 주소는 조금 없어 보이죠. 우리 눈에는 co.kr이 '진짜 회사'로 인식돼 있으니까요. 짧고 좋은 이름은 비싸거나 이미 선점된 경우가 많습니다.
🔗 간판과 번지수를 잇는 작업 — DNS와 커스텀 도메인 연결
컴퓨터들은 예쁜 이름을 쓰지 않습니다. 192.0.2.1 같은 숫자 번지수로 서로를 찾아요. 손님한테 저걸 외우라고 할 순 없죠. 그래서 사람은 외우기 쉬운 간판(도메인)을 쓰고, 컴퓨터는 숫자를 씁니다.
여기서 나오는 단어가 DNS예요. 쉽게 말하면 간판 이름을 숫자 번지수로 바꿔 주는 인터넷 전화번호부입니다. 새 간판을 등록하면 그 정보가 전 세계 전화번호부에 퍼지는 데 시간이 걸리는데, 이걸 'DNS 전파'라고 해요. 가비아에서 산 간판을 배포된 내 가게에 잇는 것이 파이어베이스 콘솔의 '커스텀 도메인 연결'이고요. 연결 직후 잠깐 안 열려도 고장이 아니라 간판 소문이 아직 다 퍼지지 않은 것뿐입니다.
🏢 왜 내 PC가 아니라 클라우드인가 — 임대 빌딩 이야기
마지막 조각입니다. 가게 자리를 내 컴퓨터에 차리면? 내가 컴퓨터를 끄는 순간 손님은 못 들어옵니다. 사용자가 10명일 땐 괜찮지만 20명, 30명이 몰리면 서버가 터질 수도 있고요.
그래서 쓰는 것이 클라우드, 즉 빌딩에 사무실을 임대해 쓰는 것입니다. 사무실이 집에 있으면 불이 꺼질 때 아무것도 못 하지만, 임대 빌딩은 경비 아저씨가 지켜 주고 24시간 돌아가죠. 파이어베이스·깃허브가 우리가 세 들어가는 빌딩이고, 이런 거대한 임대 빌딩을 굴리는 회사가 구글·아마존·마이크로소프트 같은 곳입니다. 이렇게 24시간 켜진 남의 컴퓨터 자리를 빌리는 게 호스팅, 그 자리에서 손님을 맞는 컴퓨터가 서버고요.
| 상황 | 내 PC에 가게 차리기 | 클라우드(임대 빌딩)에 세 들기 |
|---|---|---|
| 밤에 컴퓨터를 끄면 | 사이트도 꺼짐 — 손님 못 들어옴 | 24시간 불이 켜져 계속 영업 |
| 손님이 몰리면 | 한계를 넘으면 터질 수 있음 | 필요한 만큼 자리를 늘렸다 줄였다 |
| 관리·비용 | 비싼 장비를 미리 사서 직접 관리 | 경비·전기를 빌딩이 챙기고, 쓴 만큼만 |
하나 더. 개업하고도 메뉴는 계속 바뀌죠. 그때마다 손으로 바꾸면 번거로우니 CI/CD를 씁니다. 어렵게 들리지만 '자동 반영 컨베이어 벨트'예요. 코드를 고쳐 올리면 알아서 가게에 반영해 줍니다.
한눈에 보는 배포 7단어 정리
| 용어 | 가게 비유 | 하는 일 |
|---|---|---|
| localhost | 내 집 연습 주방 | 내 컴퓨터에서만 열리는 주소 — 남에겐 안 보임 |
| 배포 (deploy) | 문 여는 개업 | 접혀 있던 걸 세상에 펼침 (de=반대 + ploy=접다) |
| 빌드 (build) | 내놓기 전 포장 | 내보낼 형태로 정리 — 나만 쓸 땐 불필요 |
| 호스팅 · 서버 | 24시간 켜진 자리와 일꾼 | 사이트를 올려 두고 손님을 받는 자리 |
| 도메인 | 가게 간판 | 숫자 번지수 대신 외우기 쉬운 이름 (web.app / co.kr) |
| DNS | 간판·번지수 전화번호부 | 간판과 번지수를 이어 줌 — 퍼지는 데 시간 걸림 |
| 클라우드 | 임대 빌딩 | 안 짓고 한 칸만 빌림 — 24시간·자동 확장 (+CI/CD) |
사장님처럼 AI에게 시키는 법 — "인터넷에 올려줘" 대신
배포를 모르면 이렇게 시킵니다 — "이거 좀 인터넷에 올려줘." 그러면 AI는 어디에 올릴지 되묻거나, 아예 제 마음대로 골라 엉뚱한 곳에 올려 버립니다. AI가 못해서가 아니라 정해 줄 단어를 내가 안 줬기 때문이에요.
✅ "내 컴퓨터에서만 도는 이 사이트를 파이어베이스 클라우드에 배포해 주고, 내 비즈니스 성격에 맞는 영어 네이밍으로 도메인을 만들어 줘. 끝나면 누구라도 들어올 수 있는 주소를 알려줘."
여기에 한 줄만 더 — "안 열리면 도메인 연결(DNS)이 다 됐는지부터 확인해 줘."
| 이런 상황이면… | 이렇게 콕 집어 시키세요 |
|---|---|
| 친구가 "안 보인다"고 한다 | "이거 아직 로컬이지? 배포해서 누구나 들어올 주소를 만들어 줘" |
| 고친 걸 확인하고 싶다 | "로컬에서 브라우저 띄워 줘" (= npm run dev) |
| 세상에 공개할 준비가 됐다 | "빌드하고 파이어베이스에 배포해 줘" |
| 배포했는데 주소가 안 열린다 | "가비아에서 산 co.kr이 커스텀 도메인으로 연결됐는지, DNS가 전파 중인지 확인해 줘" |
정리하면 이렇습니다. 코드는 직원인 AI가 짭니다. 하지만 어디에, 어떤 이름으로 문을 열지는 사장인 내가 정합니다. 단어를 알면 AI를 부리고, 모르면 끌려다니게 돼요.
오늘 핵심 3가지를 점검합니다. 답을 고르고 [정답 확인]을 누르면 즉시 채점됩니다.
Q1. 데이터베이스까지 붙였는데 친구에게 주소를 보내면 "페이지가 안 보인다"고 합니다. 가장 정확한 이유는?
Q2. 배포(deploy)의 뜻과 진행 순서를 바르게 설명한 것은?
Q3. 고객이 들어와 볼 회사 공식 홈페이지라면 간판(도메인)을 어떻게 다는 게 좋을까요?
🎯 배포·도메인·클라우드 이해 점수
해당되는 항목을 모두 클릭해 체크하세요. 마지막에 [내 점수 보기]를 누르면 등급이 나옵니다.
- 주소창의 localhost가 "아직 내 컴퓨터 안"이라는 뜻임을 안다
- 친구에게 안 열린 이유가 '배포를 안 해서'임을 설명할 수 있다
- 배포(deploy)가 '펼치다'이고 개업과 같다는 걸 안다
- 개발(dev) → 빌드(포장) → 배포 순서를 말할 수 있다
- npm run dev를 "매니저야, 실행해, 개발자 모드!"로 읽을 수 있다
- 공짜 간판(web.app)과 유료 간판(co.kr)의 선택 기준을 안다
- DNS가 간판과 번지수를 잇는 작업이며 퍼지는 데 시간이 걸림을 안다
- "파이어베이스에 배포하고 도메인 연결해 줘"처럼 콕 집어 시킬 수 있다
연습 주방 = localhost · 포장 = 빌드 · 문 열기 = 배포(deploy) · 24시간 자리 = 호스팅·서버 · 외우기 쉬운 이름 = 도메인(간판) · 간판과 번지수를 잇는 전파 = DNS · 빌려 쓰는 = 클라우드(임대 빌딩). 이 그림 한 장이면 친구가 "안 보인다는데?" 할 때 당황하는 대신 "파이어베이스 클라우드에 배포하고 도메인 연결해 줘"라고 콕 집어 시킬 수 있습니다.
「비개발자 사고법」 식당 세계관 시리즈는 한 편이라도 놓치면 비유가 끊깁니다. 유튜브 채널 구독으로 새 영상을 가장 먼저 받아보시고, AI아카데미 자료실에서 다른 무료 자료도 함께 보세요.
첫 배포와 도메인 연결은 한 번만 같이 해 보면 그다음부터는 혼자 됩니다. 온라인 강의로 익히거나, 1:1 컨설팅·강의 문의로 우리 회사 프로젝트에 맞춘 적용을 받아보세요. 외부강사 김지백이 직접 안내합니다.
자주 묻는 질문
주간 AI 실무 레터
이 글이 도움이 됐다면, 매주 현장에서 검증한 AI 활용법·새 자료를 이메일로 받아보세요. 광고 없이, 바로 쓰는 것만.
우리 조직에 맞는 AI 교육을
설계해드립니다.
위 자료의 내용을 기반으로 맞춤형 강의 커리큘럼을 구성해드립니다. 기업·공공기관·임원 대상 프로그램 모두 가능합니다.
조회수·다운로드 카운트 등 인터랙티브 기능은 자료실 인터랙티브 페이지에서 이용하실 수 있습니다.