useContext знают почти все. Но на собеседовании часто звучит либо слишком общее объяснение, либо путаница с state-менеджерами и пропсами.
В карточках:
— что именно делает useContext
— как он работает под капотом
— когда его использовать уместно, а когда нет
— какие моменты важно проговорить вслух на интервью
#under_hood
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🥰2🔥1🥱1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7💯2🌚1
Интерфейсы для AI-агентов: новая реальность фронтенда
Будущее UI — это не просто формы, а динамические чаты и дашборды, которыми управляют агенты в реальном времени.
Сегодня в 19:00 МСК стартует курс «Углубленные AI-агенты», где вы научитесь создавать логику этих систем.
Чему научимся:
— внедрение агентов в рабочие процессы;
— работа с фреймворками
— создание отзывчивых ИИ-приложений;
— визуализация цепочек рассуждений агента.
👉 Регистрация на курс
Будущее UI — это не просто формы, а динамические чаты и дашборды, которыми управляют агенты в реальном времени.
Сегодня в 19:00 МСК стартует курс «Углубленные AI-агенты», где вы научитесь создавать логику этих систем.
Чему научимся:
— внедрение агентов в рабочие процессы;
— работа с фреймворками
CrewAI и LangGraph;— создание отзывчивых ИИ-приложений;
— визуализация цепочек рассуждений агента.
👉 Регистрация на курс
🥰4😁3❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
👍6❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Shepherd.js — библиотека для пошаговых подсказок в веб-приложении: выделяет элементы интерфейса и последовательно объясняет, что с ними делать.
— подходит для онбординга и обучения пользователей
— работает с React, Vue, Angular и чистым JavaScript
— минимальные стили, легко подстраивается под дизайн
— поддержка клавиатуры и стандартов доступности (a11y)
#stack
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2
Popover + Anchor Positioning позволяют делать контекстные меню на чистом HTML и CSS: без обработчиков, без логики открытия и без проблем у краёв экрана.
В карточках:
— как связать кнопку и меню декларативно
— как позиционировать popover относительно якоря
— как настроить fallback, чтобы меню не обрезалось
Практика, примеры кода и решения, которые можно сразу забирать в прод.
#readme
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥3❤1
Git worktrees: как держать несколько веток в отдельных папках, работать параллельно без stash, безопасно пробовать идеи и быстрее переключаться между задачами. Плюс — пример, как это используют в Cursor для параллельных агентов.
lit-html вместо Lit: компактный подход к кастомным элементам — меньший бандл, light DOM без shadow DOM, простые импорты. На практике: textarea с статус-баром и интерактивные карточки с состоянием и клавиатурной навигацией.
#read_watch
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🥰2
getEventListeners(window) — полезная команда, если приложение начинает подтормаживать после навигации.обработчики событий не снимаются при размонтировании компонентов и со временем накапливаются в памяти.
getEventListeners(window).scroll
getEventListeners(document).click
Если после переходов обработчиков становится больше — вот источник лагов.
#readme
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍3🤩3
Frontend-разработчик (Middle/Senior) — (от 260 000 до 320 000, удаленно)
Junior Frontend-разработчик (100 000 ₽, офис, Москва)
Frontend-разработчик (Middle) (офис, Санкт-Петербург)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Большинство фронтенд-кода обрабатывает данные задолго до того, как они попадут на экран. Мы привыкли писать так:
data
.map(...)
.filter(...)
.slice(...)
.map(...)
Читабельно? Да. Но это создаёт кучу промежуточных массивов и делает лишнюю работу. Решение — Iterator Helpers
1. Большие списки
Виртуализация, бесконечный скролл — рендерим только то, что видно:
const visibleRows = rows(data)
.filter(isInViewport)
.take(20)
.toArray();
2. Стримы и API
Работаем с пагинацией без буферизации:
const firstTen = await fetchPages()
.filter(isValid)
.take(10)
.toArray();
3. Чистые пайплайны
Без сторонних библиотек:
const ids = users
.values()
.map(u => u.id)
.filter(Boolean)
.toArray();
— Нужен случайный доступ (`items[5]`)
— Маленький объём данных
— Нужна мутация массива
Поддержка: все современные браузеры и Node 22+
#under_hood
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤5🥰1💯1
Фронтенд для ИИ-агентов: как меняется взаимодействие с пользователем
Чат-боты — это только начало. Будущее за интерфейсами, которые управляют целыми группами автономных агентов. Поймите, как работают эти системы «под капотом», чтобы создавать современные AI-driven продукты.
Разберитесь в архитектуре на курсе «Углубленные AI-агенты».
В программе обучения:
— принципы работы мультиагентных систем;
— основы фреймворков
— интеграция внешних инструментов через агентов;
— создание сквозного проекта для портфолио.
Обучение уже началось, вы еще успеваете.
🚀 Записаться на основной курс
Если сомневаетесь — просто посмотрите вводное занятие.
Чат-боты — это только начало. Будущее за интерфейсами, которые управляют целыми группами автономных агентов. Поймите, как работают эти системы «под капотом», чтобы создавать современные AI-driven продукты.
Разберитесь в архитектуре на курсе «Углубленные AI-агенты».
В программе обучения:
— принципы работы мультиагентных систем;
— основы фреймворков
LangGraph и CrewAI;— интеграция внешних инструментов через агентов;
— создание сквозного проекта для портфолио.
Обучение уже началось, вы еще успеваете.
🚀 Записаться на основной курс
Если сомневаетесь — просто посмотрите вводное занятие.
🥰2
Что означают [[Prototype]] и другие [[...]] в спецификации JavaScript ❓
Anonymous Quiz
67%
Скрытые свойства объекта, которые можно получить через __proto__
5%
Специальный синтаксис ES для приватных полей
18%
Внутренние слоты, используемые движком JavaScript и недоступные напрямую из кода
3%
Метаданные для отладки, доступные только в DevTools
8%
Зарезервированные ключи, которые нельзя переопределять в объекте
🥰2