Category : javascript

javascript
Как я не купил терменвокс и сделал его в браузере или Air Theremin

Играю на Air Theremin: Слева - экран телефона: между ладонями натянута струна-осциллограф. Справа - я.Доча посмотрела серию из «Кати и Эфа» и сказала, что видела там прикольный инструмент под названием терменвокс. Я вспомнил, что давно хотел тоже попробовать поиграть на нём. Загуглил, и цены оказались какие-то негуманные для инструмента на полчаса игры.Тут мне пришла мысль сделать аналог терменвокса для телефона, чтобы для игры можно было использовать гироскоп. В современном мире расстояние от …

  • суббота, 7 ноября 2026 г. в 00:00:12
javascript
Мы живём во время, когда создать что-то интересное гораздо проще, чем рассказать людям об этом

Скучные головастикиЯ часто смотрю стримы по «лутер-шутерам» — Escape from Tarkov, Arena Breakout, всё такое. И на многих из них замечал оверлеи для зрителей. Но они все одинаковые и, честно говоря, скучные: по низу экрана ходят «головастики» — болванки со шрифтом чата, дублирующие сообщения зрителей. Зритель написал в чат — его человечек помахал. И всё. Это не игра, это индикатор активности чата.Идея сделать игру жила у меня давно. И в какой-то момент щёлкнуло: а почему бы не совместить одно с …

  • суббота, 7 ноября 2026 г. в 00:00:10
javascript
Как React не даёт несрочному рендеру потеряться: startTransition, useDeferredValue и Suspense

Представьте поиск по каталогу: поле ввода, а под ним список из тысяч товаров. Перестраивать такой список долго, и если делать это на каждое нажатие, поле начнёт тормозить. Поэтому обновление списка можно пометить как несрочное: тогда React покажет символ в поле сразу, а список перестроит потом, урывками, в промежутках между нажатиями клавиш. Но что, если пользователь печатает без остановки: список не обновится никогда? И что видит пользователь, пока новый список считается или грузится с сервера…

  • суббота, 7 ноября 2026 г. в 00:00:09
javascript
Файлы из браузера в браузер и «торрент» без установки: как устроен TFile.io

Привет, Хабр! Я делаю TFile — сервис, который передаёт файлы напрямую между браузерами. Без регистрации, без установки, без загрузки файла на чей-то сервер. Расскажу, как он устроен и на какие грабли я наступил по дороге. Цифры в статье — из реальных замеров.Два режима⚡ Отправить сейчас. Открываете сайт, получаете ссылку вида tfile.io или QR-код. Второй человек открывает её, и дальше можно перетаскивать файлы, целые папки, текст и скриншоты из буфера обмена.🔗 Поделиться позже. Выбираете файлы и…

  • суббота, 7 ноября 2026 г. в 00:00:08
javascript
Взлом Binance через фейковое собеседование: как устроена атака на разработчиков и как проверять тес…

3 ноября Binance опубликовала первый отчёт о взломе 29 октября, в котором пострадали активы примерно на $6,34 млрд. Цепочка началась с заражённой установки Homebrew, найденной через поисковик, и фейкового собеседования с тестовым заданием. Разбираю, что известно об атаке, где в тестовых прячут вредоносный код, и даю два чек-листа: для разработчика и для компании.Что известно на сегодняГлавный источник — отчёт Binance «29 October Binance Security Incident: Initial Findings and Response Update» …

  • суббота, 7 ноября 2026 г. в 00:00:06
javascript
218 КБ переводов в каждой странице: что прячется в payload Nuxt-приложения

Я фронтенд-разработчик в BIGPLAY — киберспортивной платформе на Nuxt. Недавно разбирался, почему главная страница весит больше полумегабайта HTML, и нашёл там весь словарь переводов сайта — 2271 строку, 218 КБ. Он лежал в каждой странице, хотя на главной показывается от силы несколько десятков строк.В статье расскажу, откуда он там взялся, как мы его оттуда убрали, почему не стали оптимизировать дальше — и что показала проверка 36 известных сайтов на Nuxt. Спойлер: это частая история.Что такое …

  • суббота, 7 ноября 2026 г. в 00:00:05
javascript
Потоковая выгрузка из Postgres в CSV на Node.js и Fastify

Потоковая выгрузка из базы данных в CSVЭкспорт таблицы в файл - очень типовая задача. Пока записей немного, экспорт CSV обычно пишут в несколько строк: выполнить запрос, получить массив, превратить его в текст и отправить клиенту. На сотнях тысяч строк этот подход начинает расходовать слишком много памяти. Результат запроса целиком оказывается в Node.js, а при сборке CSV появляются дополнительные строки и буферы. Несколько одновременных выгрузок могут довести процесс до OOM.Разберём реализацию …

  • пятница, 6 ноября 2026 г. в 00:00:05
javascript
Подтверждения через Digital Credentials API

Эта статья перевод оригинальной статьи «Digital Credentials API issuance ships in Chrome 155».Также я веду телеграм канал «Frontend по‑флотски», где рассказываю про интересные вещи из мира разработки интерфейсов и AI.ВступлениеВ Chrome 155 и более поздних версиях возможность добавлять цифровые подтверждения в кошелёк через Digital Credentials API включена по умолчанию. Для её использования больше не нужен токен origin trial или флаг. Digital Credentials API работает как транспортный слой между …

  • четверг, 5 ноября 2026 г. в 00:00:12
javascript
Цифровой аватар спортсмена: как сохранить опыт, передать по наследству и монетизировать методики

экран «Обзор системы» В спорте тренер вкладывает годы, энергию и методики в спортсмена. Когда спортсмен уходит — весь этот труд фактически «обнуляется»: методики уносятся, опыт теряется, а тренер остаётся только с воспоминаниями. Для семьи и будущих поколений этот опыт вообще не становится активом.Я решил изменить эту логику: опыт, методики и достижения становятся цифровым наследием, которое можно сохранять, передавать и монетизировать.Решение: цифровой аватар как активЦифровой аватар сп…

  • среда, 4 ноября 2026 г. в 00:00:18