Кладовка, которая помнит
добавляем живой блок — форму, которая запоминает сообщения в базе
Цели урока
К концу этого урока вы:
- Поймёте, почему обычная страница забывает всё при перезагрузке — и что с этим делать.
- Разберётесь, что такое база данных на практике: таблица, строка, запись — без страха и терминологии.
- Узнаете, как подключить бесплатный Postgres к проекту через Vercel Marketplace.
- Проследите полный путь данных: форма → сервер → база → страница.
- Попросите Claude Code добавить гостевую книгу — и убедитесь, что она помнит записи после перезагрузки.

Так. Вот этот момент не проскакивай, он ключевой.
Кладовка, которая помнит
Вы открываете страницу, заполняете форму — имя, сообщение, нажимаете «Отправить». Смотрите: данные на экране, всё хорошо. Нажимаете F5 — обновление. Данные исчезли, как будто ничего не было. Чистый бланк, пустое поле. Страница забыла всё, что вы ей говорили.
Это не ошибка — это нормальное поведение обычной веб-страницы. Она живёт только пока открыта, как разговор по телефону: положил трубку — разговор кончился, слова нигде не записаны. Чтобы страница помнила — нужно отдельное место для хранения. В мире веб-разработки это место называется база данных. В нашей карте дома из Урока 1 — это кладовка.
Сегодня добавим кладовку к нашему проекту и научим форму туда писать.
Из Урока 3 (три урока назад): вы выбирали инструмент для работы — чем они принципиально различались?
Из Урока 2 (четыре урока назад): из каких частей состоит хорошая инструкция для Claude Code — можете назвать хотя бы три?
Что вы возьмёте из этого урока
- Поймёте, почему обычная страница забывает всё при перезагрузке — и что с этим делать.
- Разберётесь, что такое база данных на практике: таблица, строка, запись — без страха и терминологии.
- Узнаете, как подключить бесплатный Postgres к проекту через Vercel Marketplace.
- Проследите полный путь данных: форма → сервер → база → страница.
- Попросите Claude Code добавить гостевую книгу — и убедитесь, что она помнит записи после перезагрузки.
Где мы сейчас
Часть 1. Почему страница ничего не помнит
Когда вы открываете любую страницу в браузере — браузер скачивает с сервера набор файлов: текст, картинки, скрипты. Показывает их вам. Всё, что происходит после — живёт только в вашем браузере, в оперативной памяти вашего компьютера. Когда вы нажимаете F5 — браузер скачивает файлы заново, с чистого листа. То, что вы вписали в форму, нигде не сохранялось — оно было только в памяти, которую браузер вычистил при перезагрузке.
Это не недостаток — это осознанное устройство. Страница по умолчанию stateless, то есть без состояния: каждый визит начинается с нуля. Именно поэтому, кстати, формы на обычных сайтах иногда «сбрасываются», если случайно нажать «Назад» в браузере. Всё понятно: данные нигде не лежали.
Представьте официанта без блокнота. Он подходит, вы говорите заказ. Пока он стоит рядом — помнит. Отошёл к другому столику на минуту — забыл. Вы повторяете заказ. Чтобы заказ не потерялся, нужно записать его в блокнот — физическое место, которое живёт независимо от разговора.
Часть 2. Что такое база данных — кладовка с полками
В Уроке 1 мы дали базе данных короткое определение: кладовка. Теперь раскроем его подробнее — ровно настолько, чтобы уверенно разговаривать с Claude Code.
База данных — это программа, которая живёт на сервере и умеет одно главное: надёжно хранить данные и быстро их находить. Не в файле (файл можно потерять, перезаписать, он не рассчитан на одновременный доступ от многих людей) — а в структуре, где у каждой информации есть своё место и адрес.
Внутри база устроена как таблица — или много таблиц. Таблица = полка. На ней хранятся записи одного типа: например, все сообщения из гостевой книги. Строка в таблице = одна запись: одно сообщение, с именем автора, текстом и датой. Вот и вся структура, которую нужно знать для нашего проекта.
Конкретно для нашей гостевой книги таблица будет выглядеть примерно так:
| id | name | message | created_at |
|---|---|---|---|
| 1 | Маша | Отличная страница! | 2026-06-01 14:23 |
| 2 | Алексей | Привет, узнал о тебе от Ани. | 2026-06-01 18:05 |
| 3 | Аноним | Красивый дизайн. | 2026-06-02 09:11 |
Четыре колонки. Каждая строка — одно сообщение. Добавили новое — появилась четвёртая строка. Обновили страницу — строки никуда не делись: они в кладовке, а не в браузере.
Часть 3. Какую базу берём и почему бесплатно
Мы используем PostgreSQL (или просто Postgres) — надёжную базу данных с открытым кодом, которой больше тридцати лет [1]. Не потому что это единственный вариант — а потому что Vercel, наш будущий хостинг (подробнее — в Уроке 7), предлагает её бесплатно через встроенный магазин.
Как это устроено: в Vercel есть Marketplace — что-то вроде магазина приложений, только для рабочих инструментов. Там можно одним кликом подключить базу данных, почту, мониторинг. Для нас важна одна позиция: Neon Postgres — управляемый Postgres с бесплатным тарифом [2]. Нажали «подключить» — база готова, настройки автоматически попадают в ваш проект. Вы не настраиваете сервер, не придумываете пароли, не читаете документацию по установке.
Важно знать: в 2024 году Vercel отключил продукт под названием «Vercel Postgres» как самостоятельный сервис — теперь бесплатная база идёт через Marketplace именно как Neon [2]. Называть это «Vercel Postgres» неточно — правильно «Neon через Vercel Marketplace».
Бесплатный тариф Neon включает 0,5 ГБ хранения и достаточно вычислительных ресурсов для пет-проекта [2]. Для гостевой книги этого хватит с запасом: тысяча сообщений занимает примерно несколько мегабайт.
— Можно. А потом два человека одновременно напишут в гостевую, файл перезапишется, одно сообщение пропадёт. Вы сообщите им или файл сам разберётся?
Файл — для записок себе. База данных — для всего, к чему обращаются одновременно несколько человек, даже если их двое.
Часть 4. Подключаем базу: вы — заказчик, Claude Code — строитель
Весь технический процесс подключения базы Claude Code делает сам. Ваша работа — сказать ему что нужно и в какой последовательности. Вот как выглядит разговор прораба со строителем.
Шаг 1. Создайте аккаунт на Vercel и подключите проект
Если Vercel ещё не подключён — зарегистрируйтесь на vercel.com и свяжите проект с репозиторием (подробнее разберём в Уроке 7). Пока достаточно аккаунта — даже без деплоя база будет работать локально.
Шаг 2. Добавьте Neon через Vercel Marketplace
В панели Vercel — раздел Storage → Create Database → Neon. Нажмите «Add», выберите регион (Frankfurt или ближайший), подтвердите. Готово: база создана, строка подключения автоматически попадёт в переменные окружения проекта.
Шаг 3. Попросите Claude Code подключить базу к коду
Теперь — ваша очередь. Скажите Claude Code словами, как в Уроке 2 [см. Урок 2] учились: чётко, с контекстом и ожидаемым результатом. Пример формулировки ниже.
# Что вы говорите Claude Code (своими словами):
У меня подключена база данных Postgres через Vercel Marketplace (Neon).
Переменная подключения уже есть в окружении.
Добавь гостевую книгу: таблицу messages с полями
name, message и created_at.
Сделай форму на главной странице — имя и сообщение.
После отправки форма должна сохранять запись в базу.
Под формой покажи все сохранённые сообщения, от новых к старым.
Проверь локально, что всё работает.
Claude Code знает Next.js [3] и Postgres — он сам напишет код, создаст таблицу и подключит форму. Вы смотрите на результат в браузере, пишете сообщение, обновляете страницу — сообщение остаётся. Кладовка работает.
Про «переменную окружения». Это адрес и пароль для подключения к базе — длинная строка вроде postgresql://user:password@host/db. Vercel хранит её отдельно от кода — чтобы пароль не попал на GitHub. Claude Code умеет её прочитать сам, вам не нужно её нигде вставлять вручную. Коммит из Урока 5 — вот почему важно не класть такие строки в файлы: прораб следит, чтобы секреты оставались в кладовке, а не лежали на виду.
Часть 5. Путь данных: форма → сервер → база → экран
Давайте пройдём этот путь шаг за шагом — медленно, чтобы каждый шаг стал понятным. Ничего нового не добавляется: только то, что уже знаете, составленное вместе.
Заметьте: браузер не разговаривает с базой напрямую. Он разговаривает с сервером, а сервер — с базой. Это сделано специально: так база защищена, к ней нет прямого доступа снаружи. Сервер — посредник, он проверяет, что запрос корректный, и только тогда идёт в кладовку.
Часть 6. Виджет: проверьте, что поняли поток данных
Теперь сложите схему самостоятельно. Ниже — виджет: перетащите шаги в правильном порядке. Это не тест на скорость — подумайте перед тем, как расставлять.
Ориентир для самопроверки. Правильный порядок записи: браузер отправляет форму → сервер получает данные → сервер пишет в базу → база подтверждает. Правильный порядок чтения: браузер запрашивает страницу → сервер спрашивает базу → база возвращает список → сервер отдаёт страницу с данными → браузер показывает.
Резюме
Страница без базы — официант без блокнота
Всё, что вписано в форму, живёт только в памяти браузера. Обновление — и исчезло. Чтобы данные жили — нужна отдельная кладовка.
База = кладовка с полками
Таблица — полка (один тип данных). Строка — одна запись (одно сообщение). Колонка — ярлык на банке (имя поля: name, message, created_at).
Postgres бесплатно через Vercel Marketplace
Neon — управляемый Postgres, подключается парой кликов, бесплатного тарифа хватает для пет-проекта. Claude Code подключает его к коду.
Путь данных: туда и обратно
Форма → сервер → база (запись). Браузер → сервер → база → экран (чтение). Браузер с базой напрямую не разговаривает — сервер посередине.
Что дальше, в Уроке 7 — «Выбираем адрес»: база готова, страница помнит сообщения. Следующий вопрос: где это всё должно жить, чтобы любой человек по ссылке мог открыть? Разберём хостинг: что это такое, что значит «бесплатный тариф» и в чём честно подвох, почему начнём с Vercel и на что обратить внимание в альтернативах.
Источники / Sources
- docs The PostgreSQL Global Development Group. «About PostgreSQL» — история и описание СУБД PostgreSQL.
- docs Vercel. «Postgres on Vercel» — описание подключения Neon Postgres через Vercel Marketplace; история перехода от продукта «Vercel Postgres» к Neon-интеграции; бесплатный тариф Neon (0,5 ГБ хранения, 100 CU-часов).
- docs Vercel. «Next.js Documentation» — документация по Next.js: API Routes, серверные компоненты, работа с базами данных.
- docs Neon. «Neon for Vercel» — страница интеграции Neon с Vercel Marketplace; детали бесплатного тарифа.