Frontend Головного Мозга (@frontend_mind) — Telegram-канал | Telegram Dialogs
Все каналы
Frontend Головного Мозга

Frontend Головного Мозга

@frontend_mind

6.4K подписчиков технологии 💬 Комментарии открыты

Фронтендер из сибири, обо всём что связано с frontend разработкой и интересно самому: ✅ Новости, статьи, ✅ Авторские кейсы, ✅ Песочница, готовые UI макеты. ✅ Юмор Я хочу услышать три главных слова: JS, Angular, Redux Сотрудничество: @cyberJohnny

Последние публикации

Frontend Головного Мозга
28.05.2026 15:08 · 👁 1.3K
TanStack Form: новый стандарт для работы с формами в JS Все знают TanStack Query (бывший React Query), который перевернул работу с запросами. Теперь команда разработчиков выпустила TanStack Form - библиотеку для управления формами, которая решает старые боли фронтендеров. Главные фишки: 🟢Агностицизм: работает не только с React, но и с Vue, Angular, Solid, Svelte и даже Vanilla JS. 🟢100% Type-Safe: глубокая интеграция с TypeScript. Ошибки в названиях полей или типах данных подсвечиваются прямо при написании кода. 🟢Валидация без привязки: можно использовать любую привычную библиотеку (Zod, Valibot, Yup) или писать кастомные функции. 🟢Производительность: библиотека обновляет состояние точечно, поэтому даже огромные формы с сотнями полей не будут тормозить интерфейс. Если вам надоело мучиться с настройкой сложных форм, TanStack Form - отличный кандидат на замену старым инструментам. 👉 @frontend_mind
Frontend Головного Мозга
11.05.2026 10:14 · 👁 1.4K
«Летающий» фокус на View Transitions API Анимация перемещения фокуса между элементами (focus ring) делает интерфейс «живее» и помогает пользователю не терять активный элемент при навигации с клавиатуры. Раньше для этого высчитывали координаты через getBoundingClientRect, теперь всё делает браузер. Вместо анимации самой кнопки мы анимируем только рамку фокуса. Для этого каждому интерактивному элементу добавляется вспомогательный . 1️⃣ CSS: Рамка фокуса получает уникальное view-transition-name только в тот момент, когда родительский элемент находится в состоянии :focus-visible. 2️⃣ JS: Переключаем фокус программно внутри startViewTransition. Браузер увидит, что элемент с именем focus-ring переместился и изменил размер, и сам создаст плавный переход. 👉 @frontend_mind
Frontend Головного Мозга
18.03.2026 19:39 · 👁 1.8K
CSS-анимация на примере аналоговых часов Классический разбор того, как знание спецификации заменяет скрипты. Автор воссоздал реалистичные часы, используя только возможности CSS3. Адаптивность через em: Один font-size родителя масштабирует все часы пропорционально (включая тени и засечки). Реалистичный хром: Многослойные box-shadow (внешние и inset) создают объем и металлический блеск без картинок. Вложенные transform: rotate(): Умная расстановка минутных делений по кругу с помощью всего нескольких тегов . Тиканье стрелки: Анимация с animation-timing-function: steps(60) вместо плавного вращения. Понимание вложенных трансформаций и оптимизации рендеринга помогает делать производительные UI-анимации, не нагружая Main Thread. 📖 Детали реализации на Хабре: https://habr.com/ru/articles/171015/ 👉 @frontend_mind
Frontend Головного Мозга
27.01.2026 10:47 · 👁 2K
Find the stray number Вам дан массив целых чисел нечетной длины, все из которых одинаковы, за исключением одного единственного числа. Завершите метод, который принимает такой массив и возвращает это единственное число. Входной массив всегда будет верным! (нечетная длина >= 3) Примеры: [1, 1, 2] ==> 2 [17, 17, 3, 17, 17, 17, 17] ==> 3 👉 @frontend_mind
Frontend Головного Мозга
25.01.2026 22:53 · 👁 1.4K
Программирование в алгоритмах Искусство программирования представлено в виде учебного курса, раскрывающего секреты наиболее популярных алгоритмов. Освещены такие вопросы, как комбинаторные алгоритмы, перебор, алгоритмы на графах, алгоритмы вычислительной геометрии. Приводятся избранные олимпиадные задачи по программированию с указаниями к решению. 👉 @frontend_mind
Frontend Головного Мозга
25.01.2026 22:52 · 👁 1K
@frontend_mind
Frontend Головного Мозга
09.01.2026 11:58 · 👁 1.5K
Как реализовать перегрузку функции в TypeScript? TypeScript поддерживает перегрузку функций, но её реализация отличается от той, которую можно видеть в других языках. А именно, описывается лишь одна функция и некоторое количество её объявлений с разными параметрами. Когда такой код компилируется в JavaScript, в нём остаётся лишь одна функция. Этот механизм работает благодаря тому, что JS-функции можно вызывать с любым количеством параметров. class Foo { myMethod(a: string); myMethod(a: number); myMethod(a: number, b: string); myMethod(a: any, b ? : string) { alert(a.toString()); } } 👉 @frontend_mind
Frontend Головного Мозга
11.12.2025 01:52 · 👁 1.5K
@frontend_mind
Frontend Головного Мозга
05.12.2025 20:14 · 👁 1.6K
Story Points или искусство делать ставку на выдуманные числа Сегодня я хотел бы в очередной раз поднять тему оценки задач, а конкретно оценки при помощи Story Points. Хотя мы давно применяем их в работе, оказалось, что команда по-разному трактует детали. Поэтому мы решили систематизировать и выровнять наши знания, собрать хорошие практики по работе со Story Points и попробовать улучшить процедуру оценки задач у нас. Результатом работы стал этот материал, которым я с радостью делюсь с вами. Он не претендует на откровения, но удобно собирает терминологию, практические советы и наш опыт — возможно, это сэкономит вам пару-тройку Story Points. 👉 @frontend_mind
Frontend Головного Мозга
04.12.2025 14:18 · 👁 1.1K
‍CSS cвойство margin Margin задаёт внешние отступы вокруг элемента. Эти отступы не являются частью ширины/высоты элемента при любом значении box-sizing. Схлопывание Вертикальные отступы схлопываются друг с другом, горизонтальные – нет. То-есть, если два расположить в колонку (один под другим) и задать каждому margin: 20px 0, то расстояние между ними будет равняться 20px, а не 40px. При этом, если бы у верхнего элемента был задан отступ в 40px, а у нижнего - в 30px, то автоматически выбрался бы больший из них - 40px. Горизонтальные отступы при этом не схлопываются, а суммируются. Отрицательные значения Отрицательные значения margin-top/margin-left смещают элемент со своего обычного места. В CSS есть другой способ добиться похожего эффекта – а именно position:relative. Но между ними есть одно принципиальное различие: при сдвиге через margin соседние элементы занимают освободившееся пространство в отличие от position: relative, при котором элемент визуально сдвигается, но место, где он был, остаётся «занятым». 👉 @frontend_mind
Чат поддержки
Ответим здесь же, обычно быстро
Здравствуйте! Напишите ваш вопрос — оператор ответит в этом чате.