Блок 6 · Урок 1 из 4

Две среды: разработка и прод

Чем «у меня на компьютере» отличается от «в интернете для людей» — и почему настройки разные.

≈ 6 минут 🚀 доставка, окружения 🎯 цель: не путать песочницу с боевой версией

Зачем это вам

Вы будете слышать от агента: «локально работает, на проде нет», «это только в dev», «добавь prod-переменные», «выкатим на staging». Без понимания разницы сред каждая такая фраза — тупик. С ним — вы сразу знаете, где копать и что спрашивать у агента. Плюс, если вы учите других вайб-кодеров, это один из первых концептов, без которого они будут теряться при деплое.

Суть

Одно приложение живёт в двух мирах одновременно

У любого приложения есть как минимум две версии: та, где вы и агент его строите, и та, которой пользуются реальные люди.

Среда разработки (development, dev) — место, где приложение пишут и проверяют. Обычно это ваш компьютер: открываете браузер, набираете localhost:3000 (адрес приложения на вашей машине) и видите то, что агент только что сделал. Здесь можно ломать, экспериментировать, видны подробные сообщения об ошибках — всё это нужно разработчику. Реальные пользователи этого не видят.

Продакшн (production, prod) — боевая версия в интернете, которой пользуются реальные люди. Она должна быть стабильной и быстрой. Подробные ошибки там скрыты намеренно: если сервер показывает внутренние детали ошибок всем подряд, это дыра в безопасности.

Между ними бывает staging (предпрод) — промежуточная копия прода. Туда выкладывают версию перед боевым релизом, чтобы проверить всё в условиях, максимально близких к настоящим, не рискуя реальными пользователями.1

У каждой среды — свои переменные окружения (настройки и ключи, которые приложение читает при запуске). В dev — тестовая база данных и тестовый ключ оплаты. В prod — боевая база и настоящий ключ. Именно поэтому «работает локально, падает на проде» — это почти всегда про разницу сред: другой ключ, другая база или настройка, которую забыли добавить на сервер.1

📌 Практическое правило: Если агент говорит, что что-то «работает локально», уточните: «Переменные окружения на проде добавлены?» — чаще всего именно там собака зарыта.

Аналогия, которую можно пересказать

Репетиция и премьера

«Репетиция в пустом зале»— dev: пишете и проверяете, можно ломать, зрители не видят
«Премьера перед полным залом»— prod: боевая версия, на неё смотрят реальные люди
«Бутафория на репетиции»— тестовые ключи и тестовая база в dev
«Настоящий реквизит на премьере»— боевые ключи и боевая база в prod
«На репетиции шло, на премьере нет»— «локально работает, на проде нет»: разные декорации

Что сработало на репетиции — не гарантирует тот же результат на премьере, если реквизит другой. Поэтому перед «премьерой» бывает генеральная репетиция в реальных декорациях — это staging.

Запомните одно

Dev и prod — разные среды с разными настройками

«Работает локально» значит лишь то, что оно работает в вашей среде разработки. Прод — отдельный мир с отдельными переменными. Когда что-то «падает на проде, но ок локально», первым делом проверяют: все ли prod-переменные добавлены на сервер? Это самая частая причина — и самая легко исправляемая.

Что это даёт на практике

Фраза агента → что он имеет в виду

«Локально работает, на проде нет»
Разница сред: скорее всего другой ключ, другая база или настройка, которой нет на боевом сервере.
«Это только в dev»
В боевой версии так не будет — либо там другие настройки, либо это поведение специально для разработки.
«Добавь prod-переменные»
Задайте боевые ключи и настройки в окружении вашего сервера (Vercel, Railway, VPS — у каждого есть раздел «Environment Variables»).
«Выкатим на staging сначала»
Проверим на копии прода перед боевым релизом — чтобы убедиться, что «декорации» совпадают, и не рисковать реальными пользователями.

Среда разработки (dev) — где приложение пишут и проверяют; обычно localhost на вашем компьютере.

Продакшн (prod) — боевая версия в интернете для реальных пользователей.

Staging (предпрод) — промежуточная копия прода для финальной проверки перед выкладкой.

Переменные по средам — разные настройки и ключи для dev и prod: тестовые в dev, боевые в prod.

Проверьте себя

Четыре вопроса с мгновенной проверкой

1. Чем prod отличается от dev?

2. Почему «локально работает, а на проде нет»?

3. Что такое staging?

4. Агент говорит: «добавь prod-переменные окружения». Зачем?

Куда мы идём

Программа курса — 7 блоков