Windows PC · 2026 Edition

AI 코딩
완전 가이드

Gemini CLI, Antigravity, Google AI Studio, Stitch부터 클라우드 배포까지 —
윈도우 PC에서 AI로 서비스를 만드는 전체 과정을 단계별로 상세히 안내합니다.

Chapter 01

핵심 기술 스택 이해하기

AI 코딩 도구를 다루기 전에, 현대 웹 서비스가 어떻게 구성되는지 기본 구조를 이해해야 합니다. 웹 서비스는 크게 프론트엔드(사용자가 보는 화면)와 백엔드(보이지 않는 곳에서 데이터를 처리하는 서버)로 나뉩니다.

🏗️ 프론트엔드와 백엔드란?

🍽️ 레스토랑 비유로 이해하는 웹 아키텍처

프론트엔드 = 레스토랑 홀 — 손님(사용자)이 직접 보고 상호작용하는 공간입니다. 메뉴판(UI), 인테리어(디자인), 웨이터와의 대화(인터랙션)가 여기에 해당합니다. HTML로 구조를, CSS로 디자인을, JavaScript/React로 동적 동작을 만듭니다.

백엔드 = 주방 — 손님 눈에는 보이지 않지만, 주문을 받아서 요리(데이터 처리)를 하고, 재료 창고(DB)에서 재료를 꺼내 음식을 만들어 내보냅니다. FastAPI나 Node.js가 셰프 역할을 합니다.

데이터베이스 = 재료 창고 — 모든 데이터(회원 정보, 상품, 주문 등)를 체계적으로 저장하고 필요할 때 꺼냅니다.

API = 주문서 — 프론트와 백엔드가 소통하는 약속된 형식입니다. "메뉴 1번 주세요" → "음식 나왔습니다" 같은 요청-응답 패턴입니다.

웹 서비스 아키텍처

React / TypeScript
HTML / CSS
Next.js
▲ 프론트엔드 — 사용자 브라우저에서 실행
⬍ API 통신 (HTTP/JSON)
▼ 백엔드 — 서버에서 실행
FastAPI (Python)
Node.js / Express
SQLite
PostgreSQL

⚛️ 주요 기술 스택 상세 소개

📦

npm (Node Package Manager)

JavaScript 생태계의 패키지 관리자입니다. 다른 개발자가 만든 라이브러리를 npm install 패키지명 한 줄로 설치합니다. Python의 pip와 같은 역할이며, Node.js 설치 시 자동 포함됩니다.

⚛️

React

Meta(구 Facebook)가 만든 UI 라이브러리입니다. 화면을 컴포넌트라는 독립 블록으로 쪼개 레고처럼 조립합니다. 버튼, 카드, 네비게이션 등을 각각 만들어 조합하므로 재사용과 유지보수가 쉽습니다. 2026년 현재 가장 널리 쓰이는 프론트엔드 기술입니다.

🔷

TypeScript

JavaScript에 타입(Type)이라는 안전장치를 추가한 언어입니다. "이 변수는 반드시 숫자"라고 선언해두면 실수로 문자열을 넣었을 때 실행 전에 에러를 잡아줍니다. AI 코딩 도구가 타입 정보를 참고해 더 정확한 코드를 생성하므로 AI 코딩과 궁합이 매우 좋습니다.

FastAPI (Python)

Python으로 웹 API를 만드는 프레임워크입니다. 코드 작성 시 자동으로 API 문서 페이지(/docs)를 생성합니다. 비동기(async) 처리를 지원해 성능도 뛰어납니다. Python에 익숙하다면 백엔드 입문용으로 최적입니다.

🗄️

SQLite

별도 서버 설치 불필요한 파일 기반 경량 DB입니다. data.db 한 파일이 데이터베이스 전체입니다. 프로토타이핑에 매우 편리하며, 소규모 서비스에 충분합니다. 규모가 커지면 PostgreSQL로 전환합니다.

Next.js

