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

Компания Okko временно не ведёт блог на Хабре

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

Apache Airflow в связке с Kubernetes

Уровень сложности Сложный
Время на прочтение 5 мин
Количество просмотров 6.7K

Привет! Меня зовут Алексей Карпов, я DevOps-инженер (MLOps) отдела ML разработки в OKKO. Хочу поделиться опытом в работе с Apache Airflow в связке с Kubernetes. Расскажу, как установить Airflow в Kubernetes, настроить автоматическую синхронизацию DAG'ов с удалённым репозиторием, а также как отладить его работу. Всё это — на примере запуска простейшего DAGа. 

Читать далее
Всего голосов 10: ↑7 и ↓3 +4
Комментарии 2

Backend Client как универсальный инструмент для UI-автотестов

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 3.3K

Всем привет!

В этой статье я бы хотел поделиться инструментом, который мы в Okko используем для UI-автотестов для клиентских приложений платформы Android. 

Обычно, когда в компаниях начинают задумываться о UI-тестах, первой вехой такой автоматизации являются чистые e2e-тесты. Это уже хороший результат, но, к сожалению, как только наше покрытие начинает выходить за рамки того, что можно сделать только через клиент, начинаются большие проблемы.

Также по мере расширения покрытия мы начинаем сталкиваться с проблемой времени выполнения тестов, которое может легко составлять и несколько часов, поскольку для каждого кейса мы должны заново прокликивать на клиенте все предусловия для какой-либо из проверок.

И соответственно, чем больше мы этим занимаемся, тем выше вероятность падения UI-тестов, поскольку в идеальном мире взаимодействия с клиентом должно быть ровно столько, сколько необходимо для выполнения теста, а у нас же получается всё наоборот. Поэтому после того, как такие тесты уже написаны, все начинают задумываться, а не начать ли применять к фронтовым тестам что-нибудь из бэкенда. Мы столкнулись с этой же проблемой. 

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

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 8

Динамические типы с GraphQL

Уровень сложности Средний
Время на прочтение 4 мин
Количество просмотров 1.9K

Реализация динамических типов на GraphQL выглядит довольно естественно. Однако, есть определенные сложности.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 2

Как правила линтинга влияют на архитектуру приложения

Уровень сложности Средний
Время на прочтение 3 мин
Количество просмотров 5.6K

В eslint есть одно простое, но мощное правило, которое поможет вам в поддержании архитектуры приложения.

Читать далее
Всего голосов 18: ↑17 и ↓1 +16
Комментарии 12

Секретная миссия: как «Агенты Okko» помогают создавать лучший сервис

Время на прочтение 3 мин
Количество просмотров 1.5K
Многие сервисные компании давно осознали, насколько важно постоянно работать над улучшением клиентского опыта, активно собирать и обрабатывать обратную связь от пользователей. В Okko решили пойти дальше и сделать сообщество пользователей частью команды.

image

Как это работает?


В апреле 2020 года под руководством директора по сервису и клиентскому опыту Дарьи Юрасовой стартовал проект «Агенты Okko». Это сообщество пользователей, цель которого – сделать сервис лучше, привлекая действующих пользователей Okko к тестированию продукта.

Сообщество помогает находить проблемы удобства использования и выявлять технические недочеты платформы. Для этого предусмотрено 2 направления тестирования – юзабилити и техническое.

«Агенты Okko» тестируют сервис в различных форматах: онлайн-опросы, удаленные немодерируемые тесты, индивидуальные интервью и другие.

Как пользователи становятся Агентами?


Пользователи Okko получают приглашение в сообщество со ссылкой на анкету. При отборе учитываются все данные пользователя, начиная от опыта использования продукта до демографических параметров. Эта информация используется для формирования оптимальной выборки для каждого исследования.

Пользователи, прошедшие отбор, добавляются в сообщество, в котором они делятся опытом, общаются и задают вопросы по сервису. Приглашения на исследования участники получают по почте или с помощью каналов группы в Telegram и WhatsApp.
Читать дальше →
Всего голосов 8: ↑3 и ↓5 -2
Комментарии 6

Позиция инженерной команды Okko по событиям, связанным с Nginx

Время на прочтение 2 мин
Количество просмотров 49K
Мы, инженерная команда Okko, полностью поддерживаем открытое ПО и в сегодняшней ситуации с Игорем Сысоевым выступаем на стороне IT-сообщества.

Как вы знаете, в прошедшие два года у Окко сменились акционеры, однако, до сих пор это не влияло на нашу работу, так как акционеры предоставляли нам свободу действий. История с NGINX стала полной неожиданностью для всех нас. Порция ненависти досталась заодно и нам, как онлайн-сервису, входящему теперь в Rambler Group.

Тем не менее, увольняться и бросать наш сервис, который мы строили без малого 10 лет, мы не хотим, и собираемся продолжать развивать его дальше. Причина этого — наша ответственность перед миллионами простых пользователей сервиса, 90% которых не знает даже, что такое веб-сервис, и наше огромное желание показывать им лучший футбол и фильмы.

Как уже сообщалось в СМИ, до конца года ожидается разбор ситуации среди акционеров, а мы пока с искренним волнением и болью следим за развитием ситуации и рассчитываем на благополучный ее исход во благо всего IT-сообщества. Искренне надеемся, что вы разберетесь в ситуации и не будете вымещать на нас и нашем сервисе Okko свою злобу и раздражение.
Читать дальше →
Всего голосов 211: ↑162 и ↓49 +113
Комментарии 208

