Обновить
8K+
Онлайн-кинотеатр Иви
Мы открываем для людей многообразие мира кино
4,61
Оценка работодателя
94,48
Рейтинг
107 429
Подписчики
Сначала показывать

Знакомство с командой платформы веб

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

У каждого сервиса в Иви есть свои хранители. У веба — команда «Гамбит», которая делает так, чтобы сайт оставался тем самым местом, с которого начинается путь зрителя в мир контента. Они не просто пишут код, а выстраивают целую экосистему, где скорость, стабильность и забота о пользователе переплетаются с экспериментами, AI-инструментами и собственным мерчем. В этой статье Дмитрий Абраменко, технический менеджер платформы веб, приоткроет завесу тайн своего направления и расскажет больше о команде.

Читать далее

Что упало — не пропало? EXC_BAD_ACCESS vs. LLDB

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели7.1K

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

Читать далее

Знакомство с командой обеспечения качества

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели4.2K

За каждым багом, который не дошёл до зрителя, и каждой фичей, которая запустилась без боли, стоит целая философия качества. В новом интервью Александр Монетчиков, директор по качеству Иви, рассказал о нашем подходе: тестировщик не сидит в конце конвейера и не ловит всё, что летит мимо, а каждый в команде чувствует ответственность за то, что попадает к зрителю.

Читать далее

Как ИИ траблшутит приложения в нашем Kubernetes

Время на прочтение15 мин
Охват и читатели7.6K

Уже нет сомнений в том, что искусственный интеллект позволяет оптимизировать и ускорить процесс разработки, помогая в написании и ревью кода. Но насколько полезен он может быть для задач в сфере инфраструктуры и девопс? 

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

Читать далее

Как мы учим будущих IT-специалистов в МАИ и что получаем взамен

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели6.5K

В мире высоких технологий, где все меняется со скоростью мысли, диалог между индустрией и институтом — это не просто обмен опытом, а вопрос выживания и развития. В этом интервью Александр Дружков, Deputy CTO Иви, поделится историей и результатами нашего сотрудничества с Московским авиационным институтом.

Читать интервью

Знакомство с командой стрима «Уведомления»

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели4.9K

За каждым push-уведомлением и всплывающим окном в Иви стоит целая экосистема решений, технологий и — что важнее — людей. В новом интервью из нашей IT-серии Елена Еше, технический менеджер, проведет нас за кулисы своей команды. Узнаем не только о технологическом стеке и проектах, но и о том, как рождаются идеи, празднуют успехи и создают атмосферу, в которую хочется возвращаться каждый день.

Читать далее

Профессия по любви: как стажировка помогает найти себя в ИТ

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели3.6K

Миссия ИТ‑компаний не только в том, чтобы создавать крутые продукты! Этим летом мы в Иви получили крутую возможность провести стажировку группы студентов 2-ого курса МГТУ им. Н.Э. Баумана. Их факультет готовит совершенно разноплановых специалистов — ты можешь выбрать любую ИТ‑профессию, которую захочешь. Но в этом‑то и заключается сложность — как избежать карьерных ошибок и понять, кем они хотят быть.

Далее расскажем что из этого вышло и какие ключевые моменты мы выписали для себя.

Читать далее

Знакомим с командой ML

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели4.4K

Запускаем серию статей, посвященных IT-специалистам в онлайн-кинотеатре Иви! Мы будем рассказывать о разных командах, их задачах, вызовах и внутренней кухне. Решено было начать с команды машинного обучения связи с предстоящим митапом, где разработчики поделятся своим опытом. В этом материале знакомим поближе с Дмитрием Русановым, руководителем группы разработки машинного обучения, и его командой.

Читать интервью

Локализуй и протестируй: разработчик и тестировщик о задаче с интернационализацией сайта Иви

Уровень сложностиСредний
Время на прочтение30 мин
Охват и читатели5.8K

