Pull to refresh
54
0

Пользователь

Send message
С одной стороны — это, конечно, неприятно.
С другой стороны, такие дыры — единственный способ избавиться от DеRьMa (например, получить ключи шифрования потока встроенного vcr) и путь к кастомным прошивкам.
На NES были сохранения. И пароли.
Отправка сообщений делается обычным хттп-запросом, никакой магии.
У нас сейчас проект просто отсылает сообщение в апишечку на похопе, которая кладет в очередь. А сервис на го уже берет из очереди и рассылает.
Ну, в гугле, например, это в том числе ради более точной идентификации клиента (привязка к гугловой учетке)
А так, мне в целом стандарт странным кажется. Несмотря на наличие firebase и мозилловскиго сервера нужен все равно свой для рассылки. Куда логичней были бы каналы подписки и апи для отравки сообщения сразу всем подписанным клиентам, поскольку задача «отправить одно сообщение сразу всем» возникает гораздо чаще, нежели «отправить кому-то конкретному».
1. Мы с тобой несколько лет вместе работали, можно и на «ты», хех
2. У Мозиллы есть несколько довольно подробных и понятных заметок с примерами, они работают и для хрома (с добавлением FCM-ключа и манифеста) https://developer.mozilla.org/en/docs/Web/API/Push_API#See_also
Для хрома стоит прочесть https://developers.google.com/web/updates/2015/03/push-notifications-on-the-open-web (не смотря на пометку об устаревании) и минимально-рабочий пример https://github.com/chrisdavidmills/push-api-demo

Вот ты опять отвечаешь на то, о чем я не говорил.
1. Заметь, я же нигде не говорил, что очередь не нужна. Но даже в фоне разбирать события курлом — плохой вариант.
2. firebase api — это не стандартное средство. Стандартное — webpush api. Гугл его целиком и полностью поддерживает.
Краткий ответ: никак
Длинный ответ: ServiceWorker+ Fetch/Streams. И свой костыль для fingerprinting'а клиента, подписки, отписки и всего вот этого. Сделать свой, совместимый с WebPush API сервер не представляется возможным, поскольку их адреса вшиты в коде браузеров и не доступны к изменению из js.
Ах да, https нужен только для service-worker. Отправку можно делать откуда угодно. При этом картинки для нотификаций тоже должны отдаваться с https.
1. Если использовать push api напрямую, а не через firebase.js — то все замечательно приходит в фаерфокс. Кода от этого больше не становится.
2. Если использовать push api напрямую, то VAPID и надо шифровать payload.
3. >не самая дешевая операция
Да, если делать это (multi)curl'ом на похопе (~250 пушей в минуту). На golang с concurency=200 (столько хочет гугловый http2) получается ~1000 пушей в секунду.
4. Стандарт до сих пор не утвержден. И лучше не изобретать свой велосипед, а использовать один из кучи готовых сервисов, которые и о передрягах стандарта позаботятся и поддержку iOS/Safari обеспечат.
Игровой движок называется Love2D, а не Lua 2D

Мы используем у себя опенрести для кучи задач:
Статистика
Детект мобильных девайсов ( https://github.com/isage/lua-resty-mobile )
Блочный кеш (через ssi) в редисе
Ресайз картинок на cdn ( https://github.com/isage/lua-imagick )
Сейчас медленно и неторопливо пилю либу для монгодб (хранить метаданные тех же картинок) ( https://github.com/isage/lua-resty-moongoo )

Минус в том, что OpenResty-сообщество в основном китайско-говорящее и общающееся на англицком через google translate.
Стоило еще упомянуть в статье, что изначально ngx_lua был разработан в taobao, а после поддерживался/поддерживается cloudflare (куда ушел работать автор)
ДНК нельзя. Но материал для анализа вполне можно и так добыть (в ходе обыска или другими путями)
У мака гуевина в xcode удобная, afaik там dtrace под капотом.
1. >Кроссплатформенный
Я, конечно, собирать не пробовал, но в описании только lib/win. Мака нет.
2. Что с лицензией? Что под апаче, что под gpl?
3. Минусы: требует правки кода, умеет только именованные участки, не умеет показывать узкие места ( в отличии от perf, xcode и того, что там в студии)
Да скучно там все, скучно. Я добрую часть этих форматов ковырял и описывал http://falloutmods.wikia.com/wiki/Special:Contributions/Sarcastic_cat
Не очень много и не очень интересных. Поверьте мне, я эту фоллаутовскую отрисовку писал: https://github.com/falltergeist/falltergeist/blob/master/src/State/Location.cpp#L590
Потому что Z-Order. Объекты с большими координатами рисуются позже.
Исходников оперы-мобайл нету, поэтому без понятия.
Судя по дефайнам они включены для профилей smartphone и tv, а на десктопе какраз выключены.
Собственно, никто не мешает собрать примеры из modules/jsplugins и попробовать.

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity