Category : javascript

javascript
vue‑why‑render 0.8: граф реактивности, WASM‑ядро и VS Code расширение

Месяц назад я написал статью о том, как сделал отладчик рендеров для Vue — инструмент, который называет точную причину каждой перерисовки. Рассказывал про renderTriggered, про ловушки с process.env.NODE_ENV, кириллицей в байтовых смещениях и вычислением чужих computed.С тех пор вышла версия 0.8 — с тремя большими фичами, которые я не планировал делать так быстро. Расскажу, что нового и зачем.Что былоЕсли не читали первую статью — вкратце. vue-why-render подключается к Vue 3 приложению двумя стр…

  • понедельник, 26 октября 2026 г. в 00:00:20
javascript
Файлы из браузера в браузер без сервера: что я узнал о WebRTC, пока делал tfile.io

Файлы из браузера в браузер без сервера: что я узнал о WebRTC, пока делал tfile.ioЗадача звучит как упражнение на выходные: человек A открывает сайт, получает ссылку, отправляет её человеку B. B открывает ссылку — и они кидают друг другу файлы напрямую, браузер в браузер. Сервер нужен только чтобы «познакомить» их, сами байты через него не идут.Демо на 200 строк с RTCPeerConnection и createDataChannel пишется за вечер. А потом начинается реальный мир: Safari на телефоне, который засыпает через …

  • понедельник, 26 октября 2026 г. в 00:00:19
javascript
Истинный схизис и социальная инженерия: как устроена браузерная психологическая дуэль, которую нево…

Я сделала симулятор судебно-психиатрической экспертизы. Браузерная игра, ретро-терминал, 100 вопросов MMPI-2, три уголовных дела, три линии защиты. Задача игрока — обмануть психиатрическую комиссию и получить нужный диагноз. Поиграть, получить вердикт и памятку будущего симулянта можно уже сейчас: https://gcodegspot.github.io/obmani-serbskogo/Большинство проигрывает с первого раза. Причём не потому что не знают ответов, а потому что не понимают, как именно я их ловлю. Ниже будет разбор реальной…

  • понедельник, 26 октября 2026 г. в 00:00:18
javascript
Космическая игра в одном HTML-файле: процедурная галактика, планеты из шума и звук без единого семп…

Привет. Я делаю одиночную космическую игру VoidVibe: полёт, бой, торговля, станции, морпехи, абордаж. Работает в браузере (WebGL2) и на Android, оффлайн. Вся игра это один index.html. Внутри нет ни одной картинки, ни одного звукового файла, ни одной библиотеки. Для себя я поставил лимит 512 КБ по gzip на весь файл. Сейчас release-сборка весит 193 КБ из 512, а dev-сборка с панелью разработчика 264 КБ.Здесь без воды: как устроен генератор, как лежат модели, что делают шейдеры, как синтезируется з…

  • воскресенье, 25 октября 2026 г. в 00:00:09
javascript
Мониторинг вакансий с ИИ‑скорингом на n8n и Groq API: разбираем архитектуру и грабли с Rate Limit

Поиск узкопрофильных вакансий (например, n8n‑инженер или специалист по интеграциям) через RSS‑ленты превращается в борьбу с шумом. Простые текстовые фильтры по ключевым словам «автоматизация» или «API» дают массу ложных срабатываний: от «менеджеров по автоматизации продаж» до «руководителей API‑команд».В этой статье я разберу архитектуру end‑to‑end пайплайна на n8n, который использует LLM (Groq API) для жесткого семантического скоринга каждой вакансии. Мы не просто ищем совпадения, а заставляем…

  • суббота, 24 октября 2026 г. в 00:00:16
javascript
Почему мы забрали у LLM браузер: 8 выводов после года работы над расширением для промокодов

Год назад наш ИИ чуть не оформил заказ за пользователя.Изначально отдали GPT полный контроль: вот тебе страница магазина, вот список промокодов, разбирайся. На демо это выглядело хорошо. Ровно до того дня, когда он зашел на страницу оформления, увидел заполненную форму, прикинул, что задача выглядит примерно так, и двинулся нажимать кнопку покупки. Формально он выполнял инструкцию. Фактически мы в этот момент поняли, что полный контроль над чужим браузером LLM давать нельзя. Да и в релизе это б…

  • суббота, 24 октября 2026 г. в 00:00:14
javascript
Как подружить React с 100 000 live-обновлений: WebSocket, Web Workers и кастомный стор

ВведениеПредставьте, что вам нужно отрендерить в React-приложении таблицу с 100 000 объектов, которые непрерывно обновляются в реальном времени через WebSocket. Каждые 50 мс прилетает батч из 5000 дельт (изменений).Стандартный подход с useState или классическим Redux (с Immer) убивает браузер за несколько секунд:Main Thread блокируется: Парсинг JSON и вычисление диффов занимают сотни миллисекунд.Garbage Collector сходит с ума: Иммутабельные обновления создают тысячи новых объектов-клонов, вызыв…

  • суббота, 24 октября 2026 г. в 00:00:12
javascript
DroidScript. Впечатления от года работы

Хотим поделиться с вами своим небольшим опытом работы с IDE DroidScript, средой разработки под Android, которая была обнаружена на просторах Google Play, как инструмент, с которым можно работать непосредственно на смартфоне, т.к. в первую очередь, появилась необходимость программировать в дороге или просто не дома, например, в электричке или на улице. Ноутбук носить с собой не всегда хочется и "можется" - всё-таки лишняя тяжесть, да и время, пока достанешь и запустишь его, а тем более, …

  • суббота, 24 октября 2026 г. в 00:00:10
javascript
Как я с нуля собрал кино-сервис с рекомендациями: Node.js, SQLite и немноголинейной алгебры

Знакомая картина: суббота, вечер, вы собрались вдвоем или небольшой компанией посмотреть кино. И следующие сорок минут уходят на тоскливое листание каталогов. Один хочет комедию, второй терпеть не может глупый юмор, третий уже пересмотрел все новинки. Персональные рекомендации стримингов здесь бесполезны: они заточены под вкусы одного конкретного профиля, а не под разношерстную группу людей на одном диване.Из этого раздражения и вырос KINO PARTY (partykino.com) — двуязычный каталог фильмов и се…

  • суббота, 24 октября 2026 г. в 00:00:10