Раньше, чтобы показать поповер по ховеру, нужен был JavaScript. Теперь — достаточно HTML.
interesttarget связывает элемент-триггер и поповер. Браузер сам обрабатывает hover, focus или long-press и показывает подсказку.
Можно совмещать с Popover API и Anchor Positioning для точного позиционирования.
Пока экспериментальная — работает в Chromium-браузерах (Chrome 135+, Edge 135+). В Firefox и Safari API ещё не реализован, поэтому стоит использовать фолбэк или JS-вариант для совместимости.
#readme #html
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰7❤3👍3
🧠 Три бага: LLM против ручного анализа
Разбираем кейс:
может ли LLM полноценно дебажить сложные проблемы в связке React + Next.js + TanStack Query + Zod?
🔴 Где AI действительно силён
Типовые проблемы:
В этих кейсах AI часто:
✅ Быстро находит причину
✅ Предлагает рабочий фикс
⚠️ Но не всегда учитывает контекст продукта
🔴 Где начинаются проблемы
Когда баг связан с:
AI начинает:
❌ предлагать противоречивые root cause
❌ «уверенно галлюцинировать»
❌ чинить симптом, а не архитектуру
❌ создавать новый баг вместо старого
Особенно это видно в сложных сценариях Next.js App Router, где поведение зависит от того, сервер это, клиент, переход по Link или refresh.
🔴 Главный вывод
AI — отличный инструмент первого уровня:
Но если проблема требует понимания:
— здесь без человеческой модели системы не обойтись.
🧩 Реальность 2026 года
Навык больше не в том, чтобы «писать хорошие промпты». Навык — понимать, когда:
AI ускоряет. Но ответственность за root cause остаётся на разработчике.
🐸 Библиотека фронтендера
#code_battle
Разбираем кейс:
может ли LLM полноценно дебажить сложные проблемы в связке React + Next.js + TanStack Query + Zod?
Типовые проблемы:
• ошибки валидации Zod
• забытые null-check’и
• очевидные runtime-ошибки
• несовпадение типов
В этих кейсах AI часто:
⚠️ Но не всегда учитывает контекст продукта
Когда баг связан с:
• Suspense и границами загрузки
• RSC payload и SPA-навигацией
• redirect в App Router
• Server Actions
• кэшированием и hydration
AI начинает:
Особенно это видно в сложных сценариях Next.js App Router, где поведение зависит от того, сервер это, клиент, переход по Link или refresh.
AI — отличный инструмент первого уровня:
«Вот лог, вот ошибка, почини»
Но если проблема требует понимания:
• как работает фреймворк под капотом
• как данные проходят через сервер и клиент
• какие UX-последствия создаёт решение
— здесь без человеческой модели системы не обойтись.
🧩 Реальность 2026 года
Навык больше не в том, чтобы «писать хорошие промпты». Навык — понимать, когда:
• AI действительно помогает
• AI надо остановить
• и пора включать собственное мышление
AI ускоряет. Но ответственность за root cause остаётся на разработчике.
#code_battle
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5🌚1
Это переходная версия перед крупным релизом 7.0, который будет основан на новом компиляторе на Go с поддержкой многопоточности. По сути, 6.0 — последний мажорный релиз на текущей JavaScript-кодовой базе и мост к новой архитектуре.
Что добавили:
• strict теперь включён
• module → esnext
• target → актуальная версия ECMAScript (сейчас es2025)
• types по умолчанию пустой массив — больше контроля и быстрее сборка
• Убраны и помечены deprecated устаревшие опции (es5, amd, classic, baseUrl и др.)
npm install -D typescript@beta
Если планируете переход на 7.0 — лучше протестировать проект уже сейчас: 6.0 помогает заранее убрать несовместимости и снизить шум при миграции.
#release_digest
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7🔥2
Во фронтенде данные чаще всего представлены объектами. Проблемы возникают из-за мутаций, отсутствующих свойств и некорректного копирования.
Ниже — практики, которые помогают держать состояние под контролем.
Значение по умолчанию применяется только если свойство === undefined.
const { theme = "light", user = {} } = settings ?? {};
const city = user?.profile?.address?.city ?? "Не указан»;
— ?. возвращает undefined, если часть цепочки отсутствует
— ?? подставляет значение только для null или undefined
— В отличие от ||, не ломает 0, false, ""
const updatedUser = {
...user,
settings: {
...user.settings,
darkMode: true
}
};
Spread создаёт поверхностную копию (вложенные объекты — по ссылке).
const { password, ...safeUser } = user;
Создаётся новый объект без password. Исходный объект не изменяется.
const copy = structuredClone(state);
— Делает глубокую копию
— Работает с Date, Map, Set и другими поддерживаемыми типами
— Основан на стандартном structured clone algorithm
#readme #js
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🥰3
This media is not supported in your browser
VIEW IN TELEGRAM
Размытие через filter: blur() — это про сам элемент. Если нужно размывать фон за ним — используйте backdrop-filter.
— В чём разница между filter и backdrop-filter
— Почему стандартный blur выглядит «плоско»
— Как расширить зону размытия через mask-image
— Как избежать проблем с кликами, мерцанием и поддержкой браузеров
В конце — готовый код и интерактивная песочница. Если вы делаете glass-эффект в интерфейсах — этот материал поможет довести его до действительно аккуратного уровня.
#under_hood
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5🥰2
Агенты, которые управляют браузером? Да.
Frontend-разработка встречает AI. В новом курсе «Разработка AI-агентов» появился мощный модуль по Browser Use. Агенты теперь могут взаимодействовать с веб-интерфейсами так же, как пользователи.
Что внутри для фронтендера?
🔹 Browser Control. Управление браузером, визуальные подтверждения, работа с DOM через AI.
🔹 Взаимодействие. Как строить интерфейсы для
🔹 Архитектура. Как AI-бэкенд общается с клиентом: стриминг токенов, состояние, обработка ошибок.
🔹 Advanced RAG. Создание умного поиска по документации и базам знаний.
Стартуй сейчас! Покупаешь курс — сразу получаешь доступ к материалам.
🎟 ПромокодAgent — скидка 10 000 ₽ (до 28 февраля).
👉 Создавать умные интерфейсы
Frontend-разработка встречает AI. В новом курсе «Разработка AI-агентов» появился мощный модуль по Browser Use. Агенты теперь могут взаимодействовать с веб-интерфейсами так же, как пользователи.
Что внутри для фронтендера?
🔹 Browser Control. Управление браузером, визуальные подтверждения, работа с DOM через AI.
🔹 Взаимодействие. Как строить интерфейсы для
Human-in-the-loop (человек в контуре принятия решений).🔹 Архитектура. Как AI-бэкенд общается с клиентом: стриминг токенов, состояние, обработка ошибок.
🔹 Advanced RAG. Создание умного поиска по документации и базам знаний.
Стартуй сейчас! Покупаешь курс — сразу получаешь доступ к материалам.
🎟 Промокод
👉 Создавать умные интерфейсы
👍4🥰2
This media is not supported in your browser
VIEW IN TELEGRAM
JOIN — это способ соединить данные из разных таблиц по общему полю.
В видео разбирают:
— разницу между INNER и LEFT JOIN
— почему строки могут «пропадать»
— как формируется итоговый результат
Подойдёт новичкам, тем, кто путается в JOIN, и всем, кто хочет перестать писать запросы вслепую.
#read_watch #sql
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥2🥰2
Discriminated Union — это самый практичный инструмент в TypeScript, который многие недооценивают.
Суть:
Вы описываете состояние через общий дискриминатор (обычно status или type), и TypeScript гарантирует, что вы обработаете все варианты.
Если вы добавите новое состояние:
| { status: 'refreshing' }
TypeScript сразу подсветит ошибку — вы забыли обработать кейс. Без Discriminated Union это всплывёт только в продакшене.
state.data // ❌ ошибка, если status !== 'success’
Тип автоматически сужается внутри каждого case. Никаких undefined и падений в рантайме.
Плохой вариант:
{
isLoading: boolean;
isError: boolean;
data?: string;
}
Можно получить одновременно:
• isLoading = true
• isError = true
Нелогичное состояние, но типы это пропустят. Discriminated Union делает такие состояния невозможными.
Если вы работаете с:
• React state
• API-запросами
• Redux / Zustand
• finite state machine
• сложными UI-формами
— это не «опциональная техника», это базовая архитектура состояния.
#hotfix #ts
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍3🥰2
Теперь можно инициализировать Sentry на нативном уровне до загрузки JS.
— Ловит краши при старте приложения
— Закрывает «слепую зону» до Sentry.init()
Минималки выросли:
— iOS 15+
— AGP 7.4+
— Kotlin 1.8+
Если поддерживаете старые iOS — обновление может быть болезненным. Обновляться стоит, если критичны краши на cold start. Иначе — сначала проверить совместимость билд-пайплайна.
Вы уже на 8.x
#release_digest
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🥰2🔥1
Middle frontend-разработчик — 150 000 - 200 000 ₽, удаленно, Санкт-Петербург
Middle Frontend — ~ от 274 700 ₽, удаленно
Junior+ Frontend (React) Developer — 120 000 - 150 000 ₽, гибрид, Москва
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🔥1
у меня localhost не открывается на проде
#pixel_pause
Please open Telegram to view this post
VIEW IN TELEGRAM
😁6🥰2🌚1
Альтернативный интерфейс для просмотра пакетов из npm registry. Работает быстрее стандартной страницы и показывает ключевые данные без лишнего шума.
— Версии и частота обновлений
— Размер пакета
— Количество и состав зависимостей
— Формат модулей (ESM / CJS)
— Лицензия
— размеру
— транзитивным зависимостям
— лицензии
— формату сборки
Полезно при выборе библиотеки в продакшен, чтобы не тащить лишний вес и риски.
#stack
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰5❤2🔥1
Что такое reconciliation в React? Почему при изменении состояния не перерисовывается весь DOM?
1) React вызывает компонент заново и создаёт новое дерево элементов (Virtual DOM)
2) Сравнивает его с предыдущим деревом
3) Вычисляет минимальный набор изменений
4) Обновляет только изменённые узлы в реальном DOM
Поэтому весь DOM не перерисовывается.
— Элементы одного типа считаются «одними и теми же»
— key помогает корректно сопоставлять элементы в списках
— Компоненты сохраняют состояние, если остаются на той же позиции в дереве
Важно:
Re-render ≠ обновление всего DOM. Перерендер — это пересчёт UI, а не полная перерисовка страницы.
👍 — знал/а
🔥 — стало понятнее
#career_merge #junior
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥10🥰3😁1🥱1
Angular продолжает курс на signals-first, отказ от Zone.js и более предсказуемую производительность.
Ключевые изменения:
Формы на основе signals выходят на зрелый уровень:
— более точечные обновления
— меньше зависимости от RxJS в локальном состоянии
— лучше работает с zoneless-архитектурой
Компоненты без строковых селекторов — импорт прямо в шаблон. Плюсы: проще рефакторинг, меньше магии, лучше типизация.
ChangeDetectionStrategy.OnPush может стать дефолтом для новых компонентов. Меньше случайных перерендеров, более явная реактивность.
— стабильнее HMR
— улучшения Angular Language Service
— DevTools лучше понимают signals
Фокус на современные раннеры и интеграцию с актуальным JS-инструментарием без ломки старых проектов.
CLI и инструменты становятся удобнее для работы с AI-ассистентами. Не магия в рантайме, а помощь в разработке.
#angular #release_digest
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥2❤1❤🔥1🥰1
UI для ИИ: как агенты взаимодействуют с браузером и интерфейсами
В 2026 году ИИ-агенты вышли за пределы текстовых чатов. Теперь они сами ходят по сайтам, кликают по кнопкам и взаимодействуют с legacy-системами.
Мы пересобрали курс по AI-агентам, добавив отдельный модуль про управление браузером, визуальные подтверждения и контроль доменов. Учим создавать системы, которые видят интерфейсы и работают с ними стабильно.
Что ждёт на новом потоке:
— визуальные агенты: управление браузером и клики по старым интерфейсам;
— продвинутый
— стабильность пайплайнов: восстановление состояний, time-travel при ошибках;
— RAG высокого уровня: парсинг сканов, таблиц и разнородных документов;
— экономика: кэширование запросов к LLM и динамический роутинг на фронте и бэке.
Промокод
Забирайте два дополнительных курса в подарок, активировав акцию «3 курса по цене 1».
Погрузиться в разработку AI-агентов
В 2026 году ИИ-агенты вышли за пределы текстовых чатов. Теперь они сами ходят по сайтам, кликают по кнопкам и взаимодействуют с legacy-системами.
Мы пересобрали курс по AI-агентам, добавив отдельный модуль про управление браузером, визуальные подтверждения и контроль доменов. Учим создавать системы, которые видят интерфейсы и работают с ними стабильно.
Что ждёт на новом потоке:
— визуальные агенты: управление браузером и клики по старым интерфейсам;
— продвинутый
LangGraph: интеграция человека в интерфейс (human-in-the-loop) для аппрува действий;— стабильность пайплайнов: восстановление состояний, time-travel при ошибках;
— RAG высокого уровня: парсинг сканов, таблиц и разнородных документов;
— экономика: кэширование запросов к LLM и динамический роутинг на фронте и бэке.
Промокод
Agent даёт скидку 10 000 рублей до 28 февраля.Забирайте два дополнительных курса в подарок, активировав акцию «3 курса по цене 1».
Погрузиться в разработку AI-агентов
🥰4🥱1
Иногда компонент красиво уходит со сцены… и в этот же момент внутри него обновляется контент. Это создаёт визуальный шум и ощущение «глюка», хотя React работает корректно.
#under_hood #react
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤2👍1🥱1