Маячки в веб-приложениях Все начинается с простой идеи: давайте измерим сколько пользователь проводит времени в приложении при каждом визите. И вроде бы формула проста: необходимо из времени конца визита вычесть время начала. И если с началом проблем нет, то вот как измерить окончание — непонятно. Можно попытаться отловить событие закрытия вкладки и после уже отправить запрос. Но нет гарантии, что запрос дойдет до сервера, ведь браузер при закрытии вкладки старается подчистить все используемые ресурсы, а также отменяет еще невыполненные запросы. Если мы успели отправить — супер, нам повезло. Но если нет — что делать? Можно в память устройства класть эти данные и тогда доотправлять при следующем визите. Однако, если пользователь зайдет к нам только через месяц, то эта память уже может быть очищена (привет, Safari), да и такой подход не совсем реал-тайм и больше походит на танцы с бубнами. Если просто начать гуглить эту проблему, то вы быстро наткнетесь на Beacon API, поддержка которого просто отличная. Технология позволяет делать маячки. То есть запросы, не требующие ответа. Примечательно в Beacon API то, что запрос отправляет не вкладка браузера, а сам браузер (!), причем согласно спецификации, если запрос был поставлен в очередь на отправку, то браузер гарантировано его отправит. Именно поэтому нам уже не важно, что происходит с вкладкой браузера, ведь сам браузер теперь является отправителем. Выделю в Beacon API две вещи: 1️⃣Оффлайн. Если свернуть браузер, то сеть для вкладок замораживается. Что логично: зачем приложению тратить ресурсы на то, что пользователь уже не использует. Однако маячки все равно будут доставлены как только сеть восстановится. Опять же, Г - гарантия. 2️⃣Маячки не участвуют в гонке за ресурсы. Можно не стесняться и отправлять маячки на каждый чих. На производительность приложения это не повлияет, если верить спецификации (к Safari доверия нет, поэтому будьте осторожнее). Из воображения: можно слушать все события и отправлять через beacon скриншоты — так получится видос как пользователь работал с приложением (похоже на вебвизор яндекс метрики). ___ Beacon API отлично подойдет для аналитики и логирования. Других вариантов использования я пока не придумал. Спецификация ☑️
На артемовском направлении ВСУ стали использовать новую и специфическую тактику выявления скрытых российских позиций. Как рассказал военкор Сергей Среда в своем Telegram-канале, украинские командиры отправляют на российские позиции солдат-смертников с установленными на них маячками, по которым затем наводят артиллерию. Весь «мусор» в печь, пусть горит «Мусором» в украинской армии пренебрежительно называют мобилизованных солдат преклонных возрастов, инвалидов и наркоманов, которых на передовой предостаточно...