This media is not supported in your browser
VIEW IN TELEGRAM
В 144-й версии DevTools без революций, но с точечными улучшениями, которые реально упрощают отладку:
Network request blocking переименовали и прокачали — теперь можно троттлить отдельные запросы, а не весь Network целиком. Удобно для edge-кейсов и нестабильных API.
Появился auto connection: можно подключиться к уже открытому браузерному сеансу и продолжить отладку с того же места. Меньше ресетов — быстрее дебаг.
@font-face и @font-feature-values теперь редактируются прямо в Styles. Без прыжков между панелями.В Elements теперь видно adopted stylesheets под shadow roots и document root. Полезно, если стили «не применяются и непонятно почему».
#release_digest
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤2🥰2
⚠️ sort() ломает state (тихий баг)
На вид — нормально.
На деле:
ℹ️ Почему это происходит:
sort() — in-place операция. Она меняет существующий массив, а не создаёт новый.
Как делать безопасно:
🟣 Современный способ (ES2023)
🟣 toSorted() поддерживается:
🟣 Для старых браузеров работает везде:
🟣 Если нужен deep copy
🐸 Библиотека фронтендера
#hotfix #js
const sorted = data.sort(byDate);
На вид — нормально.
На деле:
• sort() мутирует data
• ссылка на массив не меняется
• React / Zustand / Redux не видят изменений
• UI начинает вести себя случайно
sort() — in-place операция. Она меняет существующий массив, а не создаёт новый.
Как делать безопасно:
const sorted = data.toSorted(byDate);
Chrome 110+, Safari 16+, Firefox 115+
const sorted = [...data].sort(byDate);
const sorted = structuredClone(data).sort(byDate);
#hotfix #js
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍4🥰2🥱1
Chrome 144 продолжает аккуратно прокачивать WebGPU: меньше костылей, больше прямого контроля над GPU.
Появился доступ к ID сабгруппы и их количеству внутри workgroup.
Раньше это приходилось восстанавливать через атомики — теперь есть нативные built-in. Основа для более эффективных compute-шейдеров и тонкой работы с памятью.
Uniform-буферы больше не требуют 16-байтных паддингов.
Можно шарить одинаковые структуры между uniform и storage buffers без лишних полей и
@align.Начался постепенный rollout: сначала Intel Gen12+, дальше планируют AMD и NVIDIA.
Под капотом — WebGPU через Vulkan, Chromium остаётся на OpenGL.
Оптимизации дали до 2× прироста производительности при копировании данных. Важно для стриминга и real-time графики.
Вышла alpha Kotlin-биндингов WebGPU через Jetpack (androidx.webgpu).
Современный GPU-API без боли OpenGL и сложности Vulkan.
#release_digest
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5👾3
Roadmap: ИИ-агенты для Frontend-разработчика
Будущее интерфейсов — это
Что нужно выучить:
🔸 основы взаимодействия с
🔸 проектирование интерфейсов для управления автономными агентами;
🔸 работа с фреймворками для создания ИИ-цепочек;
🔸 визуализация процесса мышления ИИ в реальном времени.
На курсе «Разработка ИИ-агентов» вы научитесь создавать не просто формы, а интеллектуальных помощников.
👉 Начать обучение
🔥 Акция «3 в 1»: купите курс до 19 января и получите ещё два курса в подарок!
Будущее интерфейсов — это
Agentic UI, где ИИ понимает намерения пользователя и сам взаимодействует с системой.Что нужно выучить:
🔸 основы взаимодействия с
LLM на клиенте и сервере;🔸 проектирование интерфейсов для управления автономными агентами;
🔸 работа с фреймворками для создания ИИ-цепочек;
🔸 визуализация процесса мышления ИИ в реальном времени.
На курсе «Разработка ИИ-агентов» вы научитесь создавать не просто формы, а интеллектуальных помощников.
👉 Начать обучение
🔥 Акция «3 в 1»: купите курс до 19 января и получите ещё два курса в подарок!
😁6🤩3❤2🥱1
За последние месяцы я целенаправленно выносил код из Next.js. Не потому что он плохой — а потому что его сложность перестала оправдываться.
Next.js даёт быстрый старт и мощные возможности из коробки. Он отлично подходит для сложных fullstack-сценариев и больших систем. Но дальше начинается проблема.
App Router, магия файлов, директивы, экспериментальные флаги.
Трудно понять:
• где заканчивается React и начинается Next.js
• по какому пути реально идёт код
• почему поведение меняется после «невинного» экспорта
Без постоянного чтения документации работать становится сложно.
Кэш, кэш, ещё один кэш. Поведение меняется — причины неочевидны. Стек-трейсы плохо отражают реальность, а абстракций больше, чем точек контроля.
Долгие сборки, медленные перезагрузки, ощущение «тяжёлого» окружения. После этого возвращаться к Vite — как снять рюкзак с камнями.
Что оказалось проще и честнее:
TanStack + Vite дали ровно то, что я ожидал от современного фронтенд-стека:
• понятный флоу данных и роутинга
• минимум магии
• typesafe-роутинг и работа с данными «в лоб»
• быстрый dev-сервер
• отладка без шаманства
Ты видишь, что происходит, и можешь это контролировать.
Для моих задач и команды TanStack + Vite оказались просто спокойнее и быстрее в разработке.
Если Next.js работает у вас — отлично. Для меня — нет.
#code_battle
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10🥰2
Большинство дизайн-систем ломаются в одном месте — при смене базового цвета. Есть foundation, есть тени, светлые версии, акценты. Меняете один цвет — пересчитываете всё руками.
CSS Relative Colour в пространстве OKLCH решает эту проблему.
Цвет — это не список значений, а формула.
oklch(from <color> <L> <C> <H>)
Берём базовый цвет и вычисляем все остальные относительно него.
Базовые правила:
• Lightness — двигаем (add / subtract)
• Chroma — масштабируем (multiply)
• Hue — вращаем (градусы)
— одна точка управления цветом
— автоматический пересчёт всей палитры
— устойчивые темы и состояния UI
— смена настроения без пересборки
Палитра перестаёт быть набором оттенков и становится системой.
#read_watch
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Нужно показать фронт с localhost — без деплоя и с HTTPS? Делается одной командой:
brew install cloudflared
cloudflared tunnel --url http://localhost:3000
Что получаете:
— публичный HTTPS-адрес
— работает для OAuth, cookies и mobile-тестов
— без регистрации и бесплатно
Удобная альтернатива ngrok для демо и локальной разработки фронта
#stack
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16🥰4❤2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁16🥰3
lsof -i :3000
Показывает какой процесс держит порт 3000: команду и PID.
— dev-сервер не стартует
— ошибка EADDRINUSE
— порт «занят», но непонятно кем
node 48231 user TCP *:3000 (LISTEN)
node — процесс
48231 — PID
LISTEN — порт реально используется
kill 48231
#readme
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰5👍2🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Вместо скучного резюме — интерактивная игра, где посетитель управляет персонажем, который ходит по виртуальному дому и изучает ваши проекты.
— Персонаж перемещается по комнатам
— Подходит к объектам (компьютер, книжная полка, постеры)
— При взаимодействии появляется информация: навыки, описание проектов, ссылки на GitHub
Используется стек: JavaScript, Kaboom.js, Vite, HTML/CSS. Автор разбирает: настройку проекта, карту, коллизии, анимации, диалоги.
#read_watch
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥7❤4🥰2
«Этот манёвр будет стоить нам 51 год...»
— или 20% от стоимости обучения, если отложить прокачку скиллов до понедельника. Пока фронтенд-фреймворки рождаются и умирают, фундаментальные знания алгоритмов и архитектуры остаются единственной константой.
Успейте зайти на курсы Proglib Academy по старым ценам и укрепить свой бэкграунд:
— Разработка ИИ-агентов
— Математика для разработки AI-моделей
— ML для старта в Data Science
— Математика для Data Science
— Специалист по ИИ
— Алгоритмы и структуры данных
— Программирование на Python
— Основы IT для непрограммистов
— Архитектуры и шаблоны проектирования
Забрать курс по старой цене
⚠️ Повышение стоимости — 19 января
— или 20% от стоимости обучения, если отложить прокачку скиллов до понедельника. Пока фронтенд-фреймворки рождаются и умирают, фундаментальные знания алгоритмов и архитектуры остаются единственной константой.
Успейте зайти на курсы Proglib Academy по старым ценам и укрепить свой бэкграунд:
— Разработка ИИ-агентов
— Математика для разработки AI-моделей
— ML для старта в Data Science
— Математика для Data Science
— Специалист по ИИ
— Алгоритмы и структуры данных
— Программирование на Python
— Основы IT для непрограммистов
— Архитектуры и шаблоны проектирования
Забрать курс по старой цене
⚠️ Повышение стоимости — 19 января
❤3🥰2👾1
В Chrome 145 появились column-wrap и column-height. Теперь multi-column может переносить колонки вниз, а не вправо.
Раньше:
— фиксированная высота → колонки вправо
— горизонтальный скролл
Теперь:
— задаёте высоту ряда
— переполнение уходит вниз
— нормальный UX для текста
Где полезно:
— статьи и документация
— контентные блоки
— вертикальные «карусели»
#release_digest
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰6👍3❤2
Удобный инструмент для React-разработчиков, который визуально показывает, какие компоненты тормозят ваше приложение.
Главные фичи:
— Не требует изменений в коде
— Подсвечивает компоненты, которые нужно оптимизировать
— Работает везде: script tag, npm, Next.js, Vite, Remix
Просто добавьте один script tag:
<script src="//unpkg.com/react-scan/dist/auto.global.js"></script>
#stack #react
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10🥰3👏2
Автор вернулся к React после перерыва. И вот что его поразило:
Любой компонент может использовать любое состояние через хуки. По сути — глобальные переменные с красивым названием «редьюсер». Назвали заумно — и вдруг это стало Good Architecture™?
Хук для «побочных эффектов» используется для инициализации компонентов. Но постойте... он же ещё и состояние меняет! А если нужна зависимость? Добавляем ещё один useEffect.
Результат? Цепочки асинхронных функций, которые надо читать снизу вверх. Ад обратных вызовов отдыхает.
Обещали простоту в Hello World. На практике — статьи про сложнейшие паттерны просто для отрисовки элементов на экране. И никто даже не признаёт безумие происходящего!
Автор считает, что виноват не React. И не Angular. И не jQuery. Проблема в том, что создание интерактивного UI, где любой компонент может обновлять любой другой — это один из сложнейших аспектов разработки ПО.
Сравните: у крана 2 входа и 1 выход. У UI — потенциально бесконечное число входов и выходов.
Меньше кнопок
SSR везде, где возможно
React только «островками интерактивности»
P.S. Если бэкенд-инженер смотрит на ваш код и спрашивает «Неужели нельзя проще?» — возможно, он прав.
#code_battle
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🥱5👍2🥰2🤔1
А как у вас с React? 🤔
Anonymous Poll
57%
Пишу и не парюсь, всё норм
17%
Терплю, но иногда бесит
11%
Согласен с автором — это безумие
15%
Перешёл на что-то другое
😁3
Please open Telegram to view this post
VIEW IN TELEGRAM
❤19😁3
Помните чит-код ↑↑↓↓←→←→BA из игр 90-х? Создали интерактивную визуализацию этой культовой комбинации.
Что внутри:
— Стилизованные D-pad клавиши с градиентами
— Отслеживание последовательности нажатий
— Визуальная подсветка при правильном вводе
— Чистый CSS без фреймворков
Технически:
— Event listeners для keyboard input
— Валидация через массив
— CSS-анимации для обратной связи
#readme #css
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4🥰2👏1
npm install старая_ценаС 20 января деплоим новые условия, а текущие помечаем как
deprecated. Успейте сегодня забрать свой курс, так как завтра прайс обновится.Смержить профильные знания в свой стек
⚡4❤🔥2👾2🥰1
Даты в JS — частая ловушка. На собеседованиях про них спрашивают регулярно, а в продакшене ошибки всплывают из-за таймзон, форматирования и странного поведения Date.
В карточках:
— что реально умеет Date
— когда нужен Intl
— зачем брать библиотеки
— к чему ведёт новый стандарт
#career_merge
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🥰3