Как стать автором
Обновить

Компания Sports.ru | Tribuna Digital временно не ведёт блог на Хабре

Сначала показывать

Как в Sports.ru писали свой WYSIWYG-редактор

Время на прочтение13 мин
Количество просмотров13K
В середине 2018 года в Sports.ru задумались о переезде на новый WYSIWYG-редактор текста для пользовательских постов. С июня 2019 года редактор работает в режиме бета-версии. За это время мы решили множество проблем, связанных как с проектированием архитектуры всего сервиса, так и с реализацией самого редактора в браузере на основе библиотеки ProseMirror, и решили поделиться своим опытом.


Читать дальше →
Всего голосов 32: ↑31 и ↓1+30
Комментарии41

Пишем простой WYSIWYG-редактор с помощью ProseMirror

Время на прочтение7 мин
Количество просмотров8.6K
Когда в Sports.ru понадобился свой WYSIWYG-редактор, мы решили сделать его на основе библиотеки ProseMirror. Одной из ключевых особенностей этого инструмента является модульность и широкие возможности кастомизации, поэтому с его помощью можно очень тонко подогнать редактор под любой проект. В частности, ProseMirror уже используют в The New York Times и The Guardian. В этой статье мы расскажем о том, как с помощью ProseMirror написать свой WYSIWYG-редактор.

Пишем простой WYSIWYG-редактор с помощью ProseMirror
Читать дальше →
Всего голосов 14: ↑12 и ↓2+10
Комментарии3

Внедряем Sign in with Apple в свое iOS приложение

Время на прочтение2 мин
Количество просмотров11K
На WWDC 2019 Apple в очередной раз нарушила покой iOS разработчиков — представила новую систему авторизации пользователей Sign in with Apple. Теперь все iOS приложения, которые используют сторонние системы авторизации (Facebook, Twitter, etc.), должны в обязательном порядке реализовать Sign in with Apple, иначе выгонят из AppStore. Мы решили не испытывать судьбу и побежали внедрять эту фичу. Как именно мы это сделали — узнаете под катом.
Читать дальше →
Всего голосов 12: ↑9 и ↓3+6
Комментарии15

Добавляем Sign in with Apple на back-end

Время на прочтение2 мин
Количество просмотров11K
На WWDC 2019 Apple представила новую систему авторизации пользователей — Sign in with Apple. Возникла задача интегрировать её в наш back-end и синхронизировать её с уже существующими методами авторизации при помощи email, Google и Facebook. За задачу взялся наш коллега kurenkoff, он и является автором данной статьи. Заинтересовавшихся просим под кат.
Читать дальше →
Всего голосов 9: ↑8 и ↓1+7
Комментарии0

Кроссплатформенная мобильная архитектура RIBs от Uber

Время на прочтение8 мин
Количество просмотров14K
20 декабря 2016 года ребята из Uber Engineering опубликовали статью про новую архитектуру (вот перевод этой статьи на хабре). Представляю вашему вниманию перевод основной части документации.
Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии7

За какие футбольные клубы болеют в разных районах городов мира

Время на прочтение1 мин
Количество просмотров17K
Для международного футбольного приложения Scores&Video мы собираем лучшие фото из Instagram и Foursquare по каждому матчу, получается оперативная и атмосферная лента. У нас накопилось несколько миллионов фото болельщиков вместе с их геоданными. Мы решили выяснить, как распределены их пристрастия в пространстве и какие районы Москвы по-настоящему спартаковские.

image
Читать дальше →
Всего голосов 19: ↑15 и ↓4+11
Комментарии16

Как мы используем API Giphy для тематических гифок в футбольном статус-боте

Время на прочтение3 мин
Количество просмотров6.3K
Наш отдел аналитики в свободное время выращивает бота, который находит интересные закономерности в футбольных статистических данных и пишет про это статусы у нас на Sports.ru. Робота зовут FRED, получается у него примерно так:

image
Читать дальше →
Всего голосов 25: ↑20 и ↓5+15
Комментарии5

Как устроена инфраструктура обработки данных Sports.ru и Tribuna.com?

Время на прочтение11 мин
Количество просмотров29K
В первом посте об аналитической системе Sports.ru и Tribuna.com мы рассказали о том, как используем нашу инфраструктуру в повседневной жизни: наполняем контентом рекомендательную систему, наблюдаем за бизнес-метриками, ищем среди пользовательского контента бриллианты, находим ответы на вопросы “Как работает лучше?” и “Почему?”, нарезаем пользователей для почтовых рассылок и строим красивые отчеты о деятельности компании. Всю техническую часть повествования мы скромно спрятали за этой схемой:

Бирюзовым обозначены компоненты в нашей собственной ИТ-инфраструктуре, оранжевым - все то, что мы используем как внешний сервис

Читатели законно потребовали продолжить повествование со смешными котиками, а olegbunin пригласил рассказать о всем, что было скрыто, на РИТ++. Что ж, изложим некоторые технические детали – в продолжении веселого поста.
Читать дальше →
Всего голосов 44: ↑43 и ↓1+42
Комментарии3

Как мы используем инфраструктуру обработки данных в Sports.ru и Tribuna.com?

