PurpleSchool - все видео

Новые видео из канала RuTube на сегодня - 6 June 2026 г.


Видео на тему: PurpleSchool


Рассмотрим работу Outbox Паттерна на примере бизнес-операции create order, transfer money. В одной транзакции одновременно сохраняются бизнес-данные в таблицу orders и событие в таблицу outbox_events. Это гарантирует, что либо всё сохранится, либо ничего — транзакция либо коммитится, либо откатывается целиком. Дальше вступает в дело relay-процесс — отдельный фоновый воркер. Он читает новые события из outbox_events и отправляет их в брокер сообщений, например Kafka или RabbitMQ. После успешной отправки событие из outbox_events удаляется или помечается как обработанное. Благодаря такой схеме вы никогда не потеряете событие и не отправите его без сохранения бизнес-данных. Про другие паттерны, про которые вас спросят на бэкенд-собеседовании, смотрите в полном видео — ссылка под шортсом. #backend #backendinterview #designpatterns #codinginterview #techinterview #softwarearchitecture #outboxpattern #microservices📚 Курс "Claude Code" — https://purpleschool.ru/course/claude-code-basics?utm_source=youtube&utm_medium=video&utm_campaign=news31&utm_content=description 📚 "Продвинутый Claude Code" — https://purpleschool.ru/course/claude-code-advanced?utm_source=youtube&utm_medium=video&utm_campaign=news31&utm_content=description В этом выпуске собрали главные новости веб-разработки за последний месяц. Открывает дайджест Spiceflow — новый fullstack React-фреймворк, который сходу предлагает работу с React Server Components и type-safe API. А если вы пишете под мобилки, то точно оцените Expo SDK 56, в котором Expo UI наконец полностью готов для продакшена. В мире React также вышел fate 1.0 — production-ready клиент данных с уникальным подходом к кэшированию, который заставит вас по-новому взглянуть на работу с состоянием. Любителям минимализма понравится Waku — свежий React-фреймворк, который позиционируется как лёгкая и прозрачная альтернатива тяжеловесному Next.js. А Tailwind CSS v4.3 предлагает удобные утилиты для стилизации скроллбаров, а также новые возможности для управления zoom и tab-size. Кроме того, Nuxt представил собственного AI-агента, а бэкенд-сообщество получило свежий Node.js 24.16.0 с долгожданными изменениями. У Rolldown вышла первая стабильная версия — этот быстрый бандлер на Rust уже работает под капотом Vite 8. И завершает дайджест Claude Opus 4.8: модель стала ещё точнее следовать инструкциям и создавать удобные воркфлоу для решения сложных кодинг-задач. Приходите учиться! 💻 Удобная платформа: AI-тренажеры, менторы, практика, 50+ курсов для разработчика. Цены от 999₽ → https://purpleschool.ru?utm_source=youtube&utm_medium=video&utm_campaign=news31&utm_content=description 🎁 Бонус +300₽ каждому, кто зарегистрируется на платформе сегодня! Бесплатные материалы: • Карьерные пути под вашу ситуацию → https://purpleschool.ru/skills/?utm_source=youtube&utm_medium=video&utm_campaign=news31&utm_content=description • Курс «Основы разработки» → https://purpleschool.ru/course/code-basics/?utm_source=youtube&utm_medium=video&utm_campaign=news31&utm_content=free_course • Курс «CSS Flexbox» → https://purpleschool.ru/course/flexbox/?utm_source=youtube&utm_medium=video&utm_campaign=news31&utm_content=free_course Сообщество: ✈️ Telegram-канал — новости веб-разработки, полезные материалы, карьерные консультации, мок-интервью → https://t.me/purple_code_channel 💬 Чат разработчиков — 4000+ ребят с самым разным опытом, обсуждаем код, карьеру, делимся опытом → https://t.me/purple_code 🕒 Таймкоды: 00:00 — Интро 00:22 — Spiceflow 01:23 — Expo SDK 56 02:38 — fate v1 03:38 — Waku 04:49 — Tailwind CSS v4.3 05:47 — Nuxt Agent 06:32 — Node.js v24.16.0 07:08 — Rolldown v1.0 07:46 — Claude Opus v4.8 09:27 — Аутро Ссылки на материалы из видео: Frontend https://getspiceflow.com https://expo.dev/changelog/sdk-56 https://fate.technology/posts/fate-1.0 https://waku.gg/ https://tailwindcss.com/blog/tailwindcss-v4-3 https://nuxt.com/blog/introducing-nuxt-agent Backend https://nodejs.org/en/blog/release/v24.16.0 Прочее https://voidzero.dev/posts/announcing-rolldown-1-0 https://www.anthropic.com/news/claude-opus-4-8Переход с Cursor на Claude может быть оправдан, если вам нужны более продвинутые возможности AI-агентов и работа в терминале. Claude Code даёт больше контроля над процессом, лучше работает с большими проектами и эффективнее использует контекст. По деньгам: Claude действительно дороже Cursor, потому что вы платите за фактическое использование токенов, а не за фикс-сабскрипшен. Но если вы работаете с кодом профессионально и много, то дополнительные затраты окупаются скоростью и качеством генерации. При этом никто не мешает использовать оба инструмента под разные задачи. Как альтернативу ещё можно посмотреть в сторону Codex — у него своя специфика, и для некоторых сценариев он тоже подходит. Полный ответ на этот и другие вопросы смотрите в видео по ссылке под шортсом. #ии #ai #aipipeline #aitools #cursor #claude #codex #aiagentsПро Event Sourcing вас точно спросят на бэкенд-собеседовании. Этот паттерн решает проблему потери истории изменений. В обычных подходах мы храним только текущее состояние объекта: например, последний баланс счёта. Но если кто-то изменил данные, мы не знаем, когда, кто и как это сделал. Event Sourcing предлагает хранить не текущее состояние, а всю последовательность событий, которые привели к этому состоянию: «счёт открыт», «зачислено 100 рублей», «списано 50 рублей». Из этих событий можно пересобрать состояние в любой момент времени. Какую боль это лечит? Полный аудит — всегда знаем, кто и что делал. Возможность отката до любого момента времени. Можно пересчитать состояние за другой период или восстановить данные после ошибки. Минусы: сложнее проектировать, нужно больше памяти для хранения событий. Про другие паттерны смотрите в полном видео — ссылка под шортсом. #backend #backendinterview #designpatterns #codinginterview #techinterview #softwarearchitecture #eventsourcingТренд на отказ от MCP в пользу CLI — что я думаю? CLI сами по себе не решают проблему интеграции: им нужны готовые наборы инструментов под каждую задачу. А универсального коннектора, который умеет работать и с дизайн-системой, и с Git, и с API, и с токенами, — пока просто нет, кроме MCP. При этом MCP не противопоставлен CLI: его можно использовать прямо в командной строке или в любом UI. Но полностью заменить MCP на голый CLI не получится — это не замена, а скорее разные слои одного пайплайна. Полный ответ на этот и другие вопросы смотрите в видео по ссылке под шортсом. #mcp #cli #ai #aipipeline #aitools #llm #softwaredevelopment #aiagentsРазбираю частые вопросы с собеседования про паттерн Repository. Первый вопрос: зачем нужен Repository, если есть ORM? ORM уже даёт абстракцию над таблицами, но Repository добавляет бизнесовую абстракцию — скрывает сложные запросы и условия. Второй вопрос: чем Repository отличается от DAO? DAO работает на уровне таблиц и возвращает объекты данных, Repository работает на уровне агрегатов и возвращает доменные объекты, не раскрывая детали хранения. Третий вопрос: возвращать entity из ORM или доменную модель? Лучше доменную модель — она не привязана к ORM и не тащит лишнего. Четвёртый вопрос: как тестировать код с Repository без БД? С помощью моков или подмены реализации — объявляете интерфейс репозитория в бизнес-слое, а в тестах подставляете заглушку с заранее заданным поведением, БД не нужна. Про другие паттерны смотрите в полном видео — ссылка под шортсом. #backend #backendinterview #designpatterns #codinginterview #techinterview #softwarearchitecture #repository #repositorypattern #ormВизуальная доступность включает несколько важных аспектов. Минимальный контраст текста и фона — 4.5:1 для обычного текста и 3:1 для крупного. Видимый focus ring — никогда не удаляйте outline: none без замены на контрастную видимую альтернативу. Размер кликабельной зоны — не меньше 44×44 пикселя для мобильных устройств. Анимации должны учитывать prefers-reduced-motion — если пользователь включил настройку, отключайте движущиеся элементы. При открытии модалки фон не должен скроллиться (блокировка скролла body). На собеседовании Middle и Senior важно показать понимание этих критериев WCAG. Полный разбор — в большом видео по ссылке под этим шортсом. #a11y #accessibility #frontend #frontendinterview #middle #senior #techinterview #codinginterview #wcag #visualaccessibilityРазбираю зачем нужен паттерн Outbox — про него вас точно спросят на бэкенд-собеседовании. Outbox Pattern решает проблему надёжной отправки событий в микросервисной архитектуре. Когда вы сохраняете данные в базу и отправляете событие в очередь или брокер сообщений, эти две операции не атомарны. Если событие ушло, а база упала — данные потеряны. Если база сохранилась, а событие не ушло — другие сервисы не узнают об изменении. Outbox Pattern предлагает решение: вместо прямой отправки событие сохраняется в ту же транзакцию в отдельную таблицу Outbox в базе данных. Затем отдельный процесс (воркер или Debezium) читает из этой таблицы и отправляет события в брокер. Если отправка упала, событие не удаляется из Outbox и будет повторно отправлено. Если база откатилась — событие тоже откатится. В итоге либо всё сделано, либо ничего, и события никогда не теряются. Про другие паттерны смотрите в полном видео — ссылка под шортсом. #backend #backendinterview #designpatterns #codinginterview #techinterview #softwarearchitecture #outboxpattern #microservicesРазбираю интерфейс паттерна Repository — один из пяти, про которые вас точно спросят на бэкенд-собеседовании. Repository — это прослойка между бизнес-логикой и хранилищем данных. В шортсе показываю доменную сущность, например User, и интерфейс репозитория с методами findById, save, delete, findAll. А затем реализацию этого интерфейса на TypeORM, где методы работают с реальной базой данных через EntityManager или getRepository. Такая абстракция позволяет легко тестировать бизнес-логику с моком репозитория и менять базу данных без переписывания кода. Про другие паттерны смотрите в полном видео — ссылка под шортсом. #backend #backendinterview #designpatterns #codinginterview #techinterview #softwarearchitecture #repository #repositorypattern #typeormДоступный компонент невозможен без правильной работы с клавиатурой и фокусом. При открытии модалки фокус должен перемещаться внутрь. При закрытии — возвращаться на элемент, который её открыл. Клавиша Escape должна закрывать модалку. Focus trap — фокус не должен уходить из компонента на фоновые элементы, зацикливание по Tab внутри. Это реализуется через отслеживание фокуса и принудительное перемещение его на первый/последний элемент при достижении границы. На собеседовании Middle и Senior важно показать понимание клавиатурной навигации. Полный разбор — в большом видео по ссылке под этим шортсом. #a11y #keyboard #focustrap #accessibility #frontend #frontendinterview #middle #senior #techinterview #codinginterviewПро паттерн Unit of Work вас точно спросят на бэкенд-собеседовании. В шортсе разберемся, зачем он нужен. Unit of Work — это паттерн, который группирует несколько операций в одну транзакцию. Он отслеживает все изменения, которые сделали репозитории, и в нужный момент отправляет их в базу данных одним коммитом. Рассказываю, какую проблему решает этот паттерн. Если бы Unit of Work не было, каждое изменение из репозитория сохранялось бы отдельно. При сохранении первого объекта всё ок, а второй упал с ошибкой — в базе остались бы частичные данные, согласованность нарушена. Пришлось бы вручную управлять транзакциями, открывая и закрывая их в бизнес-логике, что приводит к дублированию кода и ошибкам. Unit of Work берёт управление транзакциями на себя: либо всё сохранилось, либо ничего. Про другие паттерны смотрите в полном видео — ссылка под шортсом. #backend #backendinterview #designpatterns #codinginterview #techinterview #softwarearchitecture #unitofworkРазбираю паттерн Repository — один из пяти, про которые вас точно спросят на бэкенд-собеседовании. Repository — это прослойка между бизнес-логикой и источником данных. Он скрывает, где и как хранятся данные: в MySQL, PostgreSQL, MongoDB или просто в памяти. Рассказываю, какую проблему решает этот паттерн. Если бы репозитория не было, бизнес-логика работала бы с базой данных напрямую, используя SQL-запросы или специфические вызовы драйвера. Это привело бы к жёсткой привязке к конкретной базе данных. Сменить БД стало бы невозможно без переписывания всей логики. А тестирование превратилось бы в кошмар — пришлось бы поднимать реальную базу данных. Репозиторий же позволяет подменить реальный источник данных на мок при тестировании, а при смене БД достаточно написать новую реализацию. Про другие паттерны смотрите в полном видео — ссылка под шортсом. #backend #backendinterview #designpatterns #codinginterview #techinterview #softwarearchitecture #repository #repositorypatternРазбираю интерфейс Unit of Work — один из пяти паттернов, про которые вас точно спросят на бэкенд-собеседовании. Этот паттерн отвечает за группировку нескольких операций в одну транзакцию. Показываю, какие методы обычно в него входят: Commit — фиксирует изменения, Rollback — откатывает всё, если что-то пошло не так, SaveChanges — отправляет накопленные изменения в базу. Также есть методы RegisterNew для новых объектов, RegisterDirty для изменённых, RegisterClean для неизменённых и RegisterDeleted для удалённых. Плюс показываю пример метода execute, который принимает действие и внутри автоматически открывает транзакцию, выполняет код, вызывает Commit при успехе или Rollback при ошибке. #backend #backendinterview #designpatterns #codinginterview #techinterview #softwarearchitecture #unitofwork📚 Курс "TypeScript и паттерны проектирования" — https://purpleschool.ru/course/typescript?utm_source=youtube&utm_medium=video&utm_campaign=5patterns_backend&utm_content=description 📚 Курс "Claude Code" — https://purpleschool.ru/course/claude-code-basics?utm_source=youtube&utm_medium=video&utm_campaign=5patterns_backend&utm_content=description 📚 "Продвинутый Claude Code" — https://purpleschool.ru/course/claude-code-advanced?utm_source=youtube&utm_medium=video&utm_campaign=5patterns_backend&utm_content=description В этом видео разберём 5 паттернов проектирования, про которые вас точно спросят на бэкенд-собеседовании. Паттерн Repository помогает отделить бизнес-логику от доступа к данным и упрощает тестирование. Unit of Work обеспечивает транзакционность при работе с несколькими репозиториями. Outbox pattern решает проблему надёжной отправки событий в микросервисной архитектуре без распределённых транзакций. Event Sourcing предлагает хранить не текущее состояние объекта, а всю историю событий, что даёт полный аудит и возможность восстановить состояние в любой момент. Circuit Breaker защищает систему от каскадных отказов при вызове внешних сервисов. Я подробно объясню, зачем нужен каждый паттерн, как он работает на практике и какие вопросы по нему могут задать на интервью. Видео будет полезно как джунам, которые готовятся к первому собеседованию, так и более опытным разработчикам, желающим освежить знания. Приходите учиться! 💻 Удобная платформа: AI-тренажеры, менторы, практика, 50+ курсов для разработчика. Цены от 999₽ → https://purpleschool.ru?utm_source=youtube&utm_medium=video&utm_campaign=5patterns_backend&utm_content=description 🎁 Бонус +300₽ каждому, кто зарегистрируется на платформе сегодня! Бесплатные материалы: • Карьерные пути под вашу ситуацию → https://purpleschool.ru/skills/?utm_source=youtube&utm_medium=video&utm_campaign=5patterns_backend&utm_content=description • Курс «Основы разработки» → https://purpleschool.ru/course/code-basics/?utm_source=youtube&utm_medium=video&utm_campaign=5patterns_backend&utm_content=free_course • Курс «CSS Flexbox» → https://purpleschool.ru/course/flexbox/?utm_source=youtube&utm_medium=video&utm_campaign=5patterns_backend&utm_content=free_course Сообщество: ✈️ Telegram-канал — новости веб-разработки, полезные материалы, карьерные консультации, мок-интервью → https://t.me/purple_code_channel 💬 Чат разработчиков — 4000+ ребят с самым разным опытом, обсуждаем код, карьеру, делимся опытом → https://t.me/purple_code 🕒 Таймкоды: 00:00 — Интро 00:35 — Repository 03:39 — Unit of Work 06:54 — Outbox Pattern 11:26 — Event Sourcing 16:35 — Circuit Breaker 20:48 — АутроЗащита от CSRF (подделки запроса) строится на нескольких принципах. Первый — CSRF-токены: сервер генерирует уникальный токен для каждой формы или запроса, и без него запрос не принимается. Второй — SameSite куки: атрибут SameSite=Strict или Lax не даёт браузеру отправлять куки с чужих сайтов. Третий — Double Submit Cookie: сервер устанавливает токен в куку, а клиент отправляет его в теле запроса или заголовке, сервер сравнивает оба значения. Четвёртый — проверка Referer и Origin заголовков: сервер проверяет, откуда пришёл запрос. На собеседовании Middle и Senior важно понимать, что защита от CSRF — это прежде всего задача бэкенда, но фронтенд должен настраивать куки и передавать токены. Полный разбор — в большом видео по ссылке под этим шортсом. #csrf #crosssiterequestforgery #frontend #frontendinterview #middle #senior #techinterview #codinginterview #csrfprotectionImpeccable — это скилл, который учит ИИ-агента реальному дизайну. Внутри 23 команды для управления типографикой, цветом, компоновкой, анимацией и не только. Вместо бесконечных уточнений "сделай красиво" вы просто пишете /typeset, /colorize, /layout или /animate. Скилл также умеет находить типичные ошибки ИИ в коде — фиолетовые градиенты, вложенные карточки, низкую контрастность — и предлагает их исправить. Есть CLI для проверки в CI, Chrome-расширение для аудита любых сайтов и live-режим, в котором можно редактировать интерфейс прямо в браузере. Совместим с Claude Code, Codex, Gemini CLI и другими агентами. Больше полезных скиллов — ищи в полном видео по ссылке под шортсом. #impeccable #designskills #ui #aiagents #aiskills #ai #ии #aidevelopment #aidesignЗащита от XSS строится на нескольких уровнях. Первый — экранирование данных: заменяйте ﹤ на ﹤, ﹥ на ﹥ при вставке в HTML. Используйте textContent вместо innerHTML. Второй — Content Security Policy (CSP): заголовок, который запрещает выполнение сторонних скриптов. Третий — HttpOnly флаг для кук, чтобы скрипты не украли сессию. Четвёртый — валидация ввода: белые списки (разрешённые символы) лучше чёрных. Пятый — санитизация: DOMPurify для очистки пользовательского HTML. На собеседовании Middle и Senior важно назвать не один, а несколько методов защиты. Полный разбор — в большом видео по ссылке под этим шортсом. #xss #crosssitescripting #frontend #frontendinterview #middle #senior #techinterview #codinginterview #xssprotectionРепозиторий SEO & GEO Skills содержит 20 готовых скиллов для полного цикла поискового продвижения. Внутри есть всё: исследование ключевых слов, анализ конкурентов, написание оптимизированного контента, технические аудиты, отслеживание позиций и проверка качества по фреймворкам CORE-EEAT (80 пунктов) и CITE (40 пунктов). ИИ-агент сам соберёт семантику, проверит домен, найдёт ошибки и предложит, что улучшить. Подходит для Claude Code, Codex, Gemini CLI, Cursor и ещё 35+ агентов. Больше полезных скиллов — ищи в полном видео по ссылке под шортсом. #seo #geo #contentoptimization #aiagents #aiskills #ai #ии #aidevelopment #seoskills #geoskillspnpm — это быстрый и экономичный менеджер пакетов, альтернатива npm и yarn. Он сохраняет пакеты глобально и линкует их жёсткими ссылками, экономя место на диске. В одиннадцатой версии разработчики полностью переписали индекс пакетов: вместо миллионов JSON-файлов теперь используется единая SQLite-база данных — установки стали ещё быстрее. pnpm теперь требует Node.js 22+ и работает как pure ESM. Встроили нативную публикацию пакетов — больше не нужен npm CLI. Добавили защиту цепочки поставок: minimumReleaseAge включён по умолчанию — свежие пакеты не подтянутся, пока им не исполнится хотя бы день. Плюс глобальные установки теперь изолированы в виртуальное хранилище — никаких конфликтов между разными версиями пакетов. Отличный апдейт для тех, кто ценит скорость и безопасность. #devnews #pnpm #npm #nodejs #yarn #packagemanager #webdev #frontendРепозиторий Frontend Slides — это скилл для ИИ-агента, который создаёт красивые HTML-презентации с анимацией. Вам не нужно описывать дизайн словами — агент сам генерирует визуальные превью стилей, а вы просто выбираете понравившийся. Внутри 12 готовых стилей: от минималистичного Swiss Modern до дерзкого Neon Cyber. Можно создать презентацию с нуля или конвертировать существующий PowerPoint — все изображения и текст сохранятся. На выходе — один HTML-файл без зависимостей, который работает где угодно. Совместим с Claude Code, Codex, Gemini CLI и другими агентами. Больше полезных скиллов — ищи в полном видео по ссылке под шортсом. #frontend #aipresentation #frontendslides #aiagents #aiskills #ai #ии #aidevelopment #html