лооооч
Урок 4

Каркас и стены

Собираем страницу-визитку — имя, фото, ссылки — и смотрим, как она оживает в браузере

Гравитация

Замри на секунду. Сейчас будет интересно.

Урок 4 из 10

Каркас и стены

Собираем страницу-визитку — имя, фото, ссылки — и смотрим, как она оживает в браузере
Стройплощадка: появляются стены дома, через проём окна видна комната — уютная, обжитая, с личными вещами

За один вечер разговора с прорабом получается настоящая страница — не картинка-набросок, а живой сайт, который открывается в браузере. Это до сих пор сбивает с толку: кажется, что «собрать сайт» — это недели возни, а на деле первый рабочий вариант появляется за пару часов. Дело не в волшебстве, а в том, что вам больше не нужно печатать код руками — нужно только ясно говорить, что построить.

Сегодня то же самое произойдёт у вас. К концу урока на вашем экране будет страница: с вашим именем, с вашим фото, со ссылками на то, что вам важно. Она будет настоящей — в браузере, не в картинке. Вы увидите её так же, как видит её любой гость. Единственная разница: гость пока не сможет открыть её из другого города — это произойдёт в Уроке 8. Сейчас страница живёт на вашем компьютере, и это нормально: любой дом сначала стоит на закрытом участке, а потом получает адрес.

Весь путь сегодня — это три глагола: запустить, попросить, посмотреть. Запустить превью, попросить прораба построить блок, посмотреть что получилось. Потом повторить — но уже с правкой.

Быстрый конспект: откуда мы пришли

Урок 1 Участок и карта: стены = видимая часть, проводка = под капотом, кладовка = данные, адрес = деплой. Вы — прораб.
Урок 2 Четыре элемента хорошей задачи: ЧТО, ГДЕ, КАК, ГОТОВО. Расплывчатость — главная причина кривого результата.
Урок 3 Выбор инструмента: Claude Code, Cursor, Conductor. Вы уже решили, чем будете строить сегодня.
Урок 4 — сегодня Запускаем dev-сервер, собираем страницу по блокам, итерируем по дизайну, тизер git.
🕑 Холодный прогрев — три вопроса перед стартом
Из урока 3: Вы выбрали инструмент. Назовите его и объясните в одном предложении, почему именно он, — как объяснили бы другу по телефону.

Из урока 2: Четыре элемента хорошей задачи. Перечислите их по памяти, не подглядывая в урок.

Из урока 1: Что в аналогии с домом соответствует «тому, что видно гостю» — стены или проводка?
Не угадывайте — именно вспоминайте. Если не выходит, быстро перечитайте тот урок и возвращайтесь. Эффект интервального извлечения работает только при реальной попытке.

Часть 1. Что такое «запустить локально»

Прежде чем строить, разберёмся с одним словосочетанием, которое вы будете слышать весь курс: «запустить локально». Это не страшно — это просто значит запустить сайт на своём компьютере, чтобы посмотреть, как он выглядит, раньше чем показывать кому-то ещё.

Представьте: дом строится на закрытом участке. Хозяин может зайти внутрь и посмотреть на стены в любой момент — даже когда ещё нет ни замка, ни адреса, ни таблички с номером. Гостей он туда пока не ведёт, но сам видит всё как есть. Вот это — и есть «запустить локально».

С технической стороны: когда Claude Code запустит проект, он покажет вам адрес вроде localhost:3000. Это адрес, который работает только на вашем компьютере и только пока терминал открыт [1]. Откройте браузер, вставьте туда localhost:3000 — и увидите свою страницу. Закройте терминал — адрес перестаёт работать. Снаружи никто ничего не видит. Гостям вы откроете доступ в Уроке 8.

localhost — это не адрес в интернете. Это петля, которая ведёт обратно на ваш компьютер. Можно сказать, что это дом, который ещё строится и стоит без номера на закрытом участке. Всё что вы там делаете — это ваш приватный превью. Поломать что-то «для других» здесь невозможно, потому что других здесь нет.

Ваш компьютер localhost:3000 терминал + браузер видите вы Браузер ваша страница приватный превью недоступно Интернет друзья, гости → Урок 8
localhost:3000 — это частный адрес. Интернет пока закрыт. Гостей впустим в Уроке 8 (деплой).

