Хочу поделиться опытом создания веб-приложения для планирования питания на неделю. Задача казалась простой: календарь, блюда, ингредиенты. Но в процессе всплыло столько нюансов — от UX на холодильнике до управления сессиями на shared-хостинге, — что решил оформить это в статью.Что получилосьPWA для планирования питания с фичами:Drag-and-drop перемещение блюд между днямиАвтоматический расчет КБЖУ и списка покупокРабота на холодильнике (крупный UI, офлайн-режим)Remember Me на 30 дней даже на shar…
Это продолжение моей статьи о том, как я сделал движок совместимый с GTA San Andreas для запуска в браузере, рекомендую сначала прочитать:https://habr.com/ru/articles/1051828/А здесь речь пойдёт о том, как я готовил идеальную карту и фиксил легаси-баги игры.Что это такое — и чем это не является. OpenSA — это эксперимент и учебный проект. Цель — сам движок: браузерный рантайм, созданный совместимым с форматами RenderWare, которые использует GTA San Andreas, — а не клонировать игру или распростра…
Прошло полгода со времени публикции первого сравнения. Мир ИИ стремительно развивается, поэтому эксперимент пора повторить.Напомню вводные: используются только бесплатные общедоступные ИИ модели в режиме по умолчанию (никаких дополнительных настроек, только режим "Авто", зашли на сайт и сразу вставили запрос), один промпт, если модель предлагает кнопку "Продолжить", то она нажимается до завершения задачи. Некоторые модели переходят в "глупый" режим, если израсходован дне…
⚡ РеактивностьВ современной фронтенд-разработке реактивность стала стандартом дефакто. Мы привыкли к ней в Vue, React (если через хуки/стейт - здесь появляется спорный момент), Angular (Signals) и RxJS. Однако тяжелые фреймворки не всегда уместны, если вам нужно построить чистую, легковесную бизнес-логику, абстрагированную от DOM-дерева.Вот что я хочу Вам показать: https://www.npmjs.com/package/@pravosleva/reactive-engineNPM-пакет @pravosleva/reactive-engine решает именно эту задачу, предоставл…
Когда может пригодиться экзотика.Я много раз обращался к использованию множественного наследования в языках программирования и платформах. Но как правило это обращение было больше теоретическим. Я не видел в его применении значительных преимуществ, способных превзойти альтернативные подходы, с учётом рисков его применения. Но в это раз случай представился. И я покажу этот пример.Итак, множественное наследование не ново. Есть сырое жёсткое применение в лоб в плюсах. Когда появилась Scala, я при…
В прошлых статьях я уже подробно разобрал базовую инфраструктуру Matomo: как развернуть систему на собственном сервере LAMP, рассчитать нагрузку, выстроить правильную архитектуру сайтов, measurable и Roll-Up аналитики внутри Matomo. Но вся эта серверная часть — только фундамент. И сегодня мы наконец переходим к самому важному слою Matomo — tracking-коду и архитектуре отслеживания пользовательских действий. Влад Лукашенко Head of SEO, Тензор (разработчик saby.ru), автор ТГ‑канал «ВладПРО» Я бол…
Сразу разочарую любителей громких фраз: я не делал «защищённый мессенджер», я не думал ни про слежку, ни про прослушку, ни про приватность вообще. Изначально я хотел лишь одного: иметь возможность быстро и без препятствий созвониться с кем‑либо. А получился голосовой чат, разговор в котором физически нельзя прослушать со стороны, и понял я это уже сильно позже, так что «невозможно прослушать» в заголовке — не цель, а побочка. Дальше расскажу, как оно вышло и где у этой невозможности честные гра…
Постарался сделать максимально простой и удобный интерфейс, на малых экранах подписи сворачиваются Привет, Хабр!В последнее время многие столкнулись с топливным кризисом: очереди на заправках, замотанные пистолеты и таблички «95-го нет». В чатах автопутешественников царит хаос. Я решил, что ситуацию может спасти краудсорсинг, и запустил сервис natrasse.ru — интерактивную карту, где водители сами отмечают наличие бензина и размер очередей.Конечно, я не первый, кто делает подобные радары. Но для…
Привет, Хабр! Меня зовут Оля Борисова, я фронтенд-разработчик в ПСБ. Работала как в продуктовых, так и в платформенной команде. Сегодня хочу поделиться нашим опытом разработки внутренних пакетов, их релизным процессом, расскажу какие проблемы у нас были, а также постараюсь дать советы тем, кто еще в начале пути.На момент написания статьи у нас около 300 репозиториев, большинство из которых представляет собой внутренние библиотеки, утилиты, конфиги и микрофронты. Так было не всегда, когда-то у н…