• Я полюбил верстку после этого: Zeplin в бою

      Иногда я спрашивал себя и Гугл: «Почему мне бывает стыдно быть верстальщиком». Ну, знаете, когда не мог на глазок определить, какой передо мной шрифт: open sans с font-weight: bold, или open sans bold с font-weight: normal — либо случайно узнавал, что «ой, забыли тебе сказать, масштаб был не 1920x1080, а 2560x1440».

      Обычно ж как — скидывают .psd и крутись как хочешь.



      Весной 2015-го, придя в uKit, я узнал о Sketch — и увидел, как шаблоны стали появляться с красивыми и одинаковыми метками размеров относительно друг друга и очень подробным описанием.

      Тогда мне захотелось большего. И буквально через несколько месяцев вышел Zeplin 1.0. Это приложение изменило мое представление о верстке в целом — потому что оно по-настоящему делает жизнь верстальщика счастливой.

      Читать дальше →
    • Кейс OZON.ru: Как сделать тарификацию доставки прозрачной и управляемой

        image
        Инфографика в посте сделана на R по реальным данным из Тарификатора.

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

        Цена за доставку товара для покупателя интернет-магазина редко совпадает с ценой, которую транспортная компания возьмет с самого магазина. Захотели вы привезти книги с помощью DHL в Новосибирск. OZON.ru выставит вам конкурентную цену за доставку — 500 руб. При этом DHL за эту доставку выставит OZON.ru счет на 1000 руб. Это кажется странным, но такова реальность, которую диктует рынок.
        Читать дальше →
      • «Половина научных работ по Concurrency — полная чушь!» — интервью с Романом Елизаровым из Devexperts

          Добрый день, это «Без слайдов». В гостях у меня побывал Роман Елизаров aka elizarov, Java Champion, эксперт по Java и многопоточности (а с недавнего времени — еще и по финансовой математике), спикер многочисленных конференций, председатель жюри Северо-Восточного Европейского региона ACM-ICPC, престижнейшей в мире олимпиады по программированию, лектор в ИТМО и, наконец, VP по технологиям в компании Devexperts. В общем, «человек и пароход».

          В разговоре мы затронули следующие темы:
          • что такое финансовая математика и как ее учить;
          • как устроен софт для финансовой индустрии;
          • как в компании Devexperts появилась исследовательская лаборатория по многопоточности;
          • куда развивается Concurrency, и что будет в моде в ближайшее время;
          • как всемирная олимпиада по программированию пришла в Россию.




          Текстовая версия — под катом.
          Читать дальше →
        • Почему я больше не использую MVC-фреймворки

          • Перевод


          Уважаемые хабравчане.

          Поскольку дискуссия вокруг статьи идет весьма активно, Жан-Жак Дюбре (он читает комментарии) решил организовать чаты в gitter.

          Вы можете пообщаться с ним лично в следующих чатах:
          https://gitter.im/jdubray/sam
          https://gitter.im/jdubray/sam-examples
          https://gitter.im/jdubray/sam-architecture

          Также автор статьи разместил примеры кода здесь: https://bitbucket.org/snippets/jdubray/

          По поводу кода он оставил следующий комментарий:
          I don't code for a living, so I am not the best developer, but people can get a sense of how the pattern works and that you can do the exact same thing as React + Redux + Relay with plain JavaScript functions, no need for all these bloated library (and of course you don't need GraphQL).
          Читать дальше →
        • Внезапный диван леопардовой расцветки

            Если вы интересуетесь искусственным интеллектом и прочим распознаванием, то наверняка уже видели эту картинку:


            А если не видели, то это результаты Хинтона и Крижевского по классификации ImageNet-2010 глубокой сверточной сетью

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

            Это вообще довольно любопытный результат, если задуматься. Потому что… скажем, вы знаете, как отличить одного большого пятнистого котика от другого большого пятнистого котика? Я, например, нет. Наверняка есть какие-то зоологические, достаточно тонкие различия, типа общей стройности/массивности и пропорций тела, но мы же все-таки говорим о компьютерном алгоритме, которые до сих пор допускают какие-то вот такие достаточно глупые с человеческой точки зрения ошибки. Как он это делает, черт возьми? Может, тут что-то связанное с контекстом и фоном (леопарда вероятнее обнаружить на дереве или в кустах, а гепарда в саванне)? В общем, когда я впервые задумался над конкретно этим результатом, мне показалось, что это очень круто и мощно, разумные машины где-то за углом и поджидают нас, да здравствует deep learning и все такое.

            Так вот, на самом деле все совершенно не так.
            под катом пятна
          • Интерактивная SVG картограмма с помощью d3.js

            • Tutorial
            Приветствую вас, хаброжители! Сегодня я расскажу вам как сделать интерактивную SVG картограмму при помощи d3js.org, о возможностях этой JavaScript библиотеки в общем, а также придётся немного разобраться в том как и где лучше хранить геоинформацию для веба. В финале мы получим следующее:

            Картограмма
            Начать сие увлекательное путешествие можно под катом.
            Читать дальше →
          • Удачная модель ветвления для Git

            • Перевод
            Перевод статьи Vincent Driessen: A successful Git branching model

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



            В качестве инструмента управления версиями всего исходного кода она использует Git.

            Читать дальше →
          • Обработка custom-жестов для Leap Motion. Часть 1

            Всем привет!

            На время праздников мне в руки попал сенсор Leap Motion. Довольно давно хотел поработать с ним, но основная работа и бесполезное времяпрепровождение сессия не позволяли.

            Когда-то, лет 10 назад, когда я был школьником и ничем не занимался, я покупал журнал «Игромания», в комплекте с которым поставлялся диск с всякими игровыми интересностями и shareware-софтом. И в этом журнале была рубрика о полезном софте. Одной из программ оказалась Symbol Commander — утилита, позволяющая записывать движения мышью, распознавать записанные движения и при распознавании выполнять действия, назначенные на это движения.

            Сейчас, при развитии бесконтактных сенсоров (Leap Motion, Microsoft Kinect, PrimeSence Carmine) возникла идея повторить подобный функционал для одного из них. Выбор пал на Leap Motion.
            Читать дальше →
            • +14
            • 6,6k
            • 4
          • Интересные видео про Leap Motion

              image

              Внимательно слежу за новостями про Leap Motion (и, по известной причине, рассказывать особо много про устройство не имею права). Появляются интересные видео от разработчиков, уже получивших свои устройства (ревизия которых не так давно дошла до шестой — седьмая, по всей видимости, будет релизной). На некоторые из них хотелось бы обратить небольшое внимания тех, кто следит за проектом.

              Кстати, для тех, кто пропустил новости — недавно ASUS заключила контракт на поставку устройства с некоторыми из моделей своих компьютеров, а сам Leap станет доступным для пользователей этой весной.

              Для тех же, кто еще не слышал про данное устройство, заметим, что Leap Motion — это контроллер с распознаванием жестов в воздухе. Ближайшим аналогом является Kinect от Microsoft, но устройства трудно поставить на одну ступень — точность распознавания жестов у Leap составляет 0.01 мм, что в сотню раз лучше аналогичного показателя у Kinect. Для получения более подробной информации про устройство добро пожаловать на официальный сайт, видео на котором стоит посмотреть обязательно. На русском были отдельные посты на Хабре (1, 2 и 3).
              Читать дальше →
            • Генетический алгоритм — наглядная реализация

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

              Кратко об алгоритме


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

              Сама суть метода заключается в том, что мы модулируем эволюционный процесс: у нас есть какая-то популяция (набор векторов), которая размножается, на которую воздействуют мутации и производится естественный отбор на основании минимизации целевой функции. Рассмотрим подробнее эти процессы.
              Читать дальше →