company_banner
  • Фасилитатор с дипломом

      На случай, если вы не знаете, кто такой фасилиатор
      Фасилитатор (англ. facilitator, от лат. facilis «лёгкий, удобный») — это человек, обеспечивающий успешную групповую коммуникацию (wiki)

      TL;DR: с сентября 2018 года стартует магистерская программа, созданная ivi совместно с МАИ — «Управление процессом разработки ПО».


      На сегодняшний день IT – одна из самых быстроразвивающихся и востребованных отраслей с постоянно меняющимся ландшафтом. Спрос на рынке труда в данном направлении уже давно превышает предложение, и наряду с этим, молодым специалистам зачастую сложно адаптироваться в реалиях современных компаний имея за спиной хорошее академическое образование. Получается, что сегодня самое эффективное IT-образование должно качественно балансировать между академической частью и опытом практических компаний с реальными успешными кейсами. Только это гарантирует быструю адаптацию и эффективность молодого специалиста на рынке. Надоело писать код? Хочешь, чтобы это делали другие? Добро пожаловать под кат.
      Читать дальше →
      • +13
      • 2,6k
      • 1
    • Персональные рекомендации в ivi: Hydra

        В онлайн-кинотеатре ivi десятки тысяч единиц контента и задача «выбрать, что посмотреть» становится нетривиальной.


        О рекомендательной системе в ivi, которая занимается подбором контента на основе пользовательских интересов (внутреннее название — Hydra) мы писали тут и тут. Прошло уже много времени и код проекта значительно изменился: оффлайн часть переехала на Spark, онлайн часть адаптировалась к высоким нагрузкам, Hydra начала использовать другую рекомендательную модель — все эти изменения будут освещены в статье.
        Читать дальше →
        • +12
        • 2,2k
        • 6
      • Авиахакатон

          6-8 апреля на территории Московского авиационного института прошел хакатон, организованный IT-центром МАИ, на котором были представлены задачи от IT-компаний и представителей авиационной индустрии.

          Онлайн-кинотеатр ivi выступил партнёром хакатона: предоставил набор данных о контенте, а также осуществил менторскую поддержку команд. Финальные презентации оценивало независимое жюри, в которое вошли представители it-центра МАИ. Немного подробностей под катом.
          Читать дальше →
        • «Мамкин архитектор». Часть 1: Взлеты и падения программной инженерии

            Доброго времени суток, уважаемые читатели Хабра. Представляю вашему вниманию цикл статей «Мамкин архитектор». Этот цикл статей вдохновлен книгой Эрика Эванса «Предметно-ориентированное проектирование (DDD). Структуризация сложных программных систем». В нем я постараюсь отразить личное мнение относительно построения гибких архитектур. Попутно объясню, как это пригодится менеджерам и поможет разработчикам укрепить основные понятия.

            image

            В этой статье речь пойдет о «творческом подъеме», «творческом спаде» и о покерном понятии «тильт». Последнее отлично отражает состояние разработчика в тех или иных состояниях предметной модели в разрезе программной архитектуры. Опус пригодится:

            1. Менеджерам, решающим вопросы от разработчиков вроде «давайте все закопаем и переделаем».
            2. Прикладным разработчикам, которым будет интересно заглянуть за броню инкапсуляции тщательно выстроенной (или хаусе) предметной модели в концептуальном ее виде.
            3. Архитекторам или дизайнерам системы будет интересен мой опыт внедрения, поддержки и удержания предметной модели в концептуальных контурах.
            Читать дальше →
            • +13
            • 8,9k
            • 9
          • Google leanback — забота большого брата

              Добрый день, читатели Хабра. Хотел бы поделиться своим опытом разработки приложения для Android TV на примере DetailsFragment.


              Есть официальные примеры тут и официальная документация тут. Что сподвигло меня выразить свое мнение? Это то, что официальные примеры не отвечают современным требованиям к разработке, например, модульности и расширяемости. Иногда создается некая двойственность при использовании того или иного механизма. Рассмотрим более подробно DetailsFragment.

              Для того чтобы начать разрабатывать ваше приложение для платформы android, на мой взгляд, вам следует принять 2 основные истины:

              • Плохая идея отходить от официальных рекомендаций и разрабатывать кастомизированное приложение. Гугл позаботился о том, чтобы сделать это было крайне сложно.
              • Single Activity Architecture также не совсем подходит, это чревато утечками памяти, связанной с внутренними реализации библиотеки leanback.
              Читать дальше →
              • +12
              • 3,5k
              • 3
            • Как мы в ivi переписывали etl: Flink+Kafka+ClickHouse

                Год назад мы решили переделать схему сбора данных в приложении и данных о действиях клиентов. Старая система работала исправно, но с каждым разом было всё сложнее и опаснее вносить туда изменения.



                В этой статье я расскажу, какие технологии мы стали использовать для сбора и агрегации данных в новом проекте.
                Читать дальше →
              • Подключаем оплату через Apple Pay на сайте

                  Сейчас, в том числе и у нас на сайте, и в приложениях ivi, есть явная тенденция роста аудитории на мобильных устройствах. Также растет и доля покупок, совершаемых в интернете с мобильных устройств. В отличие от десктопа, помимо традиционных вариантов оплаты, доступны системы мобильных платежей, например Apple Pay, Android Pay, Samsung Pay. Эти системы можно использовать не только для оплаты в терминалах, принимающих банковские карты, но и для оплаты в приложениях и на веб-сайтах.


                  Внедрение мобильных платежей мы начали с веб-версии ivi и выбрали мобильный сайт и систему Apple Pay.
                  Читать дальше →
                  • +19
                  • 6,1k
                  • 6
                • Как мы делали приложение под Windows 10 с Fluent Design (UWP/C#)

                    Мы в ivi давно собирались обновить наше приложение под Windows 10 (которое для ПК и планшетов). Мы хотели сделать его эдаким «уютным» уголком для отдыха. И поэтому анонсированная недавно Microsoft-ом концепция fluent design пришлась нам очень кстати.

                    Но я не буду здесь рассказывать про стандартные компоненты, предлагаем Microsoft-ом для fluent design-а (Acrylic, Reveal, Connected-анимации и др.), хотя мы их, конечно, используем тоже. С ними всё просто и понятно — бери документацию и пользуйся. 

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

                    image

                    Идея в том, что мы используем depth и motion из fluent design system. Центральный элемент как бы слегка приподнимается надо всеми остальными. Это достигается за счёт анимации его размера и тени во время скролла. 
                    Читать дальше →
                  • Бот добра для Slack

                      В этой статье я хочу рассказать о нашем боте для релизов. У нас много очень разных проектов, начиная от микросервисов backend(a), заканчивая приложением для win 10.

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

                      Все началось вот с такого крика души:

                      "Количество разработчиков растет, компания развивается и процесс выгрузки становится все сложнее и запутаннее. Очереди на «добро» скапливаются. Разработчик должен следить нет ли у кого вмерженной и невыгруженной задачи, хотя б на одном из сервисов перед ним и ждать когда, блокировка снимется. Если он еще не получил «добро», то периодически пинать добродавателей, т.к. сообщения с просьбой добра теряются в чатике. А выгрузиться хочется быстрее, потому, что если ты не выгрузишься сегодня, например, то завтра уже кто-то другой может вмержиться и не посмотреть, что предыдущий тег не выгружен => выгрузить незаметно для себя два — и все сломается. Это все превращается в маленький кошмар."
                      Читать дальше →
                    • Декораторы и рефлексия в TypeScript: от новичка до эксперта (ч.3)

                      • Перевод

                      Эта статья — третья часть серии:



                      В прошлый раз мы узнали, что такое декораторы и как они реализованы в TypeScript. Мы знаем, как работать с декораторами классов, свойств и методов.


                      В этой статье мы расскажем про:


                      • Последний оставшийся тип декораторов — декоратор параметра
                      • Реализацию фабрики декораторов
                      • Реализацию конфигурируемых декораторов
                      Читать дальше →
                    Самое читаемое