Category : javascript

javascript
Умный планировщик питания на холодильнике с drag-and-drop, автосохранением сессий и вкусным и полез…

Хочу поделиться опытом создания веб-приложения для планирования питания на неделю. Задача казалась простой: календарь, блюда, ингредиенты. Но в процессе всплыло столько нюансов — от UX на холодильнике до управления сессиями на shared-хостинге, — что решил оформить это в статью.Что получилосьPWA для планирования питания с фичами:Drag-and-drop перемещение блюд между днямиАвтоматический расчет КБЖУ и списка покупокРабота на холодильнике (крупный UI, офлайн-режим)Remember Me на 30 дней даже на shar…

  • суббота, 11 июля 2026 г. в 00:00:07
javascript
Как я сделал идеальную карту для GTA San Andreas в браузере при помощи моего движка

Это продолжение моей статьи о том, как я сделал движок совместимый с GTA San Andreas для запуска в браузере, рекомендую сначала прочитать:https://habr.com/ru/articles/1051828/А здесь речь пойдёт о том, как я готовил идеальную карту и фиксил легаси-баги игры.Что это такое — и чем это не является. OpenSA — это эксперимент и учебный проект. Цель — сам движок: браузерный рантайм, созданный совместимым с форматами RenderWare, которые использует GTA San Andreas, — а не клонировать игру или распростра…

  • пятница, 10 июля 2026 г. в 00:00:08
javascript
Сравнение ИИ-моделей при создании ремейка игры Battle City (1985) — июль 2026

Прошло полгода со времени публикции первого сравнения. Мир ИИ стремительно развивается, поэтому эксперимент пора повторить.Напомню вводные: используются только бесплатные общедоступные ИИ модели в режиме по умолчанию (никаких дополнительных настроек, только режим "Авто", зашли на сайт и сразу вставили запрос), один промпт, если модель предлагает кнопку "Продолжить", то она нажимается до завершения задачи. Некоторые модели переходят в "глупый" режим, если израсходован дне…

  • пятница, 10 июля 2026 г. в 00:00:07
javascript
Обзор библиотеки pravosleva/reactive-engine: Создаем предсказуемый реактивный граф вычислений

⚡ РеактивностьВ современной фронтенд-разработке реактивность стала стандартом дефакто. Мы привыкли к ней в Vue, React (если через хуки/стейт - здесь появляется спорный момент), Angular (Signals) и RxJS. Однако тяжелые фреймворки не всегда уместны, если вам нужно построить чистую, легковесную бизнес-логику, абстрагированную от DOM-дерева.Вот что я хочу Вам показать: https://www.npmjs.com/package/@pravosleva/reactive-engineNPM-пакет @pravosleva/reactive-engine решает именно эту задачу, предоставл…

  • пятница, 10 июля 2026 г. в 00:00:06
javascript
Когда может пригодиться экзотика в ООП: миксины/трейты/аспекты

Когда может пригодиться экзотика.Я много раз обращался к использованию множественного наследования в языках программирования и платформах. Но как правило это обращение было больше теоретическим. Я не видел в его применении значительных преимуществ, способных превзойти альтернативные подходы, с учётом рисков его применения. Но в это раз случай представился. И я покажу этот пример.Итак, множественное наследование не ново. Есть сырое жёсткое применение в лоб в плюсах. Когда появилась Scala, я при…

  • четверг, 9 июля 2026 г. в 00:00:10
javascript
Полный гайд по JavaScript-коду отслеживания в Matomo. Часть 1

В прошлых статьях я уже подробно разобрал базовую инфраструктуру Matomo: как развернуть систему на собственном сервере LAMP, рассчитать нагрузку, выстроить правильную архитектуру сайтов, measurable и Roll-Up аналитики внутри Matomo. Но вся эта серверная часть — только фундамент.  И сегодня мы наконец переходим к самому важному слою Matomo — tracking-коду и архитектуре отслеживания пользовательских действий. Влад Лукашенко Head of SEO, Тензор (разработчик saby.ru), автор ТГ‑канал «ВладПРО» Я бол…

  • четверг, 9 июля 2026 г. в 00:00:09
javascript
Как я случайно создал голосовой чат, который невозможно прослушать

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

  • четверг, 9 июля 2026 г. в 00:00:08
javascript
Как я сделал народную карту АЗС и тестирую HTML-on-Wire библиотеку

Постарался сделать максимально простой и удобный интерфейс, на малых экранах подписи сворачиваются Привет, Хабр!В последнее время многие столкнулись с топливным кризисом: очереди на заправках, замотанные пистолеты и таблички «95-го нет». В чатах автопутешественников царит хаос. Я решил, что ситуацию может спасти краудсорсинг, и запустил сервис natrasse.ru — интерактивную карту, где водители сами отмечают наличие бензина и размер очередей.Конечно, я не первый, кто делает подобные радары. Но для…

  • четверг, 9 июля 2026 г. в 00:00:07
javascript
Как мы во фронтенд-команде ПСБ прокачали релизный цикл npm-пакетов

Привет, Хабр! Меня зовут Оля Борисова, я фронтенд-разработчик в ПСБ. Работала как в продуктовых, так и в платформенной команде. Сегодня хочу поделиться нашим опытом разработки внутренних пакетов, их релизным процессом, расскажу какие проблемы у нас были, а также постараюсь дать советы тем, кто еще в начале пути.На момент написания статьи у нас около 300 репозиториев, большинство из которых представляет собой внутренние библиотеки, утилиты, конфиги и микрофронты. Так было не всегда, когда-то у н…

  • среда, 8 июля 2026 г. в 00:00:12