React 기반 풀스택 프레임워크입니다. 서버 사이드 렌더링(SSR), 정적 생성(SSG), API Routes를 지원하여 별도 백엔드 없이도 풀스택 앱을 만들 수 있습니다. 소규모 프로젝트에서 가장 효율적인 선택지입니다.

💻 윈도우 PC 개발 환경 세팅

AI 코딩을 시작하려면 아래 도구들을 설치해야 합니다. 차례대로 진행하세요.

1

Node.js 설치 — JavaScript 실행 환경

React, Next.js, npm, Gemini CLI 등 프론트엔드 도구가 Node.js 위에서 동작합니다. LTS(Long Term Support) 버전을 설치하세요.

2

Python 설치 — 백엔드 및 데이터 처리

FastAPI를 비롯한 백엔드 개발, 데이터 분석, AI/ML 작업에 필요합니다. 3.12 이상 버전을 설치하세요.

3

Git 설치 — 버전 관리

코드 변경 이력을 관리합니다. GitHub에 코드를 올리거나, Vercel에 자동 배포할 때 필수입니다.

4

VS Code 설치 (선택) — 코드 편집기

가장 널리 쓰이는 무료 편집기. Antigravity를 주력으로 쓸 예정이라면 건너뛰어도 됩니다.

PowerShell (관리자 권한으로 실행)
# Windows + X → "터미널(관리자)" 선택

# 1. Node.js LTS 설치 (npm 자동 포함)
winget install OpenJS.NodeJS.LTS

# 2. Python 3.12+ 설치
winget install Python.Python.3.12

# 3. Git 설치
winget install Git.Git

# 4. VS Code (선택)
winget install Microsoft.VisualStudioCode

# ── 설치 확인 (터미널을 닫았다가 다시 열고) ──
node --version    # v20.x 이상이면 OK
npm --version     # 10.x 이상이면 OK
python --version  # 3.12 이상이면 OK
git --version     # 출력되면 OK
💡

winget이 뭔가요? Windows 10/11에 기본 내장된 패키지 관리자입니다. 앱스토어에서 앱을 검색·설치하듯, 터미널에서 한 줄 명령으로 프로그램을 설치합니다. 안 되면 각 공식 사이트(nodejs.org, python.org)에서 직접 다운로드하세요.

⚠️

주의: 설치 후 터미널을 반드시 닫았다가 다시 열어야 PATH가 반영됩니다. node --version이 안 된다면 터미널을 재시작해보세요.

Chapter 02

Gemini CLI 사용법

Gemini CLI는 Google이 오픈소스로 공개한 터미널 기반 AI 에이전트입니다. 명령 프롬프트 안에서 AI와 대화하면서 코드 작성, 파일 분석, 프로젝트 관리를 수행합니다.

ChatGPT 같은 웹 채팅에서 코드를 복사-붙여넣기 하던 방식과 달리, Gemini CLI는 프로젝트 폴더 안에서 직접 파일을 읽고, 수정하고, 명령을 실행합니다. 옆에 앉은 동료 개발자처럼 실시간으로 함께 코딩하는 경험을 제공합니다.

🎯 무료 사용량 (개인 Google 계정)

분당 60회, 일당 1,000회 요청까지 무료입니다. Google은 이 수준이 대부분 개발자 평균 사용량의 약 2배라고 밝혔습니다. Gemini 2.5 Pro(100만 토큰 컨텍스트)를 무료로 사용할 수 있어, 대형 코드베이스도 한 번에 분석 가능합니다.

📥 설치 — 3분이면 끝

PowerShell
# 방법 1: 글로벌 설치 (한번 설치하면 어디서든 gemini 명령 사용)
npm install -g @google/gemini-cli

# 방법 2: 설치 없이 즉시 실행 (일회성)
npx @google/gemini-cli

# 설치 확인
gemini --version
💡

npm install -g란? -g는 "global(전역)"의 약자입니다. 이 옵션을 붙이면 컴퓨터 전체에서 사용할 수 있도록 설치합니다. -g 없이 설치하면 현재 폴더의 프로젝트에서만 사용됩니다.