Всем привет! Меня зовут Даша, я инженер по тестированию на платформе web в Иви. Со мной мой коллега, разработчик, Антон. Мы расскажем вам о нашем опыте интернационализации сайта Иви.

Написано немало статей про интернационализацию и локализацию сайта, а также про SmartCAT, который используют для локализации. Однако в них сложно найти описание проблем, возникающих как при разработке, так и в тестировании. Наша статья будет не про SmartCAT, затрагивать его настройку мы не будем. Мы попробуем рассказать вам, как все происходило отдельно в глазах разработчика и тестировщика. Надеемся наш опыт вам поможет! А также будем рады, если в комментариях вы поделитесь своими мнениями, идеями или опытом. Давайте обсудим вместе!

Читать далее

Оптимизация асинхронного сервиса на Python

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели7.3K

Всем привет! Сегодня хочу поделиться с вами нашим опытом ускорения асинхронного микросервиса на Python примерно на 25%. Я расскажу, какие действия мы предпринимали с командой, что помогло, а что оказалось не особенно полезно с точки зрения ускорения сервиса.

Небольшое предисловие: мы в Иви постоянно работаем над тем, чтобы наши сервисы отвечали быстро и их максимальная предельная нагрузка повышалась. В процессе очередного анализа сервисов, мы выяснили, что один из них, о котором пойдет речь в статье, отвечает довольно медленно, учитывая его особенности. И мы решили его ускорять.

Читать далее

Mockoon vs Charles Proxy: битва за сердца QA

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели2.6K

Современная разработка программного обеспечения все больше опирается на распределенные системы и микросервисы, что требует надежных методов обеспечения качества для проверки интеграции API и поведения сети.

Такие инструменты, как Mockoon (платформа имитации API с открытым исходным кодом) и Charles Proxy (HTTP-прокси), решают эти задачи, но обслуживают различные фазы жизненного цикла обеспечения качества.

Пришло время разобраться: что лучше — Mockoon или Charles Proxy?

Читать далее

Создаем проксирующий мок на Python: эффективное автотестирование API

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели4.7K

Если вы автоматизатор тестирования API, то вам наверняка часто приходилось сталкиваться с написанием или поддержкой моков для какого-нибудь сервиса, и это зачастую отнимало много времени и ресурсов.
Расскажу, как и почему в Иви пришли к созданию собственного решения, раскрою детали его работы (код на гитхабе прилагается) и покажу, как библиотека упрощает разработку и тестирование API.

Вперед к истории

Как мы прикрутили прокси к автотестам

Время на прочтение13 мин
Охват и читатели3.1K

Привет! Мы в онлайн-кинотеатре Иви любим писать клиентские автотесты. В основном все они интеграционные. Используем почти полные копии бэка, автоматически разворачиваемые в k8s. Особенность состоит в том, что мы максимально стремимся к использованию нативных фреймворков или к использованию того стэка, который лучше всего подойдет для поддержки проекта. Это заставляет агрессивно выделять общий функционал, избавляться от копипасты и держать архитектуру и подходы как можно более похожими от проекта к проекту. И одна из основных проблем, с которой столкнулись - это работа с сетевым стэком. А как мы ее решали расскажем в статье...

Читать далее

Оптимизация метрик веба через аудит в Google Tag Manager: реальность или вымысел?

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели2.2K

После внедрения процесса тестирования рекламных тегов на сайте из инструмента аналитики, GTM (предыдущая статья). Мы задумались каких ресурсов он нам стоит, как уменьшить влияние GTM и сформулировали гипотезу что посредством аудита тегов можно улучшить метрики веба. Помимо этого мы хотели бы узнать:

- Правда ли то, что ассинхронные сценарии настолько легкие для веба?

- Правда ли то, что приостановленные теги == удаленным?

Этапы эксперимента и наши выводы читайте ниже. Будем рады, если в комментариях вы поделитесь своими мнениями, идеями или опытом. Давайте обсудим вместе!

Читать далее

Ближайшие события

Интерактивные виджет-подборки в Иви (iOS)

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели2K

