company_banner
  • Геймификация багфикса. Как мы превратили исправление ошибок в увлекательную многопользовательскую online-игру

      Автор: maxim_korobtsev, WorkAndPlay.Ru

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

      Фиксить баги скучно, если не превращать это в игру. Особенно, если речь идет о низкоприоритетных багах, которые не были исправлены в свое время из-за незначительности. Но, обо всем по порядку!

      Как все начиналось?


      Все началось за несколько месяцев до Багатлона, когда мы, Work&Play, вместе с OK придумывали игровые механики и само соревнование. Родилась достаточно неплохая идея: расфасовать все множество накопившихся низкоприоритетных багов по группам (коробкам с багами). Для каждого бага заранее указать навыки, которые он прокачивает у того, кто его фиксит или проверяет. Далее раз в несколько месяцев устраивать соревнование. Причем, победителем будет не тот, кто больше пофиксил, а тот, кто больше всех прокачался пока багфиксил. Также хотелось, чтобы вся игра проходила без отрыва от работы(в рабочие дни), по тикетам из багтрекера и доступ к ней был прямо из Jira.

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

      Что у нас получилось в итоге?


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

        Сегодня мы расскажем, как нам удалось построить свою платформу для сервиса видео на Одноклассниках на Java за 3 месяца.

        Начнем с того, что представляет собой видеосервис на Одноклассниках. Он доступен как на вебе, так и в версиях для мобильных устройств. Одним из отличий Одноклассников от других соцсетей является наличие видеовитрины, где в разделах «ТОП недели», «Новинки» и каналах собраны видео. Для этих разделов видео отбирается автоматически по хитрому алгоритму на основании числа просмотров, классов и скорости роста популярности видео. И конечно, на витрине представлены каналы с контентом от партнеров:— сериалы, ТВ шоу, мультфильмы и кино.

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

        Видеосервисом на Одноклассниках пользуется свыше 10 миллионов уникальных пользователей в день, которые смотрят свыше 70 миллионов видеороликов и загружает 50 тысяч видео в день.

        Видеобаза Одноклассников насчитывает свыше 28 миллионов роликов. Исходящий трафик по вечерам достигает 80 гигабит в секунду. Ежедневно загружаемые 5 терабайт нового видео в день преобразуются в наш внутренний формат и на выходе получается 2 терабайта. Получившиеся файлы хранятся в трех копиях, что, в итоге, суммарно составляет 6 терабайт нового видео в день. Входящий трафик по загрузке достигает 2 гигабит в пиковые часы.


        Читать дальше →
        • +28
        • 17,4k
        • 9
      • Big data: размер имеет значение?



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

          В каждой эпохе развития IT-индустрии существовали свои buzzwords — слова, которые у всех были на слуху, каждый знал, что за ними будущее, но лишь немногие знали, что действительно стоит за этим словом и как им правильно воспользоваться. В своем время баззвордами были и «водопад», и «XML», и «Scrum», и «веб-сервисы». Сегодня одним из основных претендентов на звание баззворда №1 является «big data». С помощью больших данных британские ученые диагностируют беременность по чеку из супермакета с точностью, близкой к ХГЧ-тесту. Крупные вендоры создают платформы для анализа больших данных, стоимость которых зашкаливает за миллионы долларов, и нет сомнений, что каждый пиксель в любом уважающем себя интернет-проекте будет строиться с учетом больших данных не позднее, чем к 2020 году.
          Читать дальше →
        • Обзор особенностей ядра Андроида

            “А я… карбюратор промываю!”
            Анекдот


            Введение

            В детском садике мы с единомышленниками препарировали кузнечиков в надежде разобраться в их строении. В школе распаивали радиоприёмник “Россия”. В институте дошла очередь до автомобилей, гайки которых были многократно переставлены. Интересы поменялись, но желание “разбирать” иногда просыпается, и сегодня оно направлено на Андроид.

            Сколько раз вас выручало наличие исходников Андроида? Меня — уже не счесть. Андроид — открытый проект, но, к сожалению, у нас есть возможность только читать; править код Андроида, не будучи сотрудником Google, практически невозможно. Погрустим над этим моментом и загрузим репозиторий. Как это сделать, отлично описано на официальном сайте.


            Читать дальше →
          • Копаемся в памяти JVM. Манипуляции с флагами



              HotSpot JVM имеет множество опций для отслеживания происходящего в виртуальной машине: PrintGC, PrintCompilation, TraceClassLoading и т.п. Как правило, они включаются параметрами командной строки, например, -XX:+PrintGCDetails. Однако порой возникает необходимость включить или выключить такой флаг непосредственно во время работы приложения, когда перезапуск JVM с другими параметрами невозможен. Этого можно добиться как штатным, так и хакерским способом, причем последний и мощнее, и интереснее. Впрочем, внимания заслуживают оба.

              Из данной статьи вы узнаете:

              • где найти все флаги JVM, и на какие типы они делятся;
              • как прочитать или установить флаг программно, используя JMX;
              • как найти нужную область в памяти виртуальной машины и испортить модифицировать ее.

              Читать дальше →
            • Как мы оптимизировали социальную кнопку

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

                Под катом — список проблем, которые мы выявили за время работы над нашей кнопкой Класс, а также способы их разрешения, которые мы проверили на собственном опыте.

                Читать дальше →
              • Russian AI Cup: итоги

                  Итак, Russian AI Cup завершен!

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

                  Раунд 1: 900 участников из Песочницы, тройка лидеров выглядела так:
                  1. Геннадий Короткевич — tourist (Гомель, Беларусь)
                  2. Роман Удовиченко — Romka (Белорусский ГУ, Минск, Беларусь)
                  3. Николай Вабищевич — Mr.Smile (Москва, Россия)

                  Раунд 2: 300 + 45 участников. Изначально по правилам должны были пройти 300 человек. Но ввиду большой популярности мы выдали 45 вайлдкардс тем, кто следовал сразу за 300. Лучшими на этом этапе стали:
                  1. Александр Миланин — Milanin (Таврический НУ, Симферополь, Украина)
                  2. Роман Удовиченко — Romka (Белорусский ГУ, Минск, Беларусь)
                  3. Александр Важев — valex (Челябинск, Россия)

                  И наконец (барабанная дробь…) в финале чемпионата Russian AI Cup 2012 сразились 50 участников, и мы торжественно объявляем победителей!
                  Читать дальше →
                • Завершились отборочные этапы Russian AI Cup 2012

                    Всем доброго дня.

                    Завершились отборочные этапы открытого соревнования по программированию искусственного интеллекта Russian AI Cup 2012. Напомним, что участникам чемпионата предлагается запрограммировать искусственный интеллект для танков, сражения между которыми симулируется игровой системой.



                    Интересная статистика:

                    Интересно посмотреть, как меняется процент распределения используемых языков с прогрессом в этапах чемпионата. Так,
                    * C#, C++, Java практически не меняют свои доли;
                    * Pascal сделал рывок в Раунде 2;
                    * Python 2 стабильно растет на протяжении всех этапов;
                    * Python 3 стабильно падает на протяжении всех этапов.

                    Чем обусловлена такая динамика Python 2 против Python 3 – загадка.

                    Читать дальше →
                  • CSS анимации на реальном проекте



                      Всё чаще среди веб-разработчиков поднимается тема возможностей CSS анимаций (transition/animation), практически на каждой конференции по клиентской разработке можно услышать о потрясающих преимуществах новой технологии.

                      Производительность и гибкость CSS анимаций позволяет творить удивительные вещи, но можно ли уже использовать эти новые возможности в силу их нестабильности и незрелости на реальных больших проектах?

                      В этом посте мы расскажем, почему так важно начинать использовать новые технологии клиентской разработки уже сегодня и о трудностях, которые могут ждать вас на пути.
                      Читать дальше →
                    • До старта первого раунда Russian AI Cup остались считанные часы

                        До старта Раунда 1 чемпионата Russian AI Cup остались считанные часы. Ажиотаж продолжает нарастать: в умении писать искусственный интеллект будут состязаться жители разных стран.

                        В связи с тем, что желающих поучаствовать становится все больше, организаторы Russian AI Cup — Одноклассники и Саратовский государственный университет — решили увеличить число стратегий, участвующих в Раунде 1. Таким образом, для первого раунда будет отобрано не 600, а 900 стратегий.

                        Измененная турнирная сетка выглядит так:


                        Раунд 1 будет проводиться с 10 по 11 ноября 2012 года. Тип боев — 6x1. Этот этап будет состоять из двух частей. Между двумя частями будет сделан перерыв, на время которого возобновит работу Песочница. Кстати, перерыв можно использовать для того, чтобы улучшить свою стратегию, приняв во внимание результаты первой части. Каждая часть будет длиться 12 часов, перерыв — 24 часа.

                        Для боев в каждой из частей Раунда 1 будет выбираться последняя корректная стратегия, отправленная до начала соответствующей части. Бои будут проводиться волнами. В каждой волне каждая стратегия примет участие ровно в одном бою. Количество волн будет не меньше 10, но не более 100. Мы надеемся успеть протестировать ровно 100 волн в каждой части, но многое будет зависеть от скорости работы ваших стратегий.

                        Внимание, изменение!
                        Читать дальше →

                      Самое читаемое