Автоматизация заготовки постеров онлайн-кинотеатра

Время на прочтение 5 мин
Количество просмотров 2.6K
Сегодня поговорим о том, как мы автоматизировали заготовку обложек фильмов/коллекций и другого контента в Okko, а также о том, какие проблемы решает автоматизация в целом и какие перспективы это перед нами открывает.
Читать дальше →
Всего голосов 15: ↑12 и ↓3 +9
Комментарии 3

Особенности тестирования веб-приложения для видеосервиса

Время на прочтение 5 мин
Количество просмотров 5.5K


Услуги потокового вещания по запросу (VOD) стали неотъемлемой частью нашей повседневной жизни. Video on Demand — это система доставки видеоконтента, которая позволяет зрителям выбирать контент (видео) и просматривать его в удобное время (по запросу) на любом устройстве, предназначенном для воспроизведения видео (веб, планшеты, смартфоны, игровые приставки и т. д.).

В настоящее время значительная доля Интернет-трафика тратит свои данные на просмотр аудио- и видеоконтента. С ростом скорости передачи данных потоковая передача мультимедиа стала основным способом распространения информации среди пользователей.

Обеспечение бесперебойной работы вашего медиаконтента имеет решающее значение. Качество воспроизведения видео является существенным фактором общего пользовательского опыта интеллектуальных устройств.

В данной статье поговорим об особенностях тестирования веб-приложений для видеосервиса, в частности, остановимся на особенностях тестирования плеера.
Читать дальше →
Всего голосов 8: ↑7 и ↓1 +6
Комментарии 0

Рекомендации в Okko: как заработать сотни миллионов, перемножив пару матриц

Время на прочтение 20 мин
Количество просмотров 33K

Rekko — персональные рекомендации в онлайн-кинотеатре Okko


Знакома ли вам ситуация, когда на выбор фильма вы тратите гигантское количество времени, сопоставимое со временем самого просмотра? Для пользователей онлайн-кинотеатров это частая проблема, а для самих кинотеатров — упущенная прибыль.


К счастью, у нас есть Rekko — система персональных рекомендаций, которая уже год успешно помогает пользователям Okko выбирать фильмы и сериалы из более чем десяти тысяч единиц контента. В статье я расскажу вам как она устроена с алгоритмической и технической точек зрения, как мы подходим к её разработке и как оцениваем результаты. Ну и про сами результаты годового A/B теста тоже расскажу.

Рекомендую вам прочитать эту статью
Всего голосов 70: ↑61 и ↓9 +52
Комментарии 31

Сюрпризы планировщика запросов в БД PostgreSQL

Время на прочтение 13 мин
Количество просмотров 18K
Графики, отчеты и аналитика – все это так или иначе присутствует в back-office любого, даже совсем маленького, предприятия. Когда в обычных таблицах в Excel/Numbers/Libre становится уже тесно, но data все еще не очень big, традиционные решения для внутренних потребностей компании часто строятся с помощью реляционных баз данных, таких как PostgreSQL, MySQL или MariaDB.

Эти базы данных бесплатны, благодаря SQL удобно интегрируются с остальными компонентами в системе, они популярны и с ними умеют работать большинство разработчиков и аналитиков. Нагрузку (трафик и объемы) они могут переварить достаточно объемную, чтобы спокойно продержаться до того момента, когда компания сможет позволить себе более сложные (и дорогие) решения для аналитики и отчетов.
Однако даже в многократно изученной технологии всегда существуют разные нюансы
Всего голосов 38: ↑38 и ↓0 +38
Комментарии 4

Rekko Challenge

Время на прочтение 8 мин
Количество просмотров 6.2K

Rekko challenge


Сегодня мы запускаем Rekko Challenge 2019 — соревнование по машинному обучению от онлайн-кинотеатра Okko.


Мы предлагаем вам построить рекомендательную систему на реальных данных одного из крупнейших российских онлайн-кинотеатров. Уверены, что эта задача будет интересна и новичкам, и опытным специалистам. Мы постарались сохранить максимальный простор для творчества, при этом не перегружая вас гигабайтными датасетами с сотнями предварительно посчитанных признаков.


Подробнее про Okko, задачу, данные, призы и правила — ниже.

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

Вы и Брэд Питт похожи на 99%

Время на прочтение 14 мин
Количество просмотров 23K

Завтра в отпуск


Мы в отделе аналитики онлайн-кинотеатра Okko любим как можно сильнее автоматизировать подсчёты сборов фильмов Александра Невского, а в освободившееся время учиться новому и реализовывать классные штуки, которые почему-то обычно выливаются в ботов для Телеграма. К примеру, перед началом чемпионата мира по футболу 2018 мы выкатили в рабочий чат бота, который собирал ставки на распределение итоговых мест, а после финала подсчитал результаты по заранее придуманной метрике и определил победителей. Хорватию в четвёрку не поставил никто.


Недавнее же свободное от составления ТОП-10 российских комедий время мы посвятили созданию бота, который находит знаменитость, на которую пользователь больше всего похож лицом. В рабочем чате идею все настолько оценили, что мы решили сделать бота общедоступным. В этой статье мы кратко вспомним теорию, расскажем о создании нашего бота и о том, как сделать такого самому.

Уронить запад
Всего голосов 62: ↑57 и ↓5 +52
Комментарии 10