Часть 2. Просим Claude Code создать проект

Открываем терминал, переходим в папку, где хотите хранить проекты, и запускаем прораба. В диалоге с Claude Code пишем первую задачу — и вот здесь важно вспомнить урок 2: хорошая задача содержит ЧТО, ГДЕ, КАК и ГОТОВО. Не «сделай мне сайт», а что-то вроде этого [2]:

# Пример первой задачи прорабу:
Создай новый проект личной страницы-визитки на Next.js.
Страница должна показывать: моё имя крупным шрифтом вверху,
фото по центру и три ссылки под ним. Стиль — светлый,
чистый. Запусти dev-сервер, чтобы я мог открыть страницу
в браузере по адресу localhost:3000.

Claude Code сделает несколько вещей подряд, предупреждая о каждом шаге. Он создаст папку проекта, скачает нужные пакеты и запустит тот самый dev-сервер. На экране появится что-то вроде Local: http://localhost:3000. Откройте браузер и перейдите по этому адресу.

Что такое Next.js: это готовый каркас дома — фундамент, перекрытия, базовые коммуникации, которые не нужно придумывать с нуля. Claude Code использует его как отправную точку, потому что с нуля строить долго и ненужно [1]. Вам знать его устройство не нужно — достаточно знать, что он есть. Подробнее в уроке 5.

Страница будет выглядеть просто — возможно, просто белый фон с заглушками вместо вашего имени и фото. Это нормально. Стены есть, штукатурки пока нет. Сейчас будем отделывать.

Часть 3. Блоки по очереди: имя, фото, ссылки

Главное правило этой части: один блок — одна задача. Не просите прораба сделать всё сразу. Во-первых, результат хуже предсказуем. Во-вторых, если что-то пошло не так, вы не знаете, какой из блоков виноват. Помните урок 2: ясная, конкретная задача с понятным критерием — это то, что отличает прораба от того, кто просто «скажи чего-нибудь».

Блок 1 — Имя

Попросите: «Напиши моё имя [Ваше Имя] крупным заголовком в самом верху страницы, по центру. Под ним — одна строка с коротким описанием: кто вы и чем занимаетесь.» Обновите браузер, посмотрите. Если размер или расположение не нравятся — скажите конкретно: «Сделай имя крупнее», «Поставь описание серым цветом».

Блок 2 — Фото

Сохраните ваше фото в папку проекта (просто скопируйте файл туда) и скажите прорабу: «Добавь моё фото [имя файла] под именем, по центру. Размер — круг диаметром 150 пикселей.» Если нет подходящего фото — попросите поставить заглушку-аватар, это нормально.

Блок 3 — Ссылки

Дайте прорабу три ссылки: «Под фото добавь три кнопки-ссылки: первая — [название] на [адрес], вторая — [название] на [адрес], третья — [название] на [адрес]. Стиль: кнопки с синей обводкой, открываются в новой вкладке.»

✎ Пауза и прогноз
Перед тем как попросить Claude Code добавить фото: опишите своими словами, что именно вы скажете — полное предложение-задачу, с контекстом и критерием. Только потом отправляйте прорабу.
Это не формальность. Сформулированная задача до отправки — это проверка самому себе: ясна ли она? Расплывчатость, которую вы замечаете в своей формулировке заранее, не попадёт к прорабу — и страница выйдет лучше.

Часть 4. Превью и итерации по дизайну

Страница собрана. Теперь наступает самое интересное: вы смотрите на неё и понимаете, что что-то «не то». Имя слишком маленькое. Кнопки стоят плотно. Фон хотелось бы другой. Это не баг — это нормальный процесс. Именно поэтому существует превью: смотреть и говорить «вот тут поправь».

Правки по дизайну — это отдельный жанр задач прорабу. Они короче, конкретнее, и тут самое важное — называть что менять и как, а не просто «сделай красивее». Вот примеры хороших правок:

«Не нравится»

«Сделай красивее», «что-то не то», «выглядит скучно». Прораб не знает, что именно менять — и угадает неверно.

«Конкретно»

«Сделай имя крупнее — примерно вдвое», «поставь фон светло-серым вместо белого», «разнеси кнопки, между ними 16 пикселей».

