Задать вопрос
  • Как изменить код страницы в браузере своим JS скриптом?

    Если ты хочешь изменить вид браузера под себя попробуй использовать расширения для Google Chrome - "Tampermonkey". Это расширение запускает JS код на выбранных тобой страницах
    Ответ написан
    Комментировать
  • На чём писать он лайн билеты?

    @ShottySoft
    Не советую отказываться.

    Как сказал Кирилл Горелов, пиши - если знаешь yii, почему нет?

    Да, Yii сейчас не лучший фреймворк, но для проекта вроде твоего он подойдет.

    Опыт, сталкивание с ошибками и проблемами, решение, логика.

    Плюсов достаточно.
    Ответ написан
    7 комментариев
  • На чём писать он лайн билеты?

    @Kirill-Gorelov
    С ума с IT
    Выбери то, что ты хорошо знаешь. Или на крайний случай то в чем ты сможешь легко разобраться.

    Знаешь юи? Делай на нем и не парься.
    Я знаю django, я бы на нем стал делать. Но это не значит, что ты должен все бросить и делать на django или еще на чем.
    Ответ написан
    Комментировать
  • 1с 7.7 нестандартный DPI?

    Jump
    @Jump
    Системный администратор со стажем.
    desktopwidth:i:<value>
    desktopheight:i:<value>
    where <value> is the resolution, such as 1680 or 1050.

    Или
    winitpro.ru/index.php/2017/12/27/rdp-masshtabirova...
    Ответ написан
    2 комментария
  • Как вычислить, какие программы потребляют больше ресурсов чем остальные?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    В Process Explorer есть колонка CPU Time - суммарно времени процесса использовано.

    Но не ясно, какую проблему вы решаете. Вы хотите так на оплате электричества сэкономить или что? Например, если какой-то процесс постоянно работает и стабильно кушает 2%, то он в сумме может переплюнуть одноразовый запуск приложения, которое в течение одной минуты загрузило проц до 100% и замедлило всю работы системы. Как по мне, второе приложение больше подходит под термин "паразит". Хотя в любом случае важному процессу можно повысить приоритет, а второстепенному - понизить, и никто никому не будет мешать.
    Ответ написан
    2 комментария
  • Как вычислить, какие программы потребляют больше ресурсов чем остальные?

    Slayer_nn
    @Slayer_nn Куратор тега Windows
    Гугол, памаги!
    Process lasso
    Ответ написан
    Комментировать
  • Как с помощью ffmpeg наложить водяной знак из png с прозрачным фоном?

    @Alex10
    ffmpeg -i f.mp4 -vf 'movie=image.png [img]; [in] [img] overlay=0:0 [out]' -t 5 -y full.mp4


    Но пока не разобрался как задать временный промежуток всплывания надписи, данный вариант просто берет вырезает 5 секунд видео и на него накладует.
    Ответ написан
    Комментировать
  • Оптимизировать код или как выделить всю вычислительную мощность пк на его выполнение?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Первое, что бросается в глаза - это многократное копирование массива. Представьте, что при сортировке мы бы после каждых двух-трех перестановок делали бы полный дубликат массива. Это же ужас! И это слабое место, постоянное перевыделение памяти больших размеров.

    Второе, что тоже важно - это сложность O(N*N). В вашем случае это критично, потому что много элементов в исходном массиве.

    Предлагаю немного изменить алгоритм. Делаем одно прохождение, но немного увеличиваем потребление памяти, в которой храним интервалы. Таким образом, мы избавляемся от постоянного копирования массива, а также уменьшаем сложность примерно до O(N).

    И маленькая оптимизационная хитрость - поиск интервала происходит по индексу, то есть O(1). Нужно немного поразмыслить, чтобы до этого догадаться, но в целом всё просто.
    Код
    <?php
    $arr = [100,125,75,175,25,300,275,325,375];
    $step = 50;
    
    $b = []; //-1 - deny, 0 - not set, 1 - has interval
    $int = []; //intervals if necessary 
    $step2 = intdiv($step,2);
    $arr = array_values(array_filter($arr, function($v) use ($step2,&$b,&$int) {
        $i = intdiv($v,$step2);
        $mod = $v % $step2;
        $res = true;
        if (isset($b[$i])) {
            if ($b[$i] === -1) $res = false;
            elseif ($mod < $int[$i][0] or $mod > $int[$i][1]) $res = false;
        }
        $b[$i] = -1;
        $b[$i+1] = -1;
        $b[$i-1] = -1;
        if (!isset($b[$i+2])) {
            $b[$i+2] = 1;
            $int[$i+2] = [$mod,$step2];
        } elseif ($b[$i+2] === 1) {
            if ($int[$i+2][0] < $mod) {
                $int[$i+2][0] = $mod;
                if ($int[$i+2][0] >= $int[$i+2][1]) $b[$i+2] = -1;
            }
        }
        if (!isset($b[$i-2])) {
            $b[$i-2] = 1;
            $int[$i-2] = [0,$mod];
        } elseif ($b[$i-2] === 1) {
            if ($int[$i-2][1] > $mod) {
                $int[$i-2][1] = $mod;
                if ($int[$i-2][0] >= $int[$i-2][1]) $b[$i-2] = -1;
            }
        }
        return $res;
    }));
    
    var_dump($arr); // [100, 175, 25, 300, 375]
    ?>

    Переписав алгоритм на С++, получите дополнительно 50-кратное увеличение скорости.
    Ответ написан
    3 комментария
  • Оптимизировать код или как выделить всю вычислительную мощность пк на его выполнение?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Скопировать исходный массив A в массив B, дополнить каждый элемент индексом в исходном массиве, отсортировать по значению элементов. Завести массив C такого же размера как исходный, заполнить его нулями.
    Сделать текущим первый элемент А.

    Начало цикла.
    Отметить в C текущий элемент. Найти в массиве B текущий элемент элемент. Просмотреть соседние элементы B и отметить в С как отсечённые все те, диапазоны которых пересекаются с текущим. Найти следующий не отмеченный элемент С, сделать его текущим, перейти к началу цикла, если все элементы C отмечены -- закончить.

    Количество действий зависит от количества пересекающихся отрезков, оно будет больше O(N log N) но меньше N^2.
    Ответ написан
    Комментировать
  • Как выделить движения в видео файле?

    @rPman
    У вас две независимые задачи - пометить видео по динамичности, нарезать видео на куски на основе этих меток. Очевидно что в готовом виде вы не найдете ответа, так как минимум алгоритм выбора момента для вырезания куска - у вас ... неявный, вам его еще формулировать придется.

    получить временные метки можете с помощью того же vlc
    vlc --video-filter=motiondetect -vvv > modec.log

    в файле modec.log щите moving shapes там будут временные метки
    затем с помощью ffmpeg нарезаете как вам угодно
    Ответ написан
    3 комментария
  • Сортировка выводимых данных?

    sandu2d
    @sandu2d
    Человек
    Тебе что-то такое нужно или как?
    Код
    <?php
    
    $arr = range(1, 200);
    $arr[50] = 0;
    $arr[100] = 0;
    $arr[150] = 0;
    $arr[200] = 0;
    $arr[99] = 9999;
    
    $preparedArray = prepareArray($arr);
    $sortedArray = sortArray($preparedArray);
    showArray($sortedArray);
    
    function prepareArray(array $arr)
    {
        $result = [];
        $counter = 0;
        $sum = 0;
    
        foreach ($arr as $key => $value) {
            if ($arr[$key] != 0) {
                $counter++;
                $sum += $value;
            } else {
                if ($counter != 0 and $sum / $counter > 20) {
                    $result[] = [
                        'sum' => $sum,
                        'counter' => $counter,
                        'key' => $key,
                        'intval' => intval($key / 30 / 60),
                        'proc' => $key / 30 % 60,
                    ];
                }
    
                $counter = 0;
                $sum = 0;
            }
        }
    
        return $result;
    }
    
    function sortArray(array $arr)
    {
        usort($arr, function ($elem1, $elem2) {
            return $elem1['sum'] <=> $elem2['sum'];
        });
    
        return $arr;
    }
    
    function showArray(array $arr)
    {
        foreach ($arr as $elem) {
            echo $elem['sum'] . '/' . $elem['counter'] . ' (' . $elem['key'] . ') ' . $elem['intval'] . ':' . $elem['proc'] . "<br>";
        }
    }
    Ответ написан
    2 комментария
  • Как реализовать логику?

    romanko_vn
    @romanko_vn
    В цикле проверяем след. элемент массива на ноль, если true, тогда продолжать считать

    foreach | for -> if array_key_exists($key+1, $arr) and $arr[$key+1] ==0
    Ответ написан
    1 комментарий