Архив за 22 марта 2018 - 9

Подразделение Midea Residential Air Conditioner Division (RAC) компании Midea Group, отмечающей в этом году свое 50-летие, представило умный кондиционер AirX. Местом презентации было выбрано мероприятие Mostra Convegno Expocomfort, прошедшее в Милане. По словам производителя, AirX — первый домашний кондиционер микроклимата и первый в мире в истинном смысле «комнатный кондиционер воздуха».

Публикую предпоследнюю часть разбора с третьей задачей. До этого выходил разбор первой задачи и второй задачи.

Код к третьей задаче:

    public static double compute(
            double x1, double y1, double z1,
            double x2, double y2, double z2) {
        double x = y1 * z2 - z1 * y2;
        double y = z1 * x2 - x1 * z2;
        double z = x1 * y2 - y1 * x2;
        return x * x + y * y + z * z;
    }

    public static double compute(
            double x1, double y1, double z1,
            double x2, double y2, double z2) {
        Vector v1 = new Vector(x1, y1, z1);
        Vector v2 = new Vector(x2, y2, z2);
        return v1.crossProduct(v2).squared();
    }

    public final static class Vector {
        private final double x, y, z;

        public Vector(double x, double y, double z) {
            this.x = x; this.y = y; this.z = z;
        }

        public double squared() {
            return x * x + y * y + z * z;
        }

        public Vector crossProduct(Vector v) {
            return new Vector(
                    y * v.z - z * v.y,
                    z * v.x - x * v.z,
                    x * v.y - y * v.x);
        }
    }

Условие (упрощённо):

Определить, какие методы быстрые, а какие — медленные (JRE 1.8.0_161).

Читать полностью »

Компания Caviar известна как производитель эксклюзивных смартфонов, при украшении которых используются золото, титан, карбон, натуральная кожа, красное дерево и бриллианты.

Читать полностью »

Месяц назад компания Qualcomm представила референсную платформу виртуальной реальности, построенную на базе однокристальной системы SoC Snapdragon 845.

Комплект разработчиков Qualcomm Snapdragon 845 VR Development Kit выйдет во втором квартале 2018

Вчера компания сообщила о том, что комплект разработчиков Qualcomm Snapdragon 845 VR Development Kit выйдет по втором квартале этого года. Также стали известны новые подробности о гарнитуре виртуальной реальности Qualcomm.

Читать полностью »

Спросите Итана: почему свет прибыл на 1,7 секунды позже гравитационных волн при слиянии нейтронных звёзд? - 1

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

17 августа, после путешествия длительностью в 130 млн лет, сигнал в виде гравитационных волн от двух нейтронных звёзд, двигавшихся навстречу друг другу по спирали на последних этапах слияния, прибыл на Землю. После столкновения поверхностей двух звёзд сигнал резко завершился, и наступила тишина. И хотя эти останки звёзд диаметром, возможно, всего в 20 км, двигались со скоростью порядка 30% от световой, сразу после столкновения мы не увидели ничего. И только 1,7 с спустя прибыл первый сигнал: свет в виде гамма-лучей. Откуда задержка? Отличный вопрос, заданный нашим читателем:

Давайте обсудим важность разницы в 1,7 с между временем прибытия гравитационных волн и вспышки гамма-лучей во время последнего события с нейтронными звёздами.

Давайте посмотрим, что мы увидели, и попробуем понять, откуда берётся эта задержка.
Читать полностью »

Как известно, на прошлой неделе израильская компания CTS Labs, занимающаяся исследованиями и консультациями в области компьютерной безопасности, сообщила, что В процессорах AMD выявлены «многочисленные серьезные уязвимости». По словам CTS Labs, эти сведения предварительно были переданы AMD, Microsoft, HP, Dell и еще нескольким компаниям, чтобы они могли разработать программные исправления, устраняющие уязвимости.

Читать полностью »

Язык программирования, рассчитанный на минификацию - 1

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

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

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

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

В том конкурсе, в итоге, участвовать я не стал. Однако, данная идея не покидала меня. Ведь она может быть полезна и для более практичных целей, чем демо — в мире фронтенда объём клиентских скриптов до сих пор крайне важен, если удастся сократить его, данное решение может оказаться оправданым хотя бы в некоторых случаях.

Я решил провести эксперимент — сделать прототип языка и посмотреть, что из этого выйдет.

Читать полностью »

Режим «картинка в картинке» уже давно доступен в мобильной версии сервиса YouTube. В этом режиме видеоролик сворачивается в небольшое окно, а вы можете заниматься поиском другого контента в YouTube.

В данный момент Google начала тестировать аналогичную функциональность в настольной версии YouTube. В бета-тесте пока принимает участие ограниченное количество пользователей.

Как видно на следующем изображении, в миниатюрном окошке остаются кнопки Pause/Play и Next.

«Талант выигрывает игры, а команда чемпионаты». Так однажды сказал Майкл Джордан и оказался прав. Любое успешное решение, будь то выигранный чемпионат или релиз нового продукта в IT команде, достигается усилиями каждого отдельного человека. С чего начинается командный путь к успеху?

image
Читать полностью »

Данная статья написана в силу возмущения тем, что в наших ВУЗах студентов простому разбору математических выражений обучают на основе как раз Обратной Польской Нотации (ОПН), что является откровенным извращением нормальной человеческой логики.

Источником описания ОПН будет описание из Лафоре Р.: Л29 Структуры данных и алгоритмы в Java. Классика Computers Science. 2-е изд. — СПб.: Питер, 2013. — 704 с, рекомендованное как наиболее популярное и адекватное по этому вопросу, впрочем как и по другим часто применяемым алгоритмам.

Ну то есть сравниваем разные алгоритмы с разной идеологией.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js