И снова здравствуйте! В 2022 году у нас появились первые HomeScreen виджеты, это был первый опыт работы с библиотекой WidgetKit. Затем появились LockScreen виджеты и мы их тоже добавили. А выход iOS 17 и поддержка библиотеки AppIntents в виджетах, знаменовал новый этап в эволюции виджетов.

В этой статье поговорим о том, как мы зарелизили интерактивные виджеты и из чего они состоят: разделение логических слоёв на SPM пакеты, обеспечение качества (unit, snapshot тесты), accessibility и с каким нюансами столкнулись, о которых Apple не рассказывала на WWDC23.

Читать далее

Пишем интерактивный виджет

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели7.1K

Виджеты в новом обличии появились в 2020 году вместе с выходом iOS 14 (HomeScreen widgets). За это время Apple выпустила больше семейств виджетов, а также добавила их на LockScreen в iPhone и iPad. Но интерактивность появилась впервые в iOS 17.

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

Читать далее

Внедрение процесса тестирования Google Tag Manager: увлекательная история Даши-путешественницы

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели3.3K

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

А сейчас немного остановимся и познакомимся: меня зовут Даша, я инженер по тестированию на платформе web в Иви. И я расскажу вам, как мы внедряли тестирование GTM в пайплайн разработки команды.

Читать далее

Эмоциональное восприятие шрифтов. Метод семантического дифференциала

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели9.3K

Я занимаюсь в Иви UX-исследованиями. Однажды ко мне пришел директор по дизайну с запросом: “Разрабатываем новый шрифт для внешних коммуникаций. Хотим, чтобы вызывал у людей эмоции, соответствующие новой платформе бренда. Сделали несколько вариантов. Помоги понять, действительно ли люди будут испытывать больше эмоций по сравнению с нашим нейтральным шрифтом для интерфейсов, и выбрать наиболее подходящий”. 

С подобной задачей я никогда раньше не сталкивалась, поэтому первая моя мысль была: “Да ладно, эмоции и шрифты? Люди вообще не заметят разницу”. Вторая — про семантический дифференциал. 

В этой статье я поделюсь методикой и результатами исследования шрифтов с точки зрения эмоций методом семантического дифференциала.

Читать далее

Использование Compose для ТВ-версии приложения Иви: мощный фреймворк для создания эффективных Android-приложений

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели6.5K

В компании ИВИ, ведущем онлайн-кинотеатре, наша команда разработчиков занимается созданием приложения для платформы Android. Недавно мы успешно выпустили версию для Android TV, используя инновационный инструмент — Jetpack Compose. Несмотря на то, что библиотека Compose для ТВ еще находится в альфа-версии, мы хотим поделиться своим опытом, рассказать о трудностях, с которыми столкнулись, и обратиться к вопросу: стоит ли использовать Jetpack Compose, особенно для ТВ-приложений?

Читать далее

Объяснение рекомендаций

Время на прочтение4 мин
Охват и читатели3.8K


Рекомендательные системы уже давно неотъемлемая часть большинства современных веб-сервисов. Скорее всего, заходя на какой-либо развлекательный (и не только) сайт, вы не раз задавались вопросом, почему именно этот контент или этот товар предлагается вам.

В Иви давно заметили, что недостаточно просто рекомендовать что-то пользователю, важно объяснять свои действия. Если пользователю покажут незнакомый контент, то он будет воспринимать это как нечто неинтересное.

Поэтому хочется, чтобы пользователь понимал:
  1. Насколько ему могут быть интересны наши рекомендации.
  2. Зачем мы ему это показываем.

Меня зовут Андрей Макаров, я разработчик рекомендательной системы онлайн-кинотеатра Иви. В этой статье я расскажу, зачем мы объясняем рекомендации на нашем сервисе, что для этого уже сделали и что только планируем.
Читать дальше →

Информация

Сайт
www.ivi.ru
Дата регистрации
Дата основания
Численность
501–1 000 человек