Ошибка 7 — пренебрежение основами

Тема 5/5: День 5. Главные ошибки новичков и следующий шаг Урок 7/9

Вайбкодинг — это не «магия программирования без программирования». Это инструмент для тех, кто понимает, что строит. Без минимальной базы по HTML, CSS, JavaScript, HTTP, базам данных и git при первой же нестандартной проблеме агент не сможет вам помочь, потому что вы не сможете описать, что именно не так. В этом уроке — минимум, который должен знать вайбкодер.

Почему «без основ» не работает

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

Минимальный набор знаний

Базовый набор тем для вайбкодера невелик, и каждую из них можно освоить на практике, а не зубрить теорию. Начинается всё с HTML — структуры страницы: тегов и атрибутов, семантики (header, main, article, section, footer), форм и базовой доступности. Следом идёт CSS — селекторы, flexbox и grid, без которых сегодня никуда, адаптивный дизайн через media queries и utility-классы Tailwind, если вы его используете.

Дальше — основы JavaScript и TypeScript: переменные и типы, обычные и стрелочные функции, условия и циклы, промисы и async/await, основные методы массивов вроде .map, .filter и .reduce, деструктуризация и spread-оператор, а в TypeScript — типы, интерфейсы и дженерики на базовом уровне. Затем стоит разобраться, как устроен HTTP: модель запрос-ответ и методы (GET, POST, PUT, DELETE), коды состояния (200, 301, 400, 401, 404, 500), заголовки вроде Authorization и Content-Type, JSON в теле запроса и ответа, и CORS — главная боль во взаимодействии интерфейса и серверной части.

Не обойтись и без SQL и реляционных баз данных: SELECT, INSERT, UPDATE, DELETE, соединения таблиц (LEFT, INNER), группировка и сортировка, индексы и понимание, зачем они нужны, а также транзакции. Сюда же — git: добавление, коммиты, push и pull, ветки, слияния, понимание pull request, разрешение конфликтов и откат изменений. Полезно освоить и командную строку — перемещение по папкам и работу с файлами, утилиты вроде cat, grep и find, перенаправление вывода и конвейеры. И наконец, общую архитектуру веба: разделение интерфейса и серверной части, что такое API, отличия SSR, SPA и SSG, управление состоянием и подходы к аутентификации — cookies, JWT, OAuth.

Главный принцип — не учить теорию ради теории. Каждую тему сразу применяйте на практике: изучили SQL — тут же написали SELECT для своего проекта, разобрались с git — сразу создали ветку. Хорошие бесплатные материалы есть по каждой теме — от MDN и learn.javascript.ru до интерактивных тренажёров вроде SQL Bolt и игровых туториалов по flexbox.

Когда учить основы

Самая эффективная стратегия — учиться параллельно с проектами, а не до них. Делаете лендинг с Claude Code — параллельно разбираете основы HTML и CSS. Добавляете интерактив — подтягиваете JavaScript. Делаете форму с серверной частью — изучаете HTTP и SQL. Так вы не сидите месяцами «над теорией», а ведёте реальные проекты и тут же применяете то, что узнали; знания, которые сразу пошли в дело, и запоминаются гораздо лучше.

Что не надо учить на старте

Есть и то, на что время тратить рано. Алгоритмы и структуры данных — сортировки, графы, деревья — нужны на собеседованиях в крупные корпорации, а не для своих проектов. Сложные паттерны проектирования агент применяет сам. Docker и Kubernetes на старте не нужны для размещения на Vercel или Timeweb. WebGL и Three.js пригодятся только в 3D-визуализациях, а низкоуровневая оптимизация на Wasm или Rust приходит сильно позже. Не стоит поддаваться «синдрому самозванца» и пытаться знать всё сразу — начинайте с минимума и расширяйте его по мере реальной необходимости.

Признак, что вы вышли из тупика

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

Что в следующем уроке

Последний материал курса — финальный чек-лист перед тем, как продать продукт клиенту. Что обязательно проверить, чтобы не потерять клиента и не получить иск. На следующем уроке — заключительный урок.