Задача проекта — собрать честную олдскульную 3D MMORPG в браузере (на Three.js и WebGL) с механикой классической Lineage 2 (C1–C4), в оригинальном стимпанк‑сеттинге. Всё началось с простого чувства: современные онлайн‑игры перестали вызывать эмоции. Ты заходишь в новую MMO, а тебя берут за руку, ведут по светящейся стрелочке на полу, включают автобой, автоквест и засыпают сундуками с блестящей мишурой. Смерть персонажа не значит вообще ничего, управление свелось к попсовому слэшеру на WASD, а м…
Во многих языках можно объявить несколько функций с одним именем, если у них разные сигнатуры. Это называется перегрузкой функций. Пример перегрузки в C# -class Calculator { // Два целых числа public static int Sum(int a, int b) { return a + b; } // Два дробных числа public static double Sum(double a, double b) { return a + b; } // Три целых числа public static int Sum(int a, int b, int c) { return a + b + c; } } К сожале…
Нам понадобилось сделать на сайте простые видеоинструменты: обрезать ролик, сжать его под лимит мессенджера, перегнать MOV в MP4 или WEBM, убрать звук. Обычный путь — загрузить файл на сервер и прогнать через ffmpeg. Но видео тяжёлое: ролик с телефона на 2 ГБ надо сначала долго заливать, а сервер должен его хранить и пережёвывать. Да и не каждому хочется отправлять личное видео на чужой сервер.Поэтому основной путь у нас — обработка прямо в браузере: файл никуда не уходит, всё делает компьютер …
ФЛОРА - это цифровая платформа по управлению дилерским бизнесом со сложной бизнес-логикой. Над ней работают 25+ продуктовых команд и несколько платформенных. Фронтенд системы состоит из более чем 65 микрофронтендов (далее МФ), и их количество постоянно увеличивается: регулярно появляются новые направления, функционал расширяется. Каждый МФ (или группа МФ) может иметь свой роутинг, стейт, набор sharing-модулей и типов. Группы МФ объединяются в целые подсистемы со своим жизненным циклом и экосист…
Привет, хабровчане! В этой статье хотел бы поднять вопрос, над которым мы с командой ведём дискуссии уже на протяжении нескольких месяцев, а конкретно с февраля этого года, когда я лично столкнулся с неудобствами белых списков.Наверное, глупо рассказывать что единственное и главное неудобство этих самых списков заключается в том, что мобильный интернет ограничивается и вся инфраструктура "вне" отваливается. Логично, что все ресурсы внутри белых списков контролируются некоей организацией…
Разберём страницу оплаты: сначала появляется текст «Оплата подтверждена», затем — ссылка на закрытый Telegram-канал. Визуально всё работает. Но пользователь экранного диктора может не узнать об изменениях: фокус остался на кнопке, а обновлённый текст находится в другой части страницы.Для таких сообщений подходит role="status". Эта роль задаёт live region с неявным aria-live="polite": сообщение может быть объявлено без переноса фокуса, когда скринридер сможет сделать это без прер…
Привет, Хабр! Я Самсон Авакян, фронтенд‑разработчик команды Т‑Путешествий в Т‑Банке. Расскажу, как мы собираем просмотры офферов для обучения ML‑модели ценообразования, когда цена и условия в карточках меняются прямо на экране.Делюсь решением на React и TypeScript с использованием Intersection Observer.А еще моя статья — часть проекта «20 в 20», в котором мы рассказываем о жизни наших ИТ‑хабов. Из моего выпуска вы узнаете о южных, ростовских традициях. Какие данные нужно было собратьВыдача отел…
В Claude Code мне попалась подсказка, которую я описал в исходной заметке: размер агентного процесса можно ограничить прямо в запросе. Например, попросить небольшую команду, разрешить максимум пять агентов или задать размер по умолчанию через /config.Я смотрел на неё с двойственным чувством. Последние месяцы я решал ту же задачу в своём инструменте, который проводит агентную работу от плана до готового изменения в репозитории. Но ограничить число одновременно работающих агентов оказалось лишь о…
Во второй части я показал, как js‑движок qb выводит на экран инвентарь английского вопроса и правила его построения: по зонам карточек ученик видит, из каких структур состоит вопрос и из какой зоны берётся каждый элемент. Однако вопрос в qb ученик строит от русской опоры, и тип вопроса уже задан ею: «Кто преподавал химию и физику…?» сам сообщает, что это вопрос к подлежащему. Утвердительного английского предложения, из которого вопрос получается, ученик в qb не видит, а значит, не видит и отнош…