🔐 인증 설정 — 처음 한 번만

1

테마 선택

터미널 배경이 어두우면 Dark, 밝으면 Light. 나중에 변경 가능합니다.

2

인증 방식: "Login with Google" 선택

가장 간단하고 무료입니다. 브라우저가 자동으로 열리며 Google 로그인 페이지가 나타납니다. 개인 계정으로 로그인하세요.

3

인증 완료

브라우저에서 권한 허용 클릭 → 터미널로 자동 복귀 → > 프롬프트 등장. 바로 사용 가능!

⚠️

VPN 사용 중이라면 브라우저 콜백이 실패할 수 있습니다. VPN을 일시적으로 끄거나 글로벌 모드로 변경하세요. 회사 Workspace 계정보다 개인 계정을 권장합니다.

🚀 사용법 상세 가이드

기본 사용 — 대화형 모드

프로젝트 폴더로 이동 후 gemini를 입력하면 대화형 세션이 시작됩니다. AI가 해당 폴더의 파일 구조를 자동 인식합니다.

PowerShell
# 프로젝트 폴더로 이동
cd C:\Users\사용자명\projects\my-app

# Gemini CLI 대화형 모드 시작
gemini

# 자연어로 무엇이든 질문/요청
> 이 프로젝트의 폴더 구조와 주요 파일을 분석해줘
> src/App.tsx에 있는 버그를 찾아서 수정해줘
> FastAPI로 사용자 관리 API를 api/ 폴더에 만들어줘
> README.md를 한국어로 작성해줘

# 종료
> /quit

원라인 프롬프트 — 빠른 작업

PowerShell
# 간단한 질문
gemini -p "Python에서 리스트를 딕셔너리로 변환하는 방법"

# 파일 참조하며 코드 리뷰 (@로 파일 지정)
gemini "이 코드의 성능을 개선해줘" @src/main.py

# 여러 파일 동시 분석
gemini "두 파일의 차이점을 설명해줘" @old.py @new.py

# CI/CD 스크립트용 JSON 출력
gemini -p "테스트 결과 분석" --output-format json

슬래시 명령어

명령어기능설명
/help도움말사용 가능한 명령어 목록
/settings설정모델 변경, 프리뷰 기능 토글
/chat새 대화맥락 초기화
/bug버그 리포트문제 발생 시 바로 보고
/quit종료세션 끝내기

📝 GEMINI.md — 프로젝트별 맥락 파일

프로젝트 루트에 GEMINI.md를 만들면 Gemini CLI가 매 세션마다 자동으로 읽어 맥락을 이해합니다. 매번 "이 프로젝트는 React + FastAPI이고..."라고 설명할 필요가 없어집니다.

GEMINI.md (프로젝트 루트에 생성)
# 프로젝트: 인천 물류 허브 최적화 시뮬레이터

## 기술 스택
- 프론트엔드: React 18 + TypeScript + Recharts + Leaflet
- 백엔드: FastAPI + SQLite + gurobipy
- 빌드: Vite

## 프로젝트 구조
- /src    → React 프론트엔드
- /api    → FastAPI 백엔드
- /data   → SQLite DB 및 시드 데이터

## 코딩 컨벤션
- camelCase (TS), snake_case (Python)
- 함수형 컴포넌트 + React hooks
- API 응답: { status, data, message }
- 한국어 UI, 영문 코드

🎯 실전 활용 시나리오

🔍

코드베이스 분석

"이 프로젝트의 아키텍처를 설명해줘"
"src에서 가장 복잡한 파일을 찾아 리팩토링 방안 제안해줘"

🐛

버그 디버깅

"이 에러의 원인을 분석하고 수정해줘: TypeError: Cannot read property 'map' of undefined"

🆕

새 기능 개발

"React 파일 업로드 컴포넌트 + FastAPI 업로드 엔드포인트를 함께 만들어줘"

📄

문서 생성

"설치 방법과 사용법을 포함한 README.md를 한국어로 작성해줘"