Обновление страницы происходит автоматически: как только Claude Code сохраняет изменения, браузер обновляется сам (это называется «hot reload» — не страшно, просто удобная функция). То есть вы видите правку почти мгновенно, не нажимая F5.

🎨
«Сделай страницу красивой.»
— Готово!
«Нет, я имел в виду другой красивой.»
Прораб не телепат. Он очень хороший строитель, но читать мысли — не его специализация. Это специализация прораба-вас.

Часть 5. Маленькие правки: как не сломать остальное

Есть ситуация, которую рано или поздно переживает каждый: попросил поправить цвет кнопки — а разъехалось всё остальное. Это происходит, потому что страница — это не набор независимых деталей, а связная система. Один неточный запрос может задеть то, что вы не трогали.

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

И ещё одно — если что-то сломалось, не паникуйте. Скажите прорабу: «Предыдущее изменение сломало расположение кнопок. Верни как было». Claude Code умеет откатывать свою же работу. Но есть способ лучше, и про него — тизер в следующей части.

💡 Разберитесь сами
Почему правка «измени шрифт только у блока с именем» безопаснее, чем «измени шрифт на странице»? Ответьте своими словами — через аналогию с ремонтом в квартире, если хочется.
Связь с уроком 2: четвёртый элемент хорошей задачи — ограничения. «Не трогать остальное» — это и есть ограничение. Оно защищает то, что работает.

Часть 6. «Надо бы сохраниться» — тизер git

Страница готова. Вы итерировали по дизайну, добавили свои блоки, посмотрели в браузере — нравится. И вот появляется абсолютно правильный вопрос: а что если что-то сломается? Как вернуться к тому, что работало?

В строительстве прораб ведёт журнал стройки: когда что сделано, что изменено, что убрано. Если рабочий положил кирпич не туда — открываем журнал, видим точку, когда всё было хорошо, откатываемся. В программировании этот журнал называется git, а именованная точка в нём — коммит.

Claude Code умеет делать такие точки за вас — достаточно попросить. Но весь разговор про git — что это такое, зачем он нужен и как с ним работать — мы ведём в следующем уроке. Сейчас главное знать: такой инструмент существует, он не страшный, и к концу урока 5 вы сделаете первую сохранёнку своего проекта.

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

Резюме

1

localhost — приватный превью

Адрес вроде localhost:3000 работает только на вашем компьютере. Гостей нет, поломать «для внешнего мира» нельзя. Стены стоят, участок закрыт.

2

Один блок — одна задача

Имя, фото, ссылки — по очереди, с конкретными словами и ограничениями. Расплывчатость в задаче всегда выходит боком в результате.

3

Итерация — это норма

Посмотрели — не нравится — назвали конкретно что — поправили — снова посмотрели. Так выглядит правильная работа прораба, не ошибка.

4

Сохранёнки — в следующий раз

Возможность вернуться к «как было» существует. Она называется git и подробно разбирается в уроке 5.

Что дальше, в Уроке 5 — «Журнал стройки»: страница собрана. Теперь заглянем под капот — без страха, а чтобы чувствовать себя хозяином, а не гостем. Разберём, что за файлы создал Claude Code, что такое фреймворк (Next.js) в одно дыхание, и главное — что такое git: машина сохранёнок, которая позволяет откатиться в любой момент. Сделаем первый коммит — первую именованную точку вашего проекта.

Источники / Sources

  1. docs Vercel / Next.js team. «Getting Started — Installation» — команда создания проекта, запуск dev-сервера (npm run dev), поведение localhost:3000. nextjs.org/docs · accessed 2026-06-02
  2. docs Anthropic. «Claude Code — Overview» — Claude Code создаёт и правит файлы, запускает команды в терминале; просит разрешения перед существенными операциями. docs.claude.com/en/docs/claude-code/overview · accessed 2026-06-02
  3. docs Anthropic. «Claude Code — Common tasks and workflows» — создание проекта, итерация по правкам, использование Claude Code в связке с dev-сервером. docs.claude.com/en/docs/claude-code/common-tasks · accessed 2026-06-02
Аналогия «закрытый участок» для localhost — авторская иллюстрация в рамках метафоры курса. Технические факты (localhost, порт 3000, hot reload, Next.js) опираются на документацию выше.