Тренд на отказ от 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
Защита от CSRF (подделки запроса) строится на нескольких принципах. Первый — CSRF-токены: сервер генерирует уникальный токен для каждой формы или запроса, и без него запрос не принимается. Второй — SameSite куки: атрибут SameSite=Strict или Lax не даёт браузеру отправлять куки с чужих сайтов. Третий — Double Submit Cookie: сервер устанавливает токен в куку, а клиент отправляет его в теле запроса или заголовке, сервер сравнивает оба значения. Четвёртый — проверка Referer и Origin заголовков: сервер проверяет, откуда пришёл запрос. На собеседовании Middle и Senior важно понимать, что защита от CSRF — это прежде всего задача бэкенда, но фронтенд должен настраивать куки и передавать токены. Полный разбор — в большом видео по ссылке под этим шортсом.
#csrf #crosssiterequestforgery #frontend #frontendinterview #middle #senior #techinterview #codinginterview #csrfprotection
Impeccable — это скилл, который учит ИИ-агента реальному дизайну. Внутри 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 #geoskills
pnpm — это быстрый и экономичный менеджер пакетов, альтернатива 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
Репозиторий GStack — это 23 готовых инструмента, которые превращают вашего ИИ-агента в целую команду. Внутри есть скиллы, которые закрывают роли CEO для стратегического планирования, QA для тестирования в реальном браузере, Release Engineer для автоматического деплоя, Design Engineer для вёрстки, Security Officer для аудита безопасности и многие другие. Агент перестаёт быть просто генератором кода и начинает работать как системный инженер с чёткими обязанностями. Совместим с Claude Code, Codex, Gemini CLI и другими агентами. Больше полезных скиллов — ищи в полном видео по ссылке под шортсом.
#gstack #aiagents #aiskills #ai #ии #claude #codex #aidevelopment
Субагенты — это маленькие AI-помощники, которые делают конкретные задачи вместо того, чтобы один большой AI-agent пытался делать всё сразу. Зачем они нужны? Чтобы разгружать основного агента, ускорять работу и не перегружать контекст. Какие бывают субагенты? Те, которые проверяют код, тестируют, ревьюят, рефакторят, ищут баги, пишут документацию, генерируют компоненты. Преимущества: каждый субагент заточен под свою задачу, их можно запускать параллельно, они работают быстрее и дешевле, а главное — не засоряют контекст основного агента. Плюс субагенты сокращают расход токенов, потому что для них можно взять модель поменьше, например вместо Opus использовать Sonnet. Как мы используем субагентов в нашем пайплайне — смотрите в полном видео по ссылке под шортсом.
#subagents #ии #ai #aiagents #linting #codereview #claude #aidevelopment
AI-кодинг — это мощно, но есть подводные камни. AI-код требует ревью, ему нельзя слепо доверять. Нужно использовать инкрементальный подход — никакого «сгенерируй мне всё сразу». Важно помнить про контекстное окно: ограничение по токенам никто не отменял, большой проект туда не впихнуть. Документация живёт с проектом и требует постоянной поддержки — если она устарела, AI будет врать. Нужен MCP, но у него есть ограничения: безопасность данных, латентность, и не все инструменты его поддерживают. Как мы обходим эти ограничения в нашем пайплайне — смотрите в полном видео по ссылке под шортсом.
#ии #ai #aiagents #aidevelopment #vibecoding #aipipeline #aiprogramming #aicoding
Commit Skill учит ИИ-агента писать коммиты по стандарту Conventional Commits с описанием на русском языке. Скилл автоматически определяет нужный тип — feat, fix, refactor, docs, chore, style, test, perf, ci, build — и подходящий scope: backend, frontend или конкретный модуль вроде auth, transactions, categories. Вместо бессмысленных "update" и "fix" агент создаёт структурированные коммиты с маленькой буквы, без точки в конце, кратко и по существу. Скилл также умеет декомпозировать большие изменения на несколько логических коммитов. Совместим с Claude Code, Codex, Gemini CLI и другими агентами. Больше полезных скиллов — ищи в полном видео по ссылке под шортсом.
#commit #aiagents #aiskills #ai #ии #claude #codex #aidevelopment #gitcommit
Это реальный вопрос с фронтенд-собеседования: как сделать интерактивный компонент доступным? В шортсе рассмотрим правильную разметку модального окна на примере. Для кнопки, открывающей модалку, используйте aria-haspopup="dialog", чтобы скринридер объявил, что кнопка открывает диалог. Само модальное окно — role="dialog" или role="alertdialog", aria-modal="true", чтобы фокус оставался внутри. Заголовок свяжите через aria-labelledby, описание — через aria-describedby. Атрибут title недостаточен для доступности, используйте aria-label для немых элементов без текста или описание через aria-labelledby. Фокус при открытии должен перемещаться в модалку, а при закрытии — возвращаться на кнопку. На собеседовании важно показать, что вы понимаете не просто ARIA, а сценарии использования с клавиатуры и скринридера. Полный разбор — в большом видео по ссылке под этим шортсом.
#a11y #modalwindow #frontend #frontendinterview #middle #senior #techinterview #codinginterview




