Продолжение истории со статикой. Кладём собранный фронтенд рядом с кодом бэкенда — и он начинает отдаваться всегда, потому что мы нигде не различаем дев и прод. А в дев-режиме фронт живёт отдельно и смотрит на бэкенд, а не наоборот.
Дальше начинается путаница: заходишь на 3000 — видишь фронтенд, собранный когда-то давно, а на 4200 крутится настоящий, в watch-режиме. Два разных интерфейса на одном проекте. Эту разницу очень легко принять за баг и полезть чинить то, что не сломано. Нужен единый источник истины, поэтому в дев-режиме статику убираем.
Полный выпуск (1 час 28 минут): https://rutube.ru/video/70858b2775dffb17c2e9c203937788ea
📦 Исходники и дополнительные материалы: https://boosty.to/endykaufman
💻 GitHub: https://github.com/EndyKaufman
✈️ Telegram: https://t.me/kaufman_log
🌐 Сайт: https://site15.ru
#shorts #fullstack #фронтенд #nestjs #devops #статика
В workflow можно выбрать ветку бэкенда и ветку фронтенда раздельно. Веток у меня немного, поэтому беру самую первую — part1, она ещё из первого выпуска. Получается стенд: бэкенд с main, фронтенд с part1, и по этому смешанному стенду гоняется end-to-end.
Прогон упал — ровно там, где и должен был: фронтендовые e2e в той ветке запускать нечем, скриптов тестов в ней просто нет, команда появилась позже на main. При этом бэкенд прошёл. То есть падение и есть доказательство: подтянулись две разные ветки, и стенд честно собран из того, что я попросил.
Полный выпуск (1 час 28 минут): https://rutube.ru/video/70858b2775dffb17c2e9c203937788ea
📦 Исходники и дополнительные материалы: https://boosty.to/endykaufman
💻 GitHub: https://github.com/EndyKaufman
✈️ Telegram: https://t.me/kaufman_log
🌐 Сайт: https://site15.ru
#shorts #githubactions #ветки #cicd #e2e #workflow
Node позволяет передать env-файл прямо при запуске, и я это проверил — работает. Но обычно делают иначе: в main вызывают dotenv, и если файл лежит рядом, утилита подгружает его сама.
Для прода я выбираю первый вариант. Node не должна знать, откуда берутся переменные, и не должна лезть в файл — для неё это просто то, что лежит в процессе. В Docker environment прокидывается снаружи. Если же приучить приложение читать файлик, появляется ложное знание: на проде или при проверке легко забыть докинуть нужную переменную, потому что «локально же само подгрузилось». Одна точка истины — process.env, и в рамках приложения env-файлы не читаем.
Полный выпуск (1 час 28 минут): https://rutube.ru/video/70858b2775dffb17c2e9c203937788ea
📦 Исходники и дополнительные материалы: https://boosty.to/endykaufman
💻 GitHub: https://github.com/EndyKaufman
✈️ Telegram: https://t.me/kaufman_log
🌐 Сайт: https://site15.ru
#shorts #dotenv #docker #продакшен #nestjs #env
Показываю кнопку быстрого фикса для MCP конфигурации в IDE. Одна кнопка — и всё настроено. Никакой ручной возни с конфигами.
Полный выпуск (53 минуты): https://rutube.ru/video/8af7bfb3b9e759ca6732dbc8011293d9
#shorts #нейросеть #ai #mcp #ide #быстрыйфикс #настройка #разработка
Бэкенд в проде работает, а фронтенда в корне нет. Разбираюсь почему: в дев-режиме мы жили во фронтенде, и его proxy водил запросы на бэкенд. Сам бэкенд о фронтенде не знает ничего — значит, и отдавать ему нечего.
Подключаю собранный фронтенд внутрь бэкенда статикой. По дороге снова вылез конфликт версий пакетов — пришлось ставить в обход, как и раньше. Перезапускаю процесс, чтобы он подтянул изменения, и вот она, статика: фронтенд грузится с бэкенда, отдельный порт больше не нужен.
Полный выпуск (1 час 28 минут): https://rutube.ru/video/70858b2775dffb17c2e9c203937788ea
📦 Исходники и дополнительные материалы: https://boosty.to/endykaufman
💻 GitHub: https://github.com/EndyKaufman
✈️ Telegram: https://t.me/kaufman_log
🌐 Сайт: https://site15.ru
#shorts #fullstack #angular #фронтенд #бэкенд #статика
Показываю свой скилл для онбординга коммитов: агент берёт кучу изменений и разбивает их на логические коммиты. Ревьюить код стало в разы проще — каждый коммит это отдельная история.
Полный выпуск (53 минуты): https://youtu.be/-VUl5p5xe3I
#shorts #нейросеть #ai #git #коммиты #онбординг #код #разработка
Отправил пуш и показал запуск целиком: CI/CD поднимает MinIO, затем базу, применяет миграции, запускает прод и гоняет end-to-end — сначала на бэкенде, потом на фронтенде. Отдельная интрига — скачивается ли Chrome внутри раннера: кэша под него нет, и это место вполне могло упасть.
Не упало. Прошли оба набора, отчёты уехали в чек — правда, не сразу нашёлся путь, куда Action их кладёт, и я показываю, где их искать. Бэкендовые и фронтендовые e2e лежат рядом, все зелёные.
Полный выпуск (1 час 28 минут): https://rutube.ru/video/70858b2775dffb17c2e9c203937788ea
📦 Исходники и дополнительные материалы: https://boosty.to/endykaufman
💻 GitHub: https://github.com/EndyKaufman
✈️ Telegram: https://t.me/kaufman_log
🌐 Сайт: https://site15.ru
#shorts #githubactions #cicd #автотесты #devops #minio
Бэкенд под PM2 показал «запущен», swagger отвечал, всё вроде живо — а логов нет. Спрашиваю у агента, почему сюда ничего не приходит. Он меняет конфиг PM2, и логи появляются.
Причина оказалась в режиме запуска: в кластерном режиме PM2 сам форкает управляемый процесс и забирает его stdout через IPC внутри воркера, поэтому вывод прошлого запуска наружу просто не долетал. Тот же режим по-другому влияет и на сам запуск — это отдельный сюрприз, который я в ролике тоже проговариваю.
Полный выпуск (1 час 28 минут): https://rutube.ru/video/70858b2775dffb17c2e9c203937788ea/?r=plwd
📦 Исходники и дополнительные материалы: https://boosty.to/endykaufman
💻 GitHub: https://github.com/EndyKaufman
✈️ Telegram: https://t.me/kaufman_log
🌐 Сайт: https://site15.ru
#shorts #nodejs #nestjs #devops #логи #продакшен
E2E-пайплайн упал в CI с двумя претензиями сразу: environment не задан и образ MinIO не скачивается — репозитория, похоже, больше нет. Локально при этом всё поднимается: образ у меня заранее закачан.
Агент поискал и выдал: MinIO больше не раздаётся, образ заархивирован, докер просит логин. Предложил другой — от bitnamilegacy. И тут выбор вслух: образ можно выбросить из проекта совсем (в текущем скоупе MinIO не используется), но он всё равно понадобится, и париться придётся позже. Выбрал перепривязку. Левые образы в CI я ставить не хочу, поэтому агент сам же перепроверяет, насколько близко это к официальным источникам.
Полный выпуск (1 час 28 минут): https://rutube.ru/video/70858b2775dffb17c2e9c203937788ea
📦 Исходники и дополнительные материалы: https://boosty.to/endykaufman
💻 GitHub: https://github.com/EndyKaufman
✈️ Telegram: https://t.me/kaufman_log
🌐 Сайт: https://site15.ru
#shorts #minio #docker #githubactions #devops #s3
Попросил агента написать end-to-end тест. Он открыл страницу, сходил за health-данными на бэкенд, проверил, что дашборд на месте, что лоадера нет и что база подключена, — и сказал «готово». Тест зелёный.
При этом главное он не проверил: кнопку обновления нажал, но не сравнил, изменились ли после нажатия данные в блоке. Просто нажал. Я это и называю имитацией теста — формально всё осмотрено, по факту пропущено ровно то, ради чего тест затевался. Кидаю весь тест в чат и говорю прямо: проверь, что после нажатия на кнопку данные в div изменились.
Полный выпуск (1 час 28 минут): https://rutube.ru/video/70858b2775dffb17c2e9c203937788ea
📦 Исходники и дополнительные материалы: https://boosty.to/endykaufman
💻 GitHub: https://github.com/EndyKaufman
✈️ Telegram: https://t.me/kaufman_log
🌐 Сайт: https://site15.ru
#shorts #e2e #playwright #nestjs #разработка #автотесты
Агент через MCP использует Playwright, кликает по интерфейсу и сам создаёт документацию. Руками ничего не делаю — всё автоматизировано.
Полный выпуск (53 минуты): https://rutube.ru/video/8af7bfb3b9e759ca6732dbc8011293d9
#shorts #нейросеть #ai #playwright #mcp #документация #автоматизация #тестирование
Мне нужно было писать E2E тесты, но не в рамках тест-сервера, а против реально запущенного бэкенда. Сказал нейронке: создай SDK и используй его в тестах. Она поняла с первого раза — никаких тестовых приложений, только живая API.
Полный выпуск (78 минут): hhttps://rutube.ru/video/c70facc53f796801d96b6850f360a618
#shorts #нейросеть #e2e #тестирование
GitHub Actions упал — скопировал ошибку в чат, и агент сам всё починил. Ни одной строки кода вручную. CI/CD на автопилоте.
Полный выпуск (53 минуты): https://rutube.ru/video/8af7bfb3b9e759ca6732dbc8011293d9
#shorts #нейросеть #ai #cicd #githubactions #автоматизация #разработка
Сказал удалить контроллер — она удалила контроллер, тесты для него, сервис который использовался, DTO и тесты. Всё что было связано, вычищено за раз. Удобно так делать массовый рефакторинг — один команда, ноль мусора.
Полный выпуск (78 минут): https://rutube.ru/video/c70facc53f796801d96b6850f360a618
#shorts #нейросеть #рефакторинг #код
Переключаю режим LLM прямо во время задачи — дешевый для простых вещей, дорогой для сложного анализа. Оказалось, это экономит токены и не теряет в качестве.
Полный выпуск (53 минуты): https://rutube.ru/video/8af7bfb3b9e759ca6732dbc8011293d9/?r=plwd
#shorts #нейросеть #ai #разработка #llm #токены #оптимизация
Сказал удалить контроллер — она удалила контроллер, тесты для него, сервис который использовался, DTO и тесты. Всё что было связано, вычищено за раз. Удобно так делать массовый рефакторинг — один команда, ноль мусора.
Полный выпуск (78 минут): https://rutube.ru/video/c70facc53f796801d96b6850f360a618
#shorts #нейросеть #рефакторинг #код
Настраиваю MCP для PostgreSQL и объясняю, почему read-only пользователи — это мастхэв для продакшена. Агент работает с базой, но не может ничего сломать.
Полный выпуск (53 минуты): https://rutube.ru/video/8af7bfb3b9e759ca6732dbc8011293d9
#shorts #нейросеть #ai #postgres #mcp #безопасность #базыданных #разработка
Часто добавляю MinIO в проекты — это S3-хранилище для файлов. Один раз сказал об
этом вслух, и агент сам вспомнил, подхватил и дописал. Память о том, что я обычно
делаю, работает лучше, чем я думал.
Полный выпуск (78 минут): https://rutube.ru/video/5f0217394026e166e7a224fc12f5c748
📦 Исходники и дополнительные материалы: https://boosty.to/endykaufman
💻 GitHub: https://github.com/EndyKaufman
✈️ Telegram: https://t.me/kaufman_log
🌐 Сайт: https://site15.ru
#нейросеть #minio #s3 #бэкенд #разработка #ии
Без домена, без сервера, без деплоя: локальный сервер выкидывается в интернет
туннелем, и с этой ссылкой можно работать хоть с телефона. Тот же приём держит
вебхуки Telegram-бота на локальной машине.
Полный выпуск (78 минут): https://rutube.ru/video/5f0217394026e166e7a224fc12f5c748
📦 Исходники и дополнительные материалы: https://boosty.to/endykaufman
💻 GitHub: https://github.com/EndyKaufman
✈️ Telegram: https://t.me/kaufman_log
🌐 Сайт: https://site15.ru
#разработка #туннель #telegrambot #ии #нейросеть #влог
Строю настоящий fullstack-проект с AI-агентом: NestJS, Angular, Prisma, Postgres.
Код пишет агент, я сижу и делаю ревью — и вот что из этого выходит.
Полный выпуск (78 минут, всё по порядку): https://rutube.ru/video/5f0217394026e166e7a224fc12f5c748
📦 Исходники и дополнительные материалы: https://boosty.to/endykaufman
💻 GitHub: https://github.com/EndyKaufman
✈️ Telegram: https://t.me/kaufman_log
🌐 Сайт: https://site15.ru
Нарезка из большого выпуска. Если так удобнее — скажи в комментариях, буду резать чаще.
#нейросеть #ии #разработка #fullstack #nestjs #angular #prisma
