• Как у нас устроено AB-тестирование. Лекция Яндекса

      AB-тестирование на сервисах Яндекса проводится постоянно. «Раскатить на такую-то долю аудитории» и посмотреть на реакцию людей — настолько стандартная практика, что ни у кого в команде не возникает вопроса, зачем это нужно. А чтобы не было проблем с самим тестированием, у нас есть специальная инфраструктура для экспериментов. Подробности рассказывают разработчики Сергей Мыц и Данил Валгушев.


      Сергей:
      — Я попробую упрощенно описать задачу AB-тестирования. Есть абстрактная система с пользователями, в нее мы вносим какие-то изменения, и нужно уметь измерять в ней пользу. Пока все просто, но слишком абстрактно. Пример. Есть веб-сервис по сравнению пары фотографий котов. Пользователь должен выбрать наиболее понравившуюся фотографию. При этом он может выбрать не только левый или правый снимок, но и «против всех». Значит, мы подобрали картинки не очень хорошо. Наша задача — обоснованно улучшать сервис, доказывая это цифрами.
      Читать дальше →
      • +49
      • 11,8k
      • 2
    • Паттерн Model-Update-View и зависимые типы



        Model-Updater-View — функциональный паттерн, успешно применяемый в языке Elm в основном для разработки пользовательских интерфейсов. Что бы им воспользоваться надо создать тип Model, представляющий полное состояние программы, тип Message, описывающий события внешней среды, на которые программа должна реагировать, меняя свое состояние, функцию updater, которая из старого состояния и сообщения создает новое состояние прораммы и функции view, которая вычисляет по состоянию программы требуемые воздействия на внешнюю среду, которые порождают события типа Message. Паттерн очень удобный, но у него есть маленький недостаток — он не позволяет описать какие события имеют смысл для конкретных состояний программы.

        Схожая проблема возникает (и решается) и при использовании ОО-паттерна State.

        Язык Elm простой, но очень строгий — он проверяет, что функция updater хоть как-то обрабатывает все возможные сочетания модели-состояние и сообщения-события. По этому приходится писать лишний, пусть и тривиальный — как правило оставляющий модель без изменений, код. Я хочу продемонстрировать, как этого можно избежать в более сложных языках — Idris, Scala, C++ и Haskell.
        Читать дальше →
        • +16
        • 4,7k
        • 2
      • Советы самому себе в молодости (дизайнерская версия)

        • Перевод
        image


        Я переехал в Сан-Франциско в 2013 году будучи младшим дизайнером с довольно небольшим опытом и огромным желанием с головой окунуться в мир дизайна. Я много что испытал за последние 4 года — и мне все еще нужно многому учиться как дизайнеру и профессионалу в своей области — я решил записать некоторые из самых больших уроков, которые я хотел бы преподнести себе из прошлого, в то время, когда я только переехал в Сан-Франциско

        Найдите наставников для всего


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

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

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

          Имеет ли значение, делаем мы универсальный продукт для многих или разрабатываем индивидуально для конкретного пользователя? Когда речь идет о видеоанализе, это имеет просто принципиальное значение.
          Читать дальше →
        • О трехмерных шутерах на CSS +HTML [перевод]

            Привет, Хабр! Представляю вашему вниманию перевод статьи Building a 3D Game with CSS + HTML автора Michael Bromley.

            Не так давно я изучал редко используемые функции CSS — функцию анимации и 3D, а после общения в конференции по JavaScript я собрал вот это demo. Пока я трудился над ним, мне стало любопытно, как далеко можно зайти в конструировании трёхмерной графики на чистом CSS.

            image
            (скриншот выполнен переводчиком)
            Читать дальше →
          • Как создавать графику для VR — рекомендации Google

            • Перевод

            Создание графических ресурсов: рекомендации




            Как художник VR и AR, я заметил две тенденции. Во-первых, постоянно появляются новые инструменты и практики, которые позволяют повысить качество наших работ. Но в то же время возвращаются техники и навыки конца 90-х и начала 2000-х. Они полностью применимы к виртуальной реальности, потому что вычислительные ресурсы в VR ограничены. И если вы только начинаете свой путь, то вам стоит рассмотреть разнообразные подходы. Итак, если вы художник и недавно занялись VR, то вот некоторые из моих самых любимых советов по созданию качественных графических ресурсов.
            Читать дальше →
            • +11
            • 3,3k
            • 2
          • AdBlock похитил этот баннер, но баннеры не зубы — отрастут

            Подробнее
            Реклама
          • CatalogBox — идея развития ComboBox'а

              Программист должен упрощать жизнь пользователю, а не себе.
              (конечно, есть нюансы)

              Автор статьи

              Был ComboBox


              Статья описывает идею визуального веб-контрола для выбора элемента из списка. Эта идея о том, как можно эволюционировать ComboBox (он же DropDown, он же select в html) для повышения удобства программного продукта для пользователя – чтобы контрол выбора стал намного удобнее и дружелюбнее при выборе сложных объектов из больших и не очень списков. Ведь задача программиста — в непрерывном улучшении и упрощении жизни пользователя.

              Это идея, реализация которой есть только частичная и только для ASP.NET Web Forms в связке с devexpress – поскольку у меня большой бекграунд именно на этой связке технологий.

              Эта статья не для тех, кто хочет скопипастить код, нажать F5 и увидеть результат. Ее корректнее всего было бы отнести к документам, которые называют Функциональными Требованиями или даже Функциональным Дизайном. Поэтому, если вам интересен взгляд на эволюцию удобства, то, надеюсь, статья будет полезна.
              Читать дальше →
            • Игра в разработке: Chronicles of cyberpunk — часть 2

                В прошлом году я написал пост о своей игре Chronicles of cyberpunk, находящейся в разработке. С тех пор было сделано немало и игра наконец-то готова. Хочу рассказать, что сделал и с какими трудностями столкнулся.

                image

                Об игре


                Если коротко, то Chronicles of cyberpunk — это игра об Большом Брате, который с помощью суперкомпьютера контролирует жизнь людей в городе. Но однажды суперкомпьютер получает способность мыслить и главный герой должен остановить его, пока еще не слишком поздно. Геймплей включает в себя разговоры с основными и второстепенными персонажами, поиск кодов и предметов, а так же мини-битвы с боссами. Главный упор сделан на атмосферу и сюжет.


                Читать дальше →
              • Не каждой статье нужна иллюстрация

                • Перевод
                Принудительно вставлять иллюстрации в каждую онлайновую статью — глупая практика.

                Картинки и текст часто хорошо дополняют друг друга. У вас статья о чём-то, а картинка показывает эту вещь и во многих случаях помогает её лучше понять. Но в вебе этой логики больше не придерживаются, потому что в какой-то момент решили, что иллюстрации необходимы абсолютно всем текстам. Это может быть знаменитость, отдалённо имеющая отношение к делу. Стоковая фотография человека с каким-то выражением лица. Логотип Sony, представляющий собой просто слово SONY. Я долго думал и пришёл к выводу, что это глупо. Понимаю, что принцип «картинки → клики» святой для индустрии, но создаётся впечатление, что некоторые издатели потеряли чувство собственного достоинства. Если картинка стоит тысячи слов, то мне сложно понять, какова ценность статьи, проиллюстрированный стоковой фотографией.

                Как и во многих других проблемах, основная вина как будто лежит на социальных сетях. До середины или конца 2000-х основным источником трафика для отдельных статей являлась главная страница сайта. Эти страницы обычно мимикрировали под первые страницы газет. Там главные статьи — те, что достойны траты времени на создание оригинальных художественных иллюстраций — сопровождались картинками. У других статей стоял только заголовок. Со временем бесконечные размеры интернета снизили планку того, какие статьи заслуживают художественных иллюстраций, но всё ещё не каждая статья сопровождалась КДПВ.
                Читать дальше →
              • Батл приложений: am.ru, auto.ru, drom.ru



                  Автомобиль стал неотъемлемой частью нашей жизни. Для кого-то — это средство передвижения, для кого-то — средство самовыражения. Рано или поздно каждый из нас задумывался о его покупке. На российском рынке сейчас 3 лидера, которые помогают решать задачу поиска и «покупки» автомобиля. Я хочу сравнить их между собой и ответить на вопрос: какое из Android приложений лучше решает эту задачу.
                  Читать дальше →
                  • –7
                  • 2,2k
                  • 3
                Самое читаемое