ВведениеПредставьте, что вам нужно отрендерить в React-приложении таблицу с 100 000 объектов, которые непрерывно обновляются в реальном времени через WebSocket. Каждые 50 мс прилетает батч из 5000 дельт (изменений).Стандартный подход с useState или классическим Redux (с Immer) убивает браузер за несколько секунд:Main Thread блокируется: Парсинг JSON и вычисление диффов занимают сотни миллисекунд.Garbage Collector сходит с ума: Иммутабельные обновления создают тысячи новых объектов-клонов, вызыв…
Хотим поделиться с вами своим небольшим опытом работы с IDE DroidScript, средой разработки под Android, которая была обнаружена на просторах Google Play, как инструмент, с которым можно работать непосредственно на смартфоне, т.к. в первую очередь, появилась необходимость программировать в дороге или просто не дома, например, в электричке или на улице. Ноутбук носить с собой не всегда хочется и "можется" - всё-таки лишняя тяжесть, да и время, пока достанешь и запустишь его, а тем более, …
Знакомая картина: суббота, вечер, вы собрались вдвоем или небольшой компанией посмотреть кино. И следующие сорок минут уходят на тоскливое листание каталогов. Один хочет комедию, второй терпеть не может глупый юмор, третий уже пересмотрел все новинки. Персональные рекомендации стримингов здесь бесполезны: они заточены под вкусы одного конкретного профиля, а не под разношерстную группу людей на одном диване.Из этого раздражения и вырос KINO PARTY (partykino.com) — двуязычный каталог фильмов и се…
Или история о том, как 5 408 байт обфусцированного JavaScript, прилетающих в HTTP‑заголовке, превращаются в свободный доступ к GPT, Claude, Mistral и генерации картинок если построить браузерный манекен на чистом JS.Пролог: та самая ошибкаВсё началось с невзрачного сообщения в логах:Ошибка API (ddg_haiku): Error code: 500 - {'error': 'no x-vqd-hash-1 token'}Если вы когда‑нибудь пробовали написать прокси к duck.ai встроенному в DuckDuckGo AI‑чату, где под капотом живут GPT и Clau…
Может он и быстр, только экосистема нулевая. Ну и ещё система модулей кастомная, что полностью убивает любые готовые инструменты. Так что $mol — по сути одной ногой в могиле.Это как nextjs: что-то дефолтное собрать легко. Делаешь шаг в сторону, и чёт в коленке дырка появляется, ходить неудобно.$my_details $mol_view sub / <= Pager $mol_paginator value? <=> page? 0 Ну и вот этот шлак писать/генерировать/ревьювить… value? офигенно. Есть шпаргалка с мнемониками, удобными только авто…
Представьте ситуацию: человек полчаса собирал важный отчёт в веб-таблице или подбирал сложную комбинацию фильтров, нажал «Сохранить» или «Применить» — и страница намертво зависла. Курсор превратился в колесико, меню не открывается, прокрутка не работает. В голове пользователя мгновенно паника: «Всё зависло? Мои данные пропали? Нажать ещё раз? Перезагрузить страницу?!»Причина проста: если вычисления выполняются в основном потоке (Main Thread), страница будто «подвисает». JavaScript в браузере од…
Если у вас Mac и электронная подпись на Рутокене, вы наверняка знаете ритуал: чтобы войти на Госуслуги по ЭЦП, отчитаться в личном кабинете ФНС или подписать документ в Диадоке, нужно открыть Chrome. Госплагин, Контур.Плагин и КриптоПро ЭЦП Browser plug‑in официально работают только в Chromium‑браузерах и Firefox. У КриптоПро есть старое Safari App Extension, но в актуальных версиях Safari оно даже не появляется в настройках.Я захотел, чтобы всё это работало в Safari, и в итоге получилось три н…
Привет, Хабр!Принято считать, что JSON — самая скучная часть системы. Формат простой, парсер есть в любом языке, сломаться там нечему. Скорее спорят, как назвать поле, чем о том, что оно значит.На деле JSON описывает синтаксис и почти ничего не говорит о смысле. Что делать с двумя одинаковыми ключами в одном объекте, сколько знаков держит число, можно ли записать NaN — на всё это стандарт отвечает «на усмотрение реализации». Каждая библиотека усмотрела по‑своему. Пока JSON пишет и читает один и…
Стартовый кадр мультика от Sol 6.1Я тут посмотрел на свои заметки и понял, что они как каша из терминов. А как бы я объяснил это своей бабушке? Вот, к примеру, векторные мультики на JavaScript / HTML, которые нейронки сейчас делают со скоростью 1 к 30 (за полчаса - минута анимации) и копеечной стоимостью. Как бы я объяснил, почему у меня радости полные штаны?Привет, бабушка, я тут научился делать мультики на нейронке. Нееет, это не те, как кино со Штирлицем и котиками, которые разговаривают …