Category : javascript

javascript
Мой тур по играм

Разумеется, в виду имеются старые игры. Игры детства. В какой-то момент, захотелось их вспомнить. Многие скажут, что есть DOS Zone и будут правы, но что может сравниться с тем, чтобы запустить любимую игру у себя на компьютере, локально, пусть даже и внутри Internet-браузера? Ну и сама возможность разобраться, пусть даже и довольно поверхностно, со всеми этими JS-DOS технологиями дорогого стоит. Начать это увлекательное приключение проще всего с create-dosbox. Тут даже не нужно ничего устанавл…

  • суббота, 5 сентября 2026 г. в 00:00:15
javascript
Как виджет для интернет‑магазина чуть не спалил мой iPhone: Lottie vs видео‑спрайты на телефонах

Я делаю встраиваемый виджет‑конфигуратор: карточка товара с интерактивным сравнением моделей, режимов, габаритов и комплектации — всё с анимациями. Ничего эзотерического — обычный веб‑виджет, который вставляется на страницу товара в интернет‑магазине.После активной разработки тестирование на реальном устройстве закончилось фиаско. iPhone 15 Pro Max — топовый флагман, который в теории должен переваривать веб‑анимации не моргнув, — троттлил и нереально грелся в районе процессора.Разница в темпера…

  • суббота, 5 сентября 2026 г. в 00:00:14
javascript
Как мы внедрили Knip в Angular-проект: от настройки до CI/CD

Привет! Я Незар, фронтенд-разработчик в Т-Банке. Наш Angular-проект достаточно крупный, и со временем в нем накопился неиспользуемый код. Это замедляет разработку, усложняет рефакторинг и вводит в заблуждение новых членов команды. А ручная очистка такого «мертвого» кода требует огромных трудозатрат и быстро перестает быть эффективной.Поэтому мы решили автоматизировать этот процесс с помощью Knip — статического анализатора для TypeScript. В статье я расскажу, как мы его настроили, интегрировали …

  • суббота, 5 сентября 2026 г. в 00:00:13
javascript
Vanilla Disintegrate — современные и эффектные анимации для веба

Vanilla Disintegrate — современные и эффектные анимации для вебаПредысторияКакие обычно бывают анимации в вебе? Появление, исчезновение, небольшой сдвиг, масштабирование. Они не обязательно плохие: чаще всего интерфейсу действительно не нужно ничего сложнее. Иногда лучшее решение — вообще не добавлять анимацию. Так интерфейс остаётся быстрым, понятным и не отвлекает от основной задачи. Но иногда хочется сделать один небольшой момент запоминающимся. Не длинную заставку и не тяжёлый спецэффект на…

  • суббота, 5 сентября 2026 г. в 00:00:12
javascript
Устарел ли next‑intl? И как реально оптимизировать такую архитектуру

Когда Next.js перешел с Pages Router на App Router и убрал встроенную поддержку i18n‑роутинга, библиотека next-intl стала стандартом по умолчанию для большинства команд. Ян Аманн проделал отличную работу по ее поддержке, и долгое время это был самый надежный выбор для мультиязычных проектов.is next‑intl outdatedЯ давно занимаюсь профилированием производительности интернационализированных приложений на Next.js. За последние годы вся React‑экосистема заметно сместилась в сторону серверных компоне…

  • пятница, 4 сентября 2026 г. в 00:00:09
javascript
Centrifugal. Fluid UI для создания standalone веб‑приложений

Всем привет! Меня зовут Евгений, я фронтенд‑инженер с большой экспертизой в разработке современных веб‑приложений. Сегодня хочу рассказать про свой очередной open‑source проект для построения веб‑приложений на основе Angular.За последние годы я провел не мало успешных экспериментов с высокопроизводительными веб‑интерфейсами, что дало мне четкое понимание структуры и архитектуру для проекта, о котором пойдет дальше речь.Итак, встречайте Centrifugal. Посмотрите официальный сайт проекта, там очень…

  • пятница, 4 сентября 2026 г. в 00:00:08
javascript
V8 startup snapshot: как правильно запустить JS-код на сервере

Представьте типичную ситуацию. У вас есть сервер на каком-то языке (сейчас какой именно для нас не важно, но допустим, это Rust). И в нём по каким-то причинам нужно исполнить JavaScript-код. Например, фронтенд написан на React, и вы хотите рендерить HTML на сервере (SSR). Или есть бизнес-логика, которая проще пишется на JS. Или библиотека, которая существует только в npm, и переписывать её на Rust нет ни сил, ни желания. Таких примеров можно привести множество: markdown, dompurify, highlight.js…

  • пятница, 4 сентября 2026 г. в 00:00:06
javascript
HTTP 200 на несуществующий адрес: пять способов, которыми Telegram обманул мои проверки

ПостановкаЕсть список публичных адресов Telegram. По каждому надо ответить на два вопроса: существует ли он и что это за сущность. Дальше у каналов прочитать публичное превью и классифицировать содержимое.Никакого API: MTProto для такой задачи избыточен, а веб-превью Telegram отдаёт всё нужное обычным GET. Казалось бы, сорок строк на fetch и разбор.Ловушка 1. Несуществующий адрес отвечает 200Первое предположение: раз имя свободно, будет 404. Не будет.GET https://t.me/zzqqxx_not_a_real_channel_9…

  • пятница, 4 сентября 2026 г. в 00:00:05
javascript
Как DevSpace ускорил проверку микрофронтендов

Я фронтенд-разработчик и в основном работаю с Angular. Проекты, над которыми я работаю, находятся в монорепозитории, развёрнуты в Kubernetes, и часть из них использует микрофронтендную архитектуру: основное приложение (хост) загружает отдельные микрофронтенды.Суть проблемыПри разработке всегда требуется проверка выполненной работы. Для изолированной проверки визуала и бизнес-логики микрофронтенд можно запустить локально как обычное приложение, а вызовы АПИ замокать. Но этого недостаточно для ин…

  • пятница, 4 сентября 2026 г. в 00:00:04