Время на прочтение6 мин
Количество просмотров47K
Год назад мы отказались от всех публичных счетчиков в пользу закрытых сервисов и собственной инфраструктуры обработки данных. Собирая на Олимпиаде по 10 млн. хитов в сутки, мы нащупали предел доброты Google Analytics, за которым бесплатное обслуживание уже не возможно. Но теперь у нас есть свой лунапарк со сверткой и графиками, поэтому мы можем легко снизить интенсивность использования GA, сохранив за ним только аудиторские функции. О том, как мы собираем данные и как используем их в своей работе – в простыне с веселыми картинками внутри.

У нас нет такого помещения с мониторами и славными бородатыми парнями. Эта картинка найдена в Интернете и сделана в NOC Wallmart. Парни могут себе позволить )
Читать дальше →
Всего голосов 101: ↑90 и ↓11+79
Комментарии62

Сила слова. Как простое объяснение спасло взаимоотношения с пользователями

Время на прочтение3 мин
Количество просмотров52K
Медийный контент окупается по двум моделям – прямая плата за него пользователями и реклама. Ни к тому, ни к другому особой любви пользователи, понятно, не испытывают. Не случайно картинка с отзывами российских пользователей Google Play на музыкальное приложение Гугла стала мемом:

image

Что-то похожее пережили и мы на Sports.ru.
Читать дальше →
Всего голосов 152: ↑97 и ↓55+42
Комментарии67

Как сделать CDN для своего сайта и почему это полезно для высоконагруженных проектов

Время на прочтение6 мин
Количество просмотров132K
Главная задача отдела эксплуатации Sports.ru и Tribuna.com — масштабирование сетевой инфраструктуры в условиях постоянного роста трафика (за 1,5 года трафик и кол-во запросов в секунду выросло в два раза), регулярных пиковых нагрузок и аудитории, распределенной по разным странам. Для решения этой задачи мы используем разные технологии; одна из них — создание собственной CDN (сети доставки контента), которая позволяет сократить нагрузку, усилить защиту от DDoS-a и ускоряет загрузку сайта в удаленных регионах. Мы решили поделиться своим опытом в этой области и составили краткое практическое руководство для системных администраторов по разворачиванию и эксплуатации своей CDN.

Читать дальше →
Всего голосов 53: ↑44 и ↓9+35
Комментарии27

Мобильные приложения и декомпозиция медиа

Время на прочтение3 мин
Количество просмотров3.7K
Если еще полтора-два года назад у крупных медийных издателей были сомнения, так ли важен для них концепт мобильных приложений (сервисными пользовались поначалу куда активнее, чем медийными), то сейчас этот вопрос уже не стоит. Ответ: жизненно важен. Например, в августе уже 35% прочтений контента наших Sports.ru и Tribuna.com делается с помощью приложений для смартфонов и планшетов. Причем рост этой доли только ускоряется, и за 50% эта цифра перевалит, похоже, уже к Олимпиаде в Сочи.

image

Читать дальше →
Всего голосов 17: ↑13 и ↓4+9
Комментарии8

Кастомизация социальных кнопок

Время на прочтение3 мин
Количество просмотров45K
Многие из нас так или иначе сталкивались с проблемой кастомизации кнопок соцсетей, а многие ещё столкнутся. Недавно нам на Sports.ru пришлось решать задачу, как не только настроить внешний вид «лайков», но и разместить на одной странице сразу несколько блоков социальных кнопок, относящихся к разным текстовым блокам.

В этом топике мы расскажем, как решили эту проблему в своем спецпроекте (осторожно, он рекламный), и поделимся готовым и, что немаловажно, достаточно гибким решением.

Читать дальше →
Всего голосов 30: ↑29 и ↓1+28
Комментарии27

Fantasy-спорт: что это, зачем это, и как это влияет на реальную жизнь

Время на прочтение5 мин
Количество просмотров27K
imageКогда в первом туре текущего чемпионата России ЦСКА обыграл пермский «Амкар», главным героем матча стал защитник Сергей Игнашевич, забивший оба гола в матче. Мало кто знал в тот момент, впрочем, что к радости Сергея примешивалась легкая досада: он не успел поставить себя капитаном в своей фэнтези-команде и лишился 18 очков. Защитник слишком поздно узнал, что его партнер Думбия не выйдет играть в основе, и успел к ноутбуку лишь в 13:06, тогда как последние перестановки можно было делать за час до матча. Позже Сергей рассказал о достижениях и принципах формирования своей команды Ignashevich team на личном сайте и своем блоге на Sports.ru.

Как вы, наверное, уже поняли, смысл фэнтези-футбола в том, чтобы составить виртуальную команду из реальных игроков и получать очки за их полезные действия в реальных играх, соревнуясь с другими виртуальными командами. Мы хотим немного рассказать о том, почему игроки сборной России меньше чем за час до реальных матчей думают о каких-то играх в интернете, откуда эта игра взялась и как она развивается в мире и у нас на Sports.ru.
Читать дальше →
Всего голосов 12: ↑9 и ↓3+6
Комментарии0

