유튜브 교육자료2026-07-28

[비개발자 사고법 10강] 배포는 '개업'입니다 — 친구한테 링크 보냈는데 안 보인다는 진짜 이유·빌드·도메인·클라우드 한 방 정리

친구한테 링크 보냈더니 "안 보인다는데?" — 다 만들었는데 세상엔 아직 안 열린 진짜 이유

프론트엔드도 예쁘게 만들었고, 파이어베이스에 데이터베이스까지 붙였습니다. 신나서 친구한테 링크를 보냈더니 돌아온 답은 — "야, 페이지가 안 보인다는데?" 주소창을 보니 localhost:3000. 잘못 만들어서가 아닙니다. 미슐랭 3스타급 케이크도 집에서만 먹으면 세상은 모르니까요. 딱 한 문장만 기억하세요 — "집에서 케이크 만드는 게 개발, 포장해서 가게에 내다 파는 게 배포(개업)다." 이 한 문장으로 빌드·도메인(간판)·DNS·클라우드까지 오늘 끝냅니다.

▶ 먼저 영상을 보고 오시면 아래 글이 복습이자 심화가 됩니다.

나는 잘 보이는데 왜 남한테는 안 보일까 — localhost의 정체

여기까지 오신 분들은 이미 많은 걸 하셨습니다. 화면(프론트엔드)도 만들고, 주방(백엔드)과 창고(데이터베이스)도 붙이고, 자물쇠(인증)로 잠그기까지 했죠. 새로고침해도 데이터가 남아 있는 걸 보면 "다 끝났다" 싶습니다. 그런데 이건 전부 여러분 컴퓨터 안에서만 돌아가고 있는 겁니다.

증거는 주소창에 있어요. 개발 중인 화면 주소를 보면 localhost, 뒤에 3000 같은 숫자가 붙어 있습니다. 이 주소는 "이 컴퓨터"라는 뜻이에요. 그러니 카톡으로 보내 봐야 친구 폰에는 그 가게가 존재하지 않습니다. 못 만들어서가 아니라 아직 세상에 문을 안 열어서예요.

김지백 강사에 따르면, 강사 본인도 이 개념을 몰라 한참 헤맸다고 합니다. 자랑하고 싶어 지인들에게 로컬 주소를 보냈더니 하나같이 "야, 페이지가 안 뜬다는데"라는 답만 왔고, "주소가 로컬호스트인데 이건 뭐야?"라고 물어도 "3,000? 3,000원짜린가?" 정도의 생각밖에 못 했다는 거죠.

🍰 미슐랭 케이크도 집에서만 먹으면 세상은 모른다 — 배포는 '펼치다'

케이크를 기막히게 만드는 아이가 있습니다. 엄마가 "밀가루 그만 써라"고 말려도 계속 만들어요. 한 입 먹어 보니 미슐랭 3스타를 줘도 될 맛입니다. 그런데 집에서 가족끼리만 먹으면? 미슐랭이 그 맛을 어떻게 압니까. 지금 여러분 프로젝트가 딱 그 상태예요.

그래서 필요한 게 배포, 영어로 디플로이(deploy)입니다. de는 '반대', ploy는 폴더(folder)처럼 '접다'라는 뜻이에요. 접다의 반대는 펼치다죠. 배포는 내 컴퓨터 안에 접혀 있던 걸 세상 앞에 펼치는 일입니다. 나 혼자 쓸 거면 안 해도 되지만, 알리려면 반드시 해야 합니다.

케이크 가게웹 / 앱결과
집 주방에서 만들고 맛보기내 컴퓨터에서 개발 (localhost)나만 먹을 수 있음
내놓기 전 포장하기빌드(build)내보낼 형태로 정리됨
가게 문 열고 판매배포(deploy)세상 누구나 사 먹음

📦 가게에 내놓기 전엔 반드시 '포장' — 빌드(build)

만들자마자 바로 배포가 될까요? 안 됩니다. 집에서 먹을 땐 그릇에 올려 나눠 먹으면 되지만, 가게에 가져가 팔려면 포장을 해야 하잖아요. 포장한 케이크를 가게 냉장고에 넣어야 손님에게 내놓죠.

개발에서 이 '포장'을 빌드(build)라고 부릅니다. '빌드업'이라고 할 때 그 빌드예요. 그래서 dev(개발) → build(포장) → deploy(배포)라는 세 단어를 어디선가 본 기억이 있으실 겁니다. 이 세 단어가 곧 케이크 가게 이야기 전부입니다.

내 컴퓨터에서만 쓸 거면 빌드가 필요할까요? 집에서 먹을 케이크를 포장하지 않듯이 필요 없습니다. 개발 모드로 띄워 데이터베이스와 API 키 붙여서 쓰면 돼요. 빌드는 밖으로 내보낼 때 하는 겁니다.

