PurpleSchool
Иконка канала PurpleSchool

PurpleSchool

449 подписчиков

4
просмотра
Разбираю паттерн Repository — один из пяти, про которые вас точно спросят на бэкенд-собеседовании. Repository — это прослойка между бизнес-логикой и источником данных. Он скрывает, где и как хранятся данные: в MySQL, PostgreSQL, MongoDB или просто в памяти. Рассказываю, какую проблему решает этот паттерн. Если бы репозитория не было, бизнес-логика работала бы с базой данных напрямую, используя SQL-запросы или специфические вызовы драйвера. Это привело бы к жёсткой привязке к конкретной базе данных. Сменить БД стало бы невозможно без переписывания всей логики. А тестирование превратилось бы в кошмар — пришлось бы поднимать реальную базу данных. Репозиторий же позволяет подменить реальный источник данных на мок при тестировании, а при смене БД достаточно написать новую реализацию. Про другие паттерны смотрите в полном видео — ссылка под шортсом. #backend #backendinterview #designpatterns #codinginterview #techinterview #softwarearchitecture #repository #repositorypattern
57
просмотров
Разбираю интерфейс Unit of Work — один из пяти паттернов, про которые вас точно спросят на бэкенд-собеседовании. Этот паттерн отвечает за группировку нескольких операций в одну транзакцию. Показываю, какие методы обычно в него входят: Commit — фиксирует изменения, Rollback — откатывает всё, если что-то пошло не так, SaveChanges — отправляет накопленные изменения в базу. Также есть методы RegisterNew для новых объектов, RegisterDirty для изменённых, RegisterClean для неизменённых и RegisterDeleted для удалённых. Плюс показываю пример метода execute, который принимает действие и внутри автоматически открывает транзакцию, выполняет код, вызывает Commit при успехе или Rollback при ошибке. #backend #backendinterview #designpatterns #codinginterview #techinterview #softwarearchitecture #unitofwork
58
просмотров
Защита от CSRF (подделки запроса) строится на нескольких принципах. Первый — CSRF-токены: сервер генерирует уникальный токен для каждой формы или запроса, и без него запрос не принимается. Второй — SameSite куки: атрибут SameSite=Strict или Lax не даёт браузеру отправлять куки с чужих сайтов. Третий — Double Submit Cookie: сервер устанавливает токен в куку, а клиент отправляет его в теле запроса или заголовке, сервер сравнивает оба значения. Четвёртый — проверка Referer и Origin заголовков: сервер проверяет, откуда пришёл запрос. На собеседовании Middle и Senior важно понимать, что защита от CSRF — это прежде всего задача бэкенда, но фронтенд должен настраивать куки и передавать токены. Полный разбор — в большом видео по ссылке под этим шортсом. #csrf #crosssiterequestforgery #frontend #frontendinterview #middle #senior #techinterview #codinginterview #csrfprotection
83
просмотра
Impeccable — это скилл, который учит ИИ-агента реальному дизайну. Внутри 23 команды для управления типографикой, цветом, компоновкой, анимацией и не только. Вместо бесконечных уточнений "сделай красиво" вы просто пишете /typeset, /colorize, /layout или /animate. Скилл также умеет находить типичные ошибки ИИ в коде — фиолетовые градиенты, вложенные карточки, низкую контрастность — и предлагает их исправить. Есть CLI для проверки в CI, Chrome-расширение для аудита любых сайтов и live-режим, в котором можно редактировать интерфейс прямо в браузере. Совместим с Claude Code, Codex, Gemini CLI и другими агентами. Больше полезных скиллов — ищи в полном видео по ссылке под шортсом. #impeccable #designskills #ui #aiagents #aiskills #ai #ии #aidevelopment #aidesign
17
просмотров
Защита от XSS строится на нескольких уровнях. Первый — экранирование данных: заменяйте ﹤ на ﹤, ﹥ на ﹥ при вставке в HTML. Используйте textContent вместо innerHTML. Второй — Content Security Policy (CSP): заголовок, который запрещает выполнение сторонних скриптов. Третий — HttpOnly флаг для кук, чтобы скрипты не украли сессию. Четвёртый — валидация ввода: белые списки (разрешённые символы) лучше чёрных. Пятый — санитизация: DOMPurify для очистки пользовательского HTML. На собеседовании Middle и Senior важно назвать не один, а несколько методов защиты. Полный разбор — в большом видео по ссылке под этим шортсом. #xss #crosssitescripting #frontend #frontendinterview #middle #senior #techinterview #codinginterview #xssprotection
32
просмотра
Репозиторий 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
20
просмотров
pnpm — это быстрый и экономичный менеджер пакетов, альтернатива npm и yarn. Он сохраняет пакеты глобально и линкует их жёсткими ссылками, экономя место на диске. В одиннадцатой версии разработчики полностью переписали индекс пакетов: вместо миллионов JSON-файлов теперь используется единая SQLite-база данных — установки стали ещё быстрее. pnpm теперь требует Node.js 22+ и работает как pure ESM. Встроили нативную публикацию пакетов — больше не нужен npm CLI. Добавили защиту цепочки поставок: minimumReleaseAge включён по умолчанию — свежие пакеты не подтянутся, пока им не исполнится хотя бы день. Плюс глобальные установки теперь изолированы в виртуальное хранилище — никаких конфликтов между разными версиями пакетов. Отличный апдейт для тех, кто ценит скорость и безопасность. #devnews #pnpm #npm #nodejs #yarn #packagemanager #webdev #frontend
14
просмотров
Репозиторий Frontend Slides — это скилл для ИИ-агента, который создаёт красивые HTML-презентации с анимацией. Вам не нужно описывать дизайн словами — агент сам генерирует визуальные превью стилей, а вы просто выбираете понравившийся. Внутри 12 готовых стилей: от минималистичного Swiss Modern до дерзкого Neon Cyber. Можно создать презентацию с нуля или конвертировать существующий PowerPoint — все изображения и текст сохранятся. На выходе — один HTML-файл без зависимостей, который работает где угодно. Совместим с Claude Code, Codex, Gemini CLI и другими агентами. Больше полезных скиллов — ищи в полном видео по ссылке под шортсом. #frontend #aipresentation #frontendslides #aiagents #aiskills #ai #ии #aidevelopment #html
21
просмотр
Репозиторий GStack — это 23 готовых инструмента, которые превращают вашего ИИ-агента в целую команду. Внутри есть скиллы, которые закрывают роли CEO для стратегического планирования, QA для тестирования в реальном браузере, Release Engineer для автоматического деплоя, Design Engineer для вёрстки, Security Officer для аудита безопасности и многие другие. Агент перестаёт быть просто генератором кода и начинает работать как системный инженер с чёткими обязанностями. Совместим с Claude Code, Codex, Gemini CLI и другими агентами. Больше полезных скиллов — ищи в полном видео по ссылке под шортсом. #gstack #aiagents #aiskills #ai #ии #claude #codex #aidevelopment
18
просмотров
Субагенты — это маленькие AI-помощники, которые делают конкретные задачи вместо того, чтобы один большой AI-agent пытался делать всё сразу. Зачем они нужны? Чтобы разгружать основного агента, ускорять работу и не перегружать контекст. Какие бывают субагенты? Те, которые проверяют код, тестируют, ревьюят, рефакторят, ищут баги, пишут документацию, генерируют компоненты. Преимущества: каждый субагент заточен под свою задачу, их можно запускать параллельно, они работают быстрее и дешевле, а главное — не засоряют контекст основного агента. Плюс субагенты сокращают расход токенов, потому что для них можно взять модель поменьше, например вместо Opus использовать Sonnet. Как мы используем субагентов в нашем пайплайне — смотрите в полном видео по ссылке под шортсом. #subagents #ии #ai #aiagents #linting #codereview #claude #aidevelopment
42
просмотра
AI-кодинг — это мощно, но есть подводные камни. AI-код требует ревью, ему нельзя слепо доверять. Нужно использовать инкрементальный подход — никакого «сгенерируй мне всё сразу». Важно помнить про контекстное окно: ограничение по токенам никто не отменял, большой проект туда не впихнуть. Документация живёт с проектом и требует постоянной поддержки — если она устарела, AI будет врать. Нужен MCP, но у него есть ограничения: безопасность данных, латентность, и не все инструменты его поддерживают. Как мы обходим эти ограничения в нашем пайплайне — смотрите в полном видео по ссылке под шортсом. #ии #ai #aiagents #aidevelopment #vibecoding #aipipeline #aiprogramming #aicoding
31
просмотр
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
32
просмотра
Это реальный вопрос с фронтенд-собеседования: как сделать интерактивный компонент доступным? В шортсе рассмотрим правильную разметку модального окна на примере. Для кнопки, открывающей модалку, используйте 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
43
просмотра
Репозиторий Superpowers содержит в себе набор скиллов для полного цикла работы над программным обеспечением. Внутри есть скиллы для отладки с чёткой четырёхфазной методологией, автоматического код-ревью с проверкой соответствия плану, TDD с циклом красный-зелёный-рефакторинг, написания детальных планов реализации, работы с git-worktrees для изолированных веток и так далее. Всё это превращает ИИ-агента из генератора кода в системного инженера, который ведёт проект от идеи до релиза. Совместим с Claude Code, Codex, Gemini CLI и другими агентами. Больше полезных скиллов — ищи в полном видео по ссылке под шортсом. #superpowers #aiagents #aiskills #ai #ии #tdd #codereview #debugging #claude #codex
47
просмотров
Документация для AI отвечает на вопрос «что это за проект». Помимо глобального описания проекта, например в CLAUDE.md, нужно делать документацию по каждому модулю. В ней описывать: зачем нужен модуль, какой API предоставляет, что в нём находится, зачем он нужен пользователям и как они используют этот модуль. Это даёт AI-агенту дополнительный контекст и заметно улучшает качество кода. Что касается хранения — есть несколько техник. Можно складывать всё в папку docs. А можно создавать документацию рядом с каждым компонентом, в той же директории. Документация + скиллы дают AI полную картину: документация про «что делает проект и модули», скиллы про «как именно делать». Как мы организуем документацию в нашем пайплайне — смотрите в полном видео по ссылке под шортсом. #documentation #aicontext #ии #ai #aiagent #claudemd #claude #aipipeline
51
просмотр
Lingui — это библиотека для интернационализации (i18n) JavaScript-приложений. Работает с React, Vue, Node.js и даже Astro со Svelte через плагины сообщества. В шестой версии разработчики полностью перешли на ESM, сократили размер node_modules на 44% и уменьшили количество зависимостей со 146 до 104. Появилась поддержка многопоточности в CLI — переводы извлекаются и компилируются быстрее. Добавили возможность именовать плейсхолдеры в JSX через атрибуты, теперь переводчики не путаются в цифрах. И главное — библиотека адаптировалась под AI-эру: появились llms.txt файлы для обучения нейросетей и Agent Skills для автодополнения кода в AI-ассистентах. Мощное обновление для тех, кто делает многоязычные проекты. #devnews #lingui #i18n #internationalization #react #esm #js #javascript
50
просмотров
Скиллы — это рецепты для AI. Они объясняют, как делать ту или иную задачу: какую структуру компонента использовать, какие импорты ставить, как именовать файлы, какой стиль применять. Если документация отвечает на вопрос «что это за проект», то скиллы отвечают на вопрос «как именно делать». Скиллы есть везде — и в Claude Code, и в Codex, это стандартный механизм. Без скиллов AI хаотит и выдаёт каждый раз разный результат. Со скиллами — консистентный код, единый подход и меньше правок. Как скиллы встроены в наш AI-пайплайн — смотрите в полном видео по ссылке под шортсом. #skills #aiskills #ии #ai #aidesign #aiagent #claudecode #codex
50
просмотров
keepsimple.io/uxcore — это бесплатная библиотека когнитивных искажений. Более 100 паттернов с примерами для продактов, дизайнеров, HR и маркетологов. Нужно понять, почему пользователи кликают не туда, почему сотрудники принимают странные решения или как убедить заказчика? Здесь собраны эвристики, ошибки мышления и способы их использовать в работе. Каждый принцип — с объяснением и конкретными кейсами. Никакой воды, только прикладная психология для IT. Сохраняйте в закладки — пригодится и для интерфейсов, и для презентаций. #devnews #ux #ui #productdesign #productmanagement #uxresearch #cognitivedistortions #webdev
54
просмотра
Есть проект трекера расходов — API, пользователи, транзакции, категории. Но не хватает счетов. Даём Claude и Codex задачу: нужно реализовать счета, чтобы транзакции можно было привязывать к определённому счёту и переводить деньги с одного счёта на другой. В рамках задачи требуется сделать именно API изменения. Всё делаем в plan mode — сначала план, потом код. Смотрим, кто продумал логику грамотно, у кого API получился рабочим, и насколько модели справились с доработкой структуры. Полное сравнение Claude и ChatGPT — ссылка под шортсом! #claude #claudecode #chatgpt #codex #opus #ai #aicoding #aiassistant #ии #api
54
просмотра
После того как Pencil + MCP помогли перевести макет в компоненты, остаётся другая проблема — AI выдаёт неконсистентный вывод. Каждый раз компоненты выглядят и работают по-разному. Решение — скиллы и качественная документация проекта. Скилл задаёт «рецепт»: как делать то или иное — структуру компонента, стили, импорты. А документация описывает, что это за проект: архитектура, слои, принятые соглашения. В итоге AI выдаёт единый стилевой подход, одинаковый макет даёт одинаковый результат, а итераций с дизайнером становится меньше. Как это настроить — в полном видео по ссылке под шортсом. #pencildev #aiskills #mcp #ии #ai #aidesign #ui #aiagent #claude #claudemd