Вставить все: виджеты со спортивной информацией для внешних сайтов

Время на прочтение3 мин
Количество просмотров6K
Люди, интересующиеся футболом, любят оценки — в первую очередь, игры футболистов. Раньше это была привилегия газет — для читателей эти бесконечные «Баранов (5,5)» зачастую были чуть ли не основной информацией о матче. Сейчас за действиями игроков можно следить разными способами (и не зря «СОГАЗ — чемпионат России по футболу» в честь программы для интернет-телевидения в народе переименовали в «SopCast — чемпионат России по футболу») — но споров об уровне игры меньше не становится, поскольку никаких универсальных объективных показателей по-прежнему не существует.

Мы на Sports.ru хотели, с одной стороны, вовлечь в оценивание футболистов как можно больше людей — полагая, что средние данные будут нести больше смысла. С другой стороны, болельщики склонны группироваться по интересам и не доверять мнению людей из других группировок — поэтому мы решили сделать для них возможность оценивать игроков там, где им хочется, и так, чтобы никто больше им не мешал — скажем, в собственных сообществах и на фанатских сайтах. В результате мы разработали настраиваемый веб-виджет для оценки игроков, который легко вставить на собственный сайт или в блог. Все данные по оценкам собираются у нас, но есть возможность отображать в виджете оценки только тех, кто проголосовал через него. Пока, конечно, виджет еще нельзя вставить прямо в газету (как мы поступили в иллюстрации к этому топику с венгерской Nemzeti Sport), но это, в общем-то, проблема в первую очередь для газет.
Читать дальше →
Всего голосов 11: ↑8 и ↓3+5
Комментарии0

Игра на ставках без риска

Время на прочтение2 мин
Количество просмотров13K
Азарт – основная эмоция спортивных болельщиков, и для многих он не ограничивается переживаниями по поводу выступлений любимой команды. Исследование аудитории Sports.ru, которое по нашему заказу провела британская компания YouGov, показало, что 18% пользователей сайта регулярно делают ставки в букмекерских конторах. А многие не делают (например, я) лишь из-за того, что понимают: алгоритм игры предполагает скорее потерю, чем заработок денег. И «в плюсе» на длинной дистанции – лишь те уникумы, кто сочетает прозорливость и расчет. Но азарт у них (и меня), тем не менее, тоже имеется.

Для таких мы и запустили новую игру на условные деньги, но с реальными призами«Виртуальный букмекер».
Читать дальше →
Всего голосов 14: ↑6 и ↓8-2
Комментарии19

Интеграция сайта с Facebook через OpenGraph

Время на прочтение4 мин
Количество просмотров12K
Facebook OpenGraphВыменивая у агрегаторов контента (поисковых машин, социальных сетей и прочих сервисов) «продовольствие» на пользовательский трафик, издатель постоянно задается вопросом: не станет ли агрегатор основным источником информации для моего пользователя? Потерять свою идентичность в общей каше медиа-ресурсов, отдать результаты производства бесплатно и ничего не получить взамен — риски, которые зачастую сдерживают медиа-менеджеров в решении о максимальной публичности и открытости.

В этом смысле анонсированная Facebook поддержка OpenGraph кажется несколько провокационной. Технология позволяет сайтам экспортировать в социальную сеть профили всех объектов, которые они освещают – персоны, локации, товары, организации, произведения искусства и т.д. Пользователь, подписавшись на любой из этих объектов, сможет получать информационные сообщения в NewsFeed, увидит эти объекты в своих интересах и результатах поиска. Facebook предоставил удивительные возможности, но в то же время заставил серьезно задуматься о дальнейшей судьбе stand-alone media.

Sports.ru оказался первым российским сайтом, который ввязался в эту авантюру =) Какую задачу мы решаем с помощью OpenGraph и с какими проблемами столкнулись — в продолжении статьи об интеграции медийного проекта c социальной сетью.
Читать дальше →
Всего голосов 50: ↑45 и ↓5+40
Комментарии19

Структурирование контента и «белое» SEO

Время на прочтение5 мин
Количество просмотров12K
Всем привет! Стартовые дни чемпионата мира по футболу, хочется думать, вполне подходят и для старта корпоративного блога Sports.ru, в котором мы планируем писать о спортивном интернете и – шире – об эволюции медиа в digital-эпохе. Цели блога – рассказать о каких-то универсальных решениях, опробованных нами и способных улучшить не только спортивный сайты, а также услышать побольше дельных советов, способных улучшить уже Sports.ru. Сами мы эволюционируем довольно энергично – за последние пару лет Sports.ru перестал быть типичным тематическим сайтом с текстами и новостями, а стал еще, в той или иной степени:
  • социальной сетью спортивных болельщиков
  • игровой платформой
  • базой данных о спорте
Скоро станет много еще чем – магазином, сервисом видеотрансляций и т.д. и т.п., но об этом отдельно. Сегодня же мы хотели бы рассказать о нашем опыте структурирования контента, который по каким-то непостижимым причинам пока так и не стал среди СМИ действительно популярным.
Читать дальше →
Всего голосов 71: ↑54 и ↓17+37
Комментарии39