🗣️ npm run dev는 영어 문법으로 읽으면 안 무섭다

바이브 코딩을 하다 보면 npm run dev 같은 문장을 보게 됩니다. 암호 같지만 사실 호격 + 동사 + 목적어로 된 평범한 문장이에요.

조각정체번역
npmNode Package Manager = 매니저"매니저야!" (호격)
run동사"실행해!"
dev목적어 — 개발자 모드"개발자 모드를!"
build목적어 — 포장"이 코드 포장해!"
&&접속사"그리고"

그러니까 npm run dev"매니저야, 실행해, 개발자 모드를!"입니다. AI가 고쳐 준 코드를 내 화면에서 맛보는 동작이죠. 밖으로 내보낼 때는 npm run build && firebase deploy"포장하고, 그리고 파이어베이스에 펼쳐!"가 됩니다. 깃허브(GitHub Pages)로도 배포할 수 있어요 — 명령어는 다르지만 '포장하고 → 내보낸다'는 흐름은 똑같습니다.

이걸 다 외워야 하나요? 몰라도 됩니다. AI에게는 "로컬에서 브라우저 띄워 줘"(= npm run dev), "파이어베이스에 배포해 줘"라고만 해도 알아들어요. 중요한 건 암기가 아니라 지금 내가 집에 있는지 가게에 있는지 아는 것입니다.

🪧 간판을 달아야 손님이 온다 — 공짜 간판 vs 유료 간판

배포했다고 끝이 아닙니다. 다음은 도메인, 한마디로 간판이에요. 아무리 맛있어도, 작은 동네 장사라 해도 사람들이 찾아오려면 간판을 붙여야 하죠. www.aiacademykim.co.kr — 이게 간판입니다.

간판에는 두 종류가 있어요. 차를 새로 뽑으면 임시번호판을 달고 왔다가 기간 안에 정식 번호판으로 바꾸죠. 도메인도 똑같습니다.

공짜 간판 (임시번호판)유료 간판 (정식번호판)
모양web.app(파이어베이스), github.io(깃허브)co.kr, .com + 내 가게 이름
얻는 법배포하면 자동으로 주소가 나옴가비아 같은 곳에서 구매
쓰는 때나만·팀원끼리·가족끼리·임시공개 사업, 고객에게 공식 페이지로

기준은 간단합니다. 공짜라도 상관없을 때는 공짜를 쓰세요. 하지만 회사 홈페이지를 고객이 들어와 볼 거라면 web.app 주소는 조금 없어 보이죠. 우리 눈에는 co.kr이 '진짜 회사'로 인식돼 있으니까요. 짧고 좋은 이름은 비싸거나 이미 선점된 경우가 많습니다.

🔗 간판과 번지수를 잇는 작업 — DNS와 커스텀 도메인 연결

컴퓨터들은 예쁜 이름을 쓰지 않습니다. 192.0.2.1 같은 숫자 번지수로 서로를 찾아요. 손님한테 저걸 외우라고 할 순 없죠. 그래서 사람은 외우기 쉬운 간판(도메인)을 쓰고, 컴퓨터는 숫자를 씁니다.

여기서 나오는 단어가 DNS예요. 쉽게 말하면 간판 이름을 숫자 번지수로 바꿔 주는 인터넷 전화번호부입니다. 새 간판을 등록하면 그 정보가 전 세계 전화번호부에 퍼지는 데 시간이 걸리는데, 이걸 'DNS 전파'라고 해요. 가비아에서 산 간판을 배포된 내 가게에 잇는 것이 파이어베이스 콘솔의 '커스텀 도메인 연결'이고요. 연결 직후 잠깐 안 열려도 고장이 아니라 간판 소문이 아직 다 퍼지지 않은 것뿐입니다.

김지백 강사에 따르면, 예전엔 가비아 화면을 스크린샷 떠서 "TXT 값을 어디 넣지?"라고 물어봐야 했지만 지금은 그럴 필요가 없습니다. 클로드 코드에게 "플레이라이트 켜서, 이 도메인 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를 부리고, 모르면 끌려다니게 돼요.

📝 5분 체크포인트

오늘 핵심 3가지를 점검합니다. 답을 고르고 [정답 확인]을 누르면 즉시 채점됩니다.

Q1. 데이터베이스까지 붙였는데 친구에게 주소를 보내면 "페이지가 안 보인다"고 합니다. 가장 정확한 이유는?

정답: B — localhost는 "이 컴퓨터"라는 뜻입니다. 내 집 연습 주방 주소라 남의 기기엔 그 가게가 없어요. 못 만들어서가 아니라 아직 배포(개업)를 안 한 겁니다.

Q2. 배포(deploy)의 뜻과 진행 순서를 바르게 설명한 것은?