Chapter 03

Google Antigravity

Antigravity는 2025년 11월 Gemini 3와 함께 발표된 에이전트 중심 IDE입니다. VS Code 기반이라 친숙한 편집기 느낌 그대로이지만, AI 에이전트가 코드 작성·실행·테스트·검증까지 자율적으로 수행하는 점이 근본적 차이입니다.

🧠 핵심 철학: "당신이 건축가, AI가 시공팀"

기존 AI 코딩 도구(Cursor, Copilot)는 "당신이 치면 AI가 이어서 완성"하는 방식입니다. Antigravity는 뒤집어서, "무엇을 만들라고 지시하면, AI가 계획·작성·실행·테스트까지 자율 수행"합니다. 여러 에이전트가 동시에 병렬 작업도 가능합니다.

📥 설치 단계

1

다운로드

antigravity.google에서 Windows 버전 설치 파일(.exe) 다운로드. 시스템 요구: 8GB RAM 이상, 16GB 권장.

2

설치 및 초기 설정

기존 VS Code/Cursor 설정 가져오기 또는 "Start fresh" 선택. 에디터 테마(Dark/Light) 선택.

3

에이전트 모드 설정 (핵심!)

Agent-driven (오토파일럿) — AI가 코드 작성·파일 생성·터미널 명령까지 자동 실행. 숙련자용.

Agent-assisted (권장 ⭐) — 안전한 작업은 자동, 위험한 작업(파일 삭제 등)은 승인 요청. 초보자에게 최적.

Review-driven (수동) — 모든 액션에 승인 필요. 가장 안전하지만 느림.

4

로그인 및 모델 선택

Google 계정 로그인 → Gemini 3 Pro(기본, 무료) 선택. Claude Sonnet 4.6, GPT-OSS도 사용 가능.

🖥️ 두 가지 화면

✏️

Editor View (직접 코딩)

VS Code와 거의 동일. 왼쪽 파일 트리, 중앙 편집기, 오른쪽 AI 사이드바. 탭 자동완성, 인라인 제안 등을 제공. 직접 수정하거나 빠른 변경 시 사용합니다.

🎛️

Manager View (미션 컨트롤)

Antigravity 고유 기능. 여러 AI 에이전트의 동시 작업 현황을 한눈에 확인하는 대시보드. 에이전트별 진행 상황, 계획서, 결과물을 모니터링합니다.

🤖 에이전트 작업 방식

📝 지시
📋 Plan Artifact
💻 코드 작성
▶️ 터미널 실행
🌐 브라우저 테스트
✅ 결과 Artifact

에이전트는 각 단계에서 Artifact(계획서, 구현 내역, 스크린샷, 브라우저 녹화 등)를 생성합니다. 개발자는 Google Docs처럼 댓글을 달아 피드백하고, 에이전트가 즉시 반영합니다.

Plan 모드 vs Fast 모드

📋

Plan 모드 (큰 작업)

"회원가입 기능 구현" 같은 큰 작업. 에이전트가 상세 실행 계획서를 먼저 보여주고, 승인 후 단계별 실행.

Fast 모드 (빠른 수정)

"버튼 색상 변경", "오타 수정" 같은 작은 작업. 계획 없이 즉시 코드 수정.

Antigravity 프롬프트 예시
# Plan 모드 — 큰 기능 개발
React + FastAPI로 회원가입/로그인 기능을 만들어줘.
- JWT 토큰 인증, SQLite DB, bcrypt 해싱
- 프론트엔드 폼 검증과 에러 메시지 표시
- 로그인 후 대시보드로 리다이렉트

# Fast 모드 — 빠른 수정
헤더 배경색을 #1a1a28로 변경하고,
모바일에서 햄버거 메뉴가 나오도록 반응형 처리해줘.

# 브라우저 테스트 요청
로그인 페이지에서 잘못된 비밀번호 입력 시
에러 메시지가 정상 표시되는지 확인해줘.

