Понял, что всё движется в правильную сторону, когда услышал сегодня от одного редактора «— мы с тремя кликами и нашей конверсией не получим ни одного шера!», а от
заместителя главреда, обсуждающего баги в игре «— попробуем воспроизвести».
будни
«Журналистика DKIM»
Обратите внимание, как наш редактор угадал, какую строчку из исходника письма нужно удалить, чтобы цифровая подпись сошлась. МАГИЯ
Сделали картографическую игру с Альфа-Банком — вводишь свой текущий адрес и он кидает тебя в аналогичное место в городе мечты https://meduza.io/games/uznayte-gde-by-vy-zhili-v-gorode-svoey-mechty
Проект с использованием Google Maps — каждый раз страх не влезть в бесплатный лимит «100 тысяч API запросов в сутки».
Позвонил в этот раз в гугл, спросил — что делать, если запросов больше. Говорят, лицензия на миллион запросов в год (не в сутки) стоит 10 тысяч евро. Теперь вы тоже об этом знаете 🙈
Добавили в AMP-версию «подвал под материалами», собираемый редакцией как главная.
Да, это «читайте также» в мире AMP.
https://www.ampproject.org/ru/docs/reference/components/amp-list
Провели фейслифт шер-картинок.
🖌 Настя Яровая 🛠 Кирилл Балясников, Боря Горячев
Отдельное спасибо ВК, что начали поддерживать мета-тег vk:image. Это позволило сделать специальные, более узкие картинки для Вконтакте, а то стандартные фейсбучные там обрезаются.
Кстати, интересная деталь — как мы храним токены для соцсетей. Их, как вы понимаете, дофига. Хочется:
1. иметь возможность легко посмотреть и отредактировать токены в рантайме;
2. иметь защиту от того, чтобы запостить со стейджинга в продакшен.
Мы решили хранить их в основной базе данных проекта (pg), но с перфиксом env (production | staging). Таким образом, эти токены легко редактировать real-time. При этом нет опасности, что при импорте продакшен данных на стейджинг мы начнем фигачить тестовые статусы в основной паблик. И ноль дополнительных зависимостей. Достаточно элегантно, мне кажется.
Буду очень рад, если кто-то подскажет простую централизованную систему хранения секретов. Сейчас мне кажется, что, ничего проще Vault от HashiCorp нет и в любой мало-мальски большой компании без этой дополнительной зависимости (и сложности) не обойтись :(
Выпустили книгу, сделали для неё лендинг https://special.meduza.io/book/
Хороший повод рассказать, как мы делаем такие страницы.
У нас есть git-репа static, пуш в master-ветку которого триггерит пулл на сервере, раздающем всю папку в meduza.io/static. Так отдаются страницы типа «О проекте», много разных временных файлов и спецпроекты.
Если спецпроекту нужен красивый адрес — создается nginx роут в домене special.meduza.io. Пример — конференция «Шторм» и книга «Как жить».
Обратите внимание, мы не используем отдельные домены для каждого проекта. Заведении новых доменов, выпуск SSL-сертификатов, включение anti-DDoS механизмов, когда нужно быстро переключить IP адреса — слишком много задач для автоматизации. В результате вся user-facing Медуза живет на двух доменах: основной meduza.io для читателей и mdza.io для коротких ссылок.
Тот момент, когда больше чем через год узнаешь, что твой провайдер не имел кабельного доступа в здание и предоставлял интернет через радиоканал 🙈
Больше года не могли починить перетаскивание в Android вебвью. Наконец сделали, даже запилили пруф на радостях. Что там за магия — следующим сообщением.
Каждая игра — отдельное приложение. Они встраиваются внутрь сайта Медузы как iframe. При этом мобильные приложения открывают игры как webview. Получается следующая схема: нативное приложение → webview с сайтом → iframe с игрой.
При начале дрега игра посылает postMessage сообщение сайту, он в свою очередь дергает java через jsBridge. Приложение блокирует скролл для этого webview. На дроп прокидывается обратное событие на разблокирование скролла.
И всё это — для красивых тестов.
Вот и первое открытие: в фб можно было выбрать continuous stream.
У обычных лайвов лимит продолжительности 4 часа, у continious live — без ограничений. При этом continious stream не сохраняет записи после трансляции, не пушит уведомлений и не показывает продвинутой статистики вроде concurrent viewers.
Стандартный софт для трансляций (vMix) имеет встроенную опцию трансляции в фб, но создает обычный лайв и не даёт выбрать continuous stream. Имейте в виду.