정답: D — 접다(ploy)의 반대(de)가 '펼치다'입니다. npm run build && firebase deploy가 곧 "포장하고, 그리고 파이어베이스에 펼쳐"라는 뜻이에요.

Q3. 고객이 들어와 볼 회사 공식 홈페이지라면 간판(도메인)을 어떻게 다는 게 좋을까요?

정답: A — 배포하면 자동으로 나오는 web.app·github.io는 임시번호판 같은 공짜 간판입니다. 나만·팀원끼리 볼 땐 충분하지만, 공개적으로 사업을 한다면 정식 도메인을 커스텀 도메인으로 연결하는 편이 좋습니다.

🎯 배포·도메인·클라우드 이해 점수

해당되는 항목을 모두 클릭해 체크하세요. 마지막에 [내 점수 보기]를 누르면 등급이 나옵니다.

  • 주소창의 localhost가 "아직 내 컴퓨터 안"이라는 뜻임을 안다
  • 친구에게 안 열린 이유가 '배포를 안 해서'임을 설명할 수 있다
  • 배포(deploy)가 '펼치다'이고 개업과 같다는 걸 안다
  • 개발(dev) → 빌드(포장) → 배포 순서를 말할 수 있다
  • npm run dev를 "매니저야, 실행해, 개발자 모드!"로 읽을 수 있다
  • 공짜 간판(web.app)과 유료 간판(co.kr)의 선택 기준을 안다
  • DNS가 간판과 번지수를 잇는 작업이며 퍼지는 데 시간이 걸림을 안다
  • "파이어베이스에 배포하고 도메인 연결해 줘"처럼 콕 집어 시킬 수 있다
오늘 단 하나만 기억하세요 — "배포는 개업이다."
연습 주방 = localhost · 포장 = 빌드 · 문 열기 = 배포(deploy) · 24시간 자리 = 호스팅·서버 · 외우기 쉬운 이름 = 도메인(간판) · 간판과 번지수를 잇는 전파 = DNS · 빌려 쓰는 = 클라우드(임대 빌딩). 이 그림 한 장이면 친구가 "안 보인다는데?" 할 때 당황하는 대신 "파이어베이스 클라우드에 배포하고 도메인 연결해 줘"라고 콕 집어 시킬 수 있습니다.
📩 이 시리즈를 놓치지 마세요
「비개발자 사고법」 식당 세계관 시리즈는 한 편이라도 놓치면 비유가 끊깁니다. 유튜브 채널 구독으로 새 영상을 가장 먼저 받아보시고, AI아카데미 자료실에서 다른 무료 자료도 함께 보세요.
🚀 한 걸음 더 — 내 프로젝트를 진짜로 세상에 열고 싶다면
첫 배포와 도메인 연결은 한 번만 같이 해 보면 그다음부터는 혼자 됩니다. 온라인 강의로 익히거나, 1:1 컨설팅·강의 문의로 우리 회사 프로젝트에 맞춘 적용을 받아보세요. 외부강사 김지백이 직접 안내합니다.
다음 편 예고 — 화면도 만들고, 주방도 만들고, 자물쇠까지 채우고, 드디어 가게 문까지 열었습니다. 남은 건 하나 — 배운 조각들을 하나로 합쳐 '식당 한 채'를 차리는 것이죠. 마지막 11강은 「웹개발 전체가 '식당 한 채'다 — 풀스택 편」입니다. 구독·알림을 켜두면 새 글과 영상을 가장 먼저 받아보실 수 있습니다.
#비개발자 사고법#배포#deploy#빌드#도메인#DNS#클라우드#호스팅#localhost#Firebase#가비아#바이브 코딩

자주 묻는 질문

Q. 친구에게 사이트 주소를 보냈는데 왜 "페이지가 안 보인다"고 하나요?
그 주소가 아직 내 컴퓨터 안에서만 통하는 주소이기 때문입니다. 개발 중 주소창에 뜨는 localhost(뒤에 3000 같은 숫자가 붙는)는 '이 컴퓨터'라는 뜻이라, 친구 기기에는 그 가게가 아예 존재하지 않아요. 못 만들어서가 아니라 아직 세상에 문을 안 연 것뿐입니다. 미슐랭 3스타급 케이크도 집에서 가족끼리만 먹으면 세상은 모르는 것과 같아요. AI에게 '이거 아직 로컬이지? 배포해서 누구나 들어올 수 있는 주소를 만들어 줘'라고 시키면 됩니다.
Q. 배포(deploy)가 정확히 무슨 뜻인가요?
내 컴퓨터 안에 접혀 있던 걸 세상 사람들 앞에 '펼치는' 일입니다. 영어 deploy를 뜯어보면 de는 '반대', ploy는 폴더처럼 '접다'라는 뜻이라, 접다의 반대인 '펼치다'가 되죠. 가게로 치면 개업입니다. 집에서 케이크를 만들어 가족끼리 먹는 것이 개발이라면, 포장해서 가게에 내다 파는 것이 배포예요. 나 혼자 쓸 거면 배포까지 안 해도 되지만, 많은 사람에게 알리려면 반드시 배포를 해야 합니다.
Q. 빌드(build)는 왜 하는 건가요? 꼭 해야 하나요?
가게에 내놓기 전에 '포장'하는 단계라서 밖으로 내보낼 때만 필요합니다. 집에서 먹을 케이크는 그냥 그릇에 올려 나눠 먹으면 되지만, 가게에 가져가 팔려면 포장을 해야 하죠. 그래서 순서가 개발(dev) → 빌드(build, 포장) → 배포(deploy)가 됩니다. 반대로 내 컴퓨터에서만 쓸 거라면 빌드는 필요 없어요. 개발 모드로 띄워서 데이터베이스와 API 키를 붙여 쓰면 됩니다.
Q. npm run dev, npm run build && firebase deploy는 무슨 뜻인가요? 외워야 하나요?
호격(부르는 말) + 동사 + 목적어로 된 평범한 문장이라 외우지 않아도 됩니다. npm은 Node Package Manager, 즉 '매니저야!'라고 부르는 말이고, run은 '실행해!', dev는 '개발자 모드를!'입니다. 그래서 npm run dev는 "매니저야, 실행해, 개발자 모드를!"이에요. npm run build && firebase deploy는 "매니저야, 실행해. 일단 포장(빌드)하고, 그리고(&&) 파이어베이스에 펼쳐(배포)!"라는 뜻이고요. 클로드 코드 같은 AI에게는 '로컬에서 브라우저 띄워 줘', '파이어베이스에 배포해 줘'라고만 해도 알아듣습니다.
Q. 도메인은 무료로 써도 되나요? co.kr 같은 유료 도메인은 언제 사야 하나요?
공짜라도 상관없는 상황이면 무료로 충분합니다. 도메인은 가게 간판이고, 간판에는 두 종류가 있어요. 파이어베이스에 배포하면 자동으로 나오는 web.app이나 깃허브의 github.io는 차의 임시번호판 같은 공짜 간판이라, 나만 볼 때·팀원끼리·가족끼리·임시로 쓸 때 좋습니다. 반면 공개적으로 사업을 하거나 고객에게 회사 공식 페이지로 보여야 할 때는 가비아 같은 곳에서 co.kr·com 같은 정식 도메인을 사서 다는 편이 좋아요. 참고로 짧고 좋은 이름은 비싸거나 이미 선점된 경우가 많습니다.
Q. 클라우드는 왜 쓰나요? 내 컴퓨터로 서버를 돌리면 안 되나요?
내 컴퓨터를 서버로 쓰면 컴퓨터를 끄는 순간 손님이 못 들어오기 때문입니다. 사용자가 10명일 때는 괜찮지만 20~30명이 몰리면 내 컴퓨터의 한계를 넘어 서버가 터질 수도 있어요. 그래서 공개적인 비즈니스 웹은 클라우드를 씁니다. 클라우드는 빌딩에 사무실을 임대해 쓰는 것과 같아요. 집에 사무실이 있으면 집 불이 꺼질 때 아무것도 못 하지만, 임대 빌딩은 경비가 지켜 주고 전기와 물이 나오고 24시간 돌아가죠. 파이어베이스나 깃허브가 우리가 세 들어가는 빌딩이고, 구글·아마존·마이크로소프트 같은 회사가 이런 거대한 임대 빌딩을 굴리는 주인입니다. 여기에 고친 걸 자동으로 반영해 주는 컨베이어 벨트가 CI/CD고요.
AI DIAGNOSIS · 약 4분
이 글, 읽기만 하고 끝내긴 아깝죠
약 4분 진단으로 내 AI 활용 점수와, 오늘부터 30일 액션 플랜을 받아보세요.
무료 진단 시작
NEWSLETTER · 무료

주간 AI 실무 레터

이 글이 도움이 됐다면, 매주 현장에서 검증한 AI 활용법·새 자료를 이메일로 받아보세요. 광고 없이, 바로 쓰는 것만.

어떤 목적으로 오셨나요? (선택)
이 주제로 강의 문의

우리 조직에 맞는 AI 교육을
설계해드립니다.

위 자료의 내용을 기반으로 맞춤형 강의 커리큘럼을 구성해드립니다. 기업·공공기관·임원 대상 프로그램 모두 가능합니다.

강의 소개 보기강의 문의하기

조회수·다운로드 카운트 등 인터랙티브 기능은 자료실 인터랙티브 페이지에서 이용하실 수 있습니다.