Gemini CLI vs Antigravity?
Gemini CLI: 터미널 중심, 가볍고 빠름, 스크립트/자동화에 적합.
Antigravity: GUI 중심, 에이전트 자율 실행, 브라우저 테스트 내장, 큰 프로젝트에 적합.
빠른 작업은 CLI, 큰 기능은 Antigravity로 역할을 나누는 것도 좋습니다.

Chapter 04

Google AI Studio 사용법

Google AI Studio는 브라우저에서 바로 Gemini 모델을 사용하는 무료 웹 도구입니다. 설치 없이, 프롬프트만 입력하면 즉시 코드를 생성합니다. AI 코딩 진입 장벽이 가장 낮은 도구입니다.

🌐 시작하기 — 60초

1

접속

aistudio.google.com 접속. 모든 최신 브라우저에서 동작합니다.

2

로그인

Google 개인 계정으로 로그인합니다.

3

모델 선택

Gemini 3 Pro(최고 품질) 또는 Gemini 2.5 Flash(빠른 응답) 추천.

4

프롬프트 입력

만들고 싶은 것을 한국어로 설명하면 바로 코드 생성 시작!

주요 기능

💬

Chat 모드

대화하면서 코드를 생성·수정. 이전 맥락을 유지하며 점진적으로 개선합니다. 초보자에게 가장 친숙한 방식.

📄

Structured Prompt

시스템 지시문(System Instruction)으로 "항상 TypeScript로, 한국어 주석으로"를 한 번 설정하면 매번 반복 불필요.

🖼️

멀티모달 입력

이미지, PDF, 오디오 업로드 가능. 스크린샷 → 코드 변환이 핵심 활용법. 원하는 디자인 캡처 후 "이 화면을 React로 구현해줘".

🔑

API Key 발급

Gemini CLI, 자체 앱에서 쓸 API 키를 여기서 발급. "Get API Key" → "Create API Key". 무료 할당량 제공.

🎯 Vibe Coding 예시

Vibe Coding이란, 세세한 로직을 직접 짜는 대신 AI에게 원하는 것을 자연어로 설명하는 코딩 방식입니다.

예시 1: 프론트엔드 대시보드

AI Studio 프롬프트
React + TypeScript로 물류 대시보드를 만들어줘.

## 화면 구성
1. 상단: 4개 KPI 카드 (배송건수, 평균 배송시간, 성공률, 비용)
2. 중앙: 최근 7일 배송 추이 라인 차트 (Recharts)
3. 하단: 배송 목록 테이블 (10행, 상태 뱃지)

## 디자인
- 다크 테마 (배경: #0f172a), 블루 악센트 (#3b82f6)
- 카드: border-radius 12px, 미세한 글로우
- 샘플 데이터 하드코딩 포함
- 하나의 파일로 출력

예시 2: 백엔드 API

AI Studio 프롬프트
FastAPI + SQLite로 상품 관리 REST API를 만들어줘.

- 상품 CRUD, Pydantic 모델, CORS 설정
- 페이지네이션 (?page=1&size=20)
- 검색 기능 (?search=키워드)
- 에러 핸들링 (404, 422)
- requirements.txt, 실행 명령어 포함

예시 3: 스크린샷 → 코드

📎 아이콘으로 이미지를 업로드하고:

프롬프트 (이미지와 함께)
이 스크린샷과 동일한 UI를 React + Tailwind CSS로 구현해줘.
레이아웃, 색상, 여백을 최대한 비슷하게. 반응형. 샘플 데이터 포함.

효율적 워크플로우: AI Studio에서 생성 → 복사 → 로컬 파일에 붙여넣기 → 브라우저 확인 → 수정 필요 시 AI Studio에서 추가 요청. 이 사이클이 Vibe Coding의 핵심입니다.

Chapter 05

Stitch로 세련된 디자인 적용하기

Google Stitch는 "말로 설명하면 UI 디자인을 만들어주는" AI 도구입니다. 텍스트 프롬프트, 손그림 스케치, 기존 앱 스크린샷을 입력하면 완성도 높은 UI + 바로 쓸 수 있는 HTML/CSS 코드를 생성합니다.

Google I/O 2025에서 공개되었으며, 원래 Galileo AI를 인수·Gemini 기반으로 재구축한 것입니다. 디자이너가 아닌 개발자도 프로페셔널 UI를 빠르게 만들 수 있습니다.

🎨 시작하기

1

접속

stitch.withgoogle.com → Google 계정 로그인. 별도 설치 불필요.

2

모드 선택

Standard (Gemini Flash) — 빠른 생성, Figma 내보내기 지원.

Experimental (Gemini Pro) — 높은 품질, 이미지 참조 가능. Figma 미지원.

처음엔 Standard로, 이미지 참조가 필요할 때 Experimental 전환을 추천합니다.

3

프롬프트 입력

만들 UI를 자연어로 설명. 구체적일수록 결과가 좋습니다.

4

디자인 선택·커스터마이징

여러 변형 중 선택 → 사이드바에서 색상·폰트·테마 조정.

5

코드 내보내기

HTML/CSS 코드 복사 또는 Figma 내보내기(Standard 모드).

🖌️ 프롬프트 작성 비교

❌ 나쁜 예시

모호한 프롬프트
물류 앱 만들어줘

→ 너무 모호해서 일반적이고 밋밋한 결과

✅ 좋은 예시

구체적인 프롬프트
배송 추적 모바일 앱 UI.
흰색 배경, 코발트 블루(#1E40AF),
라운드 카드(16px), 상단 검색바,
카드형 배송 목록, 하단 탭 4개.
깔끔한 한국 핀테크 스타일.

→ 색상·레이아웃·스타일이 명확

⚙️ 커스터마이징 옵션

항목설명
테마라이트 ↔ 다크같은 디자인을 두 테마로 비교
컬러 스킴Primary/Secondary/Accent 변경브랜드 컬러 입력으로 일관성 유지
폰트타이포그래피 변경한글: Pretendard, Noto Sans KR
모서리라운드 ↔ 샤프16px: 부드러운, 4px: 날카로운
자연어 수정"버튼 더 크게" 등세세한 조정에 편리

📤 후속 작업 연계

🎨 Stitch 디자인
📋 HTML/CSS 복사
💻 Antigravity에 붙여넣기
🔧 로직 연결
🚀 완성!
🔄 추천: Stitch + Antigravity 연계

1. Stitch에서 UI 생성 → HTML/CSS export

2. Antigravity에서 새 프로젝트 열고 붙여넣기

3. "이 HTML을 React 컴포넌트로 변환하고, FastAPI 백엔드를 연결해줘"

4. 에이전트가 풀스택 앱 자동 구축 → 브라우저 테스트까지 수행

Chapter 06

주요 서비스 디자인 카피 전략

AI에게 "세련된 디자인으로"라고 말하려면, 좋은 디자인이 뭔지 설명할 수 있어야 합니다. 가장 실용적인 방법은 잘 만든 서비스의 디자인 시스템을 분석하고 핵심 원리를 차용하는 것입니다.

🔍 디자인 분석 4요소

🎨

1. Color Palette

보통 5~8개 색상. Primary, Background, Text, Accent 등. Chrome DevTools(F12)에서 CSS 변수 확인.

🔤

2. Typography

폰트 패밀리, 사이즈 스케일(12~48px), 줄 높이(1.5~1.8). 한글: Pretendard, Noto Sans KR.

📐

3. Spacing

세련됨 = 일관된 간격. 8px 배수 체계(8/16/24/32/48px)가 업계 표준.

🧩

4. Components

버튼·카드·입력폼·네비게이션 등 반복 UI 블록의 공통 스타일.

🛠️ DevTools로 분석하는 법

1

F12로 DevTools 열기

원하는 요소 우클릭 → "검사(Inspect)" 선택.

2

색상 추출

Styles 패널에서 background-color, color 확인. :root에서 CSS 변수를 찾으면 전체 팔레트 파악 가능.

3

폰트 확인

텍스트 선택 → Computed 탭에서 font-family, font-size, font-weight 확인.

4

여백 파악

Box Model 다이어그램에서 margin/padding 패턴을 비교.

🏢 서비스별 디자인 특징

서비스컬러폰트특징
토스White + #3182F6Toss Product Sans극도의 미니멀, 넓은 여백, 큰 숫자
배달의민족#2AC1BC + White배민 자체 서체일러스트, 라운드 카드, 친근함
카카오#FEE500 + DarkApple SD Gothic옐로 포인트, 깔끔한 리스트
LinearDark + PurpleInter다크 테마, 글래스모피즘, 키보드 UX
VercelBlack + WhiteGeist극단적 흑백, 타이포 중심

🤖 AI에 디자인 전달하기

AI에 전달할 디자인 스펙 (토스 스타일)
아래 디자인 시스템을 적용해 대시보드를 만들어줘.

## Color
Background: #F2F4F6 / Card: #FFFFFF / Primary: #3182F6
Text: #191F28 / Text-Secondary: #8B95A1

## Typography
Font: 'Pretendard', sans-serif
Sizes: 13/15/17/22/28/34px / Weight: 400/600/700

## Spacing (8px grid)
xs:8 / sm:16 / md:24 / lg:32 / xl:48px

## Components
Card: radius 16px, shadow 0 2px 8px rgba(0,0,0,0.04)
Button: radius 12px, padding 12px 24px
아이콘: lucide-react, 20px

CSS 변수로 테마 시스템 구축

CSS 변수 시스템
:root {
  --color-primary: #3182F6;
  --color-bg: #F2F4F6;
  --color-card: #FFFFFF;
  --color-text: #191F28;
  --radius: 16px;
  --shadow: 0 2px 8px rgba(0,0,0,0.04);
  --space-sm: 16px;
  --space-md: 24px;
  --space-lg: 32px;
}

/* 다크 테마 전환 — 변수만 바꾸면 됨 */
[data-theme="dark"] {
  --color-bg: #0f172a;
  --color-card: #1e293b;
  --color-text: #e2e8f0;
}
🎯

핵심: 색상 5~8개, 폰트 사이즈 5~6단계, 여백 4~6단계를 정하고 전체 앱에서 일관되게 사용하세요. CSS 변수로 관리하면 테마 교체도 변수값만 바꾸면 됩니다.

Chapter 07

클라우드 서비스에 배포하기

로컬(localhost)에서 동작하는 서비스를 전 세계 누구나 접속할 수 있게 하려면 클라우드 서버에 배포해야 합니다. "배포(Deploy)" = 코드를 인터넷 서버에 올려 실행하는 것입니다.

🧠 배포 개념

💻

로컬 개발 (지금까지)

내 PC에서만 접속 가능. localhost:3000은 다른 사람이 볼 수 없습니다.

☁️

클라우드 배포 (앞으로)

인터넷 서버에 올려 https://my-app.vercel.app 같은 URL로 전 세계 접속 가능.

💡

PaaS vs VPS 차이:
PaaS(Vercel, Railway, Cloud Run) = "관리형" — 코드만 올리면 서버를 알아서 관리. 편하지만 자유도 낮음.
VPS(Oracle, Hetzner, DigitalOcean) = 가상 컴퓨터를 통째로 빌림. 직접 설정해야 하지만 무엇이든 가능.
초보자는 PaaS로 시작하고, 지식이 쌓이면 VPS 전환을 추천합니다.

🏗️ 배포 아키텍처

일반적인 배포 구조

사용자 (브라우저)
⬇ URL 접속
CDN / 도메인 (Cloudflare)
프론트엔드 (Vercel)
백엔드 API (Cloud Run)
DB (SQLite / PostgreSQL)

💰 옵션 비교

서비스용도비용난이도특징
Vercel FREE프론트엔드무료Git push 자동 배포, CDN, HTTPS
Netlify FREE프론트엔드무료Vercel 유사, Serverless Functions
Cloud Run FREE백엔드 API무료 할당량⭐⭐Docker 기반, 서울 리전, 요청 없으면 0원
Railway 풀스택+DB~$5/월Heroku 대안, DB 포함, 간단
Oracle Cloud FREEVPS영구 무료⭐⭐⭐ARM VM 2대 무료, 풀 제어
Hetzner VPS~€4/월⭐⭐⭐가성비 최고, 높은 성능

🎯 예산별 추천 조합

🆓

무료 ($0)

Vercel + Cloud Run + SQLite. 개인 프로젝트·MVP에 적합.

💵

저예산 (~$5/월)

Vercel + Railway(+PostgreSQL). 소규모 실서비스.

💰

중간 (~$15/월)

DigitalOcean App Platform 또는 Hetzner VPS + Docker.

🏢

프로덕션 ($30+)

AWS / GCP 풀 인프라. Auto-scaling, 모니터링, CI/CD.

📦 실전: Vercel + Cloud Run

PART A — 프론트엔드 → Vercel

1

GitHub에 코드 올리기

프로젝트를 GitHub 리포에 push합니다.

PowerShell
cd my-react-app
git init
git add .
git commit -m "first commit"
git remote add origin https://github.com/내아이디/my-react-app.git
git push -u origin main
2

Vercel에 연결

vercel.com → GitHub 로그인 → "New Project" → 리포 선택 → "Deploy" 클릭. 이후 push마다 자동 배포됩니다.

3

또는 CLI로 배포

npm install -g vercelvercel 명령 실행. 몇 가지 질문 후 URL이 발급됩니다.

PART B — 백엔드(FastAPI) → Cloud Run

1

Dockerfile 작성

Cloud Run은 Docker 컨테이너를 실행합니다. "코드+실행환경을 하나로 묶는 레시피"입니다.

Dockerfile
FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 8080
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8080"]
2

gcloud CLI 설치 및 배포

cloud.google.com/sdk에서 설치 후:

PowerShell
gcloud init
gcloud config set project MY_PROJECT_ID

# 소스에서 직접 배포 (Docker 빌드 자동)
gcloud run deploy my-api ^
  --source . ^
  --region asia-northeast3 ^
  --allow-unauthenticated

# 결과: https://my-api-abc123-du.a.run.app

PART C — 프론트↔백엔드 연결

1

환경변수 설정

프론트 프로젝트에 .env.production 파일 생성:

.env.production
VITE_API_URL=https://my-api-abc123-du.a.run.app
2

코드에서 사용

TypeScript
const API = import.meta.env.VITE_API_URL;
const res = await fetch(`${API}/api/items`);
3

CORS 설정 (필수!)

프론트(vercel.app)→백엔드(run.app) 호출 시 브라우저가 차단합니다. FastAPI에서 허용 설정:

Python (main.py)
from fastapi.middleware.cors import CORSMiddleware

app.add_middleware(
    CORSMiddleware,
    allow_origins=[
        "http://localhost:5173",
        "https://my-app.vercel.app",
    ],
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)
🚀 배포 전 체크리스트

환경변수: API 키·DB 비밀번호는 코드에 넣지 말고 각 플랫폼 환경변수로 관리

HTTPS: PaaS는 자동 제공. VPS는 Let's Encrypt(무료) 사용

도메인: 가비아/Cloudflare에서 구매 → CNAME 연결

모니터링: Sentry(무료 플랜) 연동으로 에러 실시간 추적

백업: SQLite는 파일 복사, PostgreSQL은 pg_dump

🔄 전체 워크플로우

💡 아이디어
🎨 Stitch UI
🤖 Antigravity 개발
🧪 로컬 테스트
☁️ 배포
🌐 서비스 오픈!
🎉

축하합니다! 이 가이드의 모든 단계를 따라왔다면, 아이디어 → AI 디자인 → AI 코딩 → 클라우드 배포의 전체 사이클을 수행할 수 있습니다. AI 도구는 빠르게 발전하므로 공식 문서를 주기적으로 확인하세요.