• Как сделать трансляция игры с виртуальной машины?

    @rPman
    stream remote должен быть запущен внутри виртуальной машины
    но в принципе этот способ будет давать накладные расходы виртуалки (10%-30% на cpu и вплодь до невозможности игры из-за gpu)

    настоятельно рекомендую вместо запуска игры в витуалке запустить ее нативно, использовав на выбор:
    1. ibik aster, никакого удаленного управления по сети, нативная работа игр и программ, десктопная версия windows (не серверная) при этом из мощного компьютера легко можно сделать с 10 рабочих мест (на самом деле без ограничений, сколько железо позволит), достаточно подключить нужное количество мониторов, клавиатур и мышек, 10-20 метров без особых затрат (дальше понадобятся удлинители, например при 100 метрах цены в 10-20 т.р. только за кабель монитора). Умеет работать с 1 gpu (когда то давно так успешно запускали какую то ммрпг на двоих)
    Недостаток - одновременно одна и та же игра может не запуститься, так как к этому не готовы античиты (но советую все же попробовать, запускать игру под разными пользователями windows, установив ее в разные каталоги, да неэффективно по месту на диске, но в частных случаях это тоже можно решить)
    2. ibikaster + steam remote - то же самое, только игровое место транслируется с помощью steam (мне кажется у них самый эффективный алгоритм трансляции видео в пределах локальной сети)
    3. rdp - штатный протокол удаленного управления, не всякая 3d игра сможет корректно использовать видеоускоритель, если будет запущена в окне удаленного рабочего стола, но к примеру старые 2d игры вполне идут, отзывчивость в таком режиме, при наличии хорошей локальной сети (гигабит) - очень хорошая
    ограничение десктопных windows на одновременное подключение снимается утилитой rdpwrap

    p.s. одновременно несколько рабочих мест как ibik aster можно сделать бесплатно на linux с помощью ее штатного инструмента multiseat (на каждое рабочее место своя видеокарта) а с помощью xserver xephyr и в пределах одной видекарты (но придется поковыряться), а там возможно ваша игра уже поддерживается официально (вот к примеру только что в офф стим клиенте установил ark survival ребенку, идет даже шустрее чем на win) или не официально с помощью wine (но античит почти наверняка помешает)

    Ну и штатно xserver умеет транслировать видео по сети (поковырять настройки, убрать шифрование и сжатие), я помню очень давно для теста запускал кажется quake, оно в принципе работало и даже не лагало (просто не высокий fps) отзывчивость была явно выше vnc/rdp, но там использовался ускоритель клиента, сейчас наверное это можно как то настроить
    Ответ написан
    2 комментария
  • Сверстал по пикселям, а оказалось, что дизайнер сделал макет на ретине. И странное заявление от проверяющего мою работу :S?

    werty1001
    @werty1001
    undefined
    Под ретину нужно подготовить растовую графику с запасом по качеству (засунуть в смарт объект), в идеале еще иконки сделать в векторе, ну или тоже с запасом 2x. В принципе это все, в остальном это должен быть обычный макет и верстается как обычно.
    Ответ написан
    3 комментария
  • Почему API Facebook не дает все права?

    AgentSmith
    @AgentSmith
    Это мой правильный ответ на твой вопрос
    Запрет от пользователя передавать эти данные
    Ответ написан
    2 комментария
  • Как применить двойную сортировку?

    alexfilus
    @alexfilus
    Senior backend developer
    $res = CIBlockElement::GetList(Array(
              "PROPERTY_P_DATE" => "DESC",
               "DATE_ACTIVE_FROM" => "ASC"
    ), 
               $arFilter, 
               false, 
               false, 
               $arSelect);

    всё просто
    Ответ написан
    Комментировать
  • Как грамотно прописать будущие цены по договору с учетом возможного повышения?

    @Drno
    Цену в долларах на момент оплаты по курсу "продажа" (покупка для вас) у Сбера
    Ответ написан
    4 комментария
  • На собеседовании сказали, что не все функции - замыкания. Так ли это?

    wapster92
    @wapster92 Куратор тега JavaScript
    Kyle Simpson дал хорошее определение замыкания, вообще советую его книги для прочтения.
    Замыкание — это когда функция умеет запоминать и имеет доступ к лексической области видимости даже тогда, когда эта функция выполняется вне своей лексической области видимости.
    Ответ написан
  • Как записать файл в свойство элемента инфоблока битрикс?

    babarun
    @babarun Куратор тега 1С-Битрикс
    Безумный план моих идей в руках больных людей
    a. В св-во передаёте массив
    CFile::MakeFileArray($_SERVER["DOCUMENT_ROOT"]."/image.gif")


    или

    b.1. Сохраняете файл:
    $ID = CFile::SaveFile()
    dev.1c-bitrix.ru/api_help/main/reference/cfile/sav...

    b.2. Полученный ID файла сохраняете в св-ве ИБ

    или

    с. Самый простой вариант, затрагивающие только св-во.
    $arFile = CFile::MakeFileArray($_SERVER["DOCUMENT_ROOT"]."/image.gif");
    CIBlockElement::SetPropertyValueCode($ELEMENT_ID, "picture", $arFile);
    Ответ написан
    2 комментария
  • Как вывести список файлов с ссылками в директории битрикс?

    divanus
    @divanus Автор вопроса
    junior php bitrix python
    use \Bitrix\Main\{ Application, IO };
    
    $iterator = new \RecursiveIteratorIterator(
        new \RecursiveDirectoryIterator(Application::getDocumentRoot() . '/upload/MY_FOLDER/', \RecursiveDirectoryIterator::SKIP_DOTS | \FilesystemIterator::FOLLOW_SYMLINKS),
        \RecursiveIteratorIterator::SELF_FIRST
    );
    
    foreach($iterator as $item) {
        if ($item->isFile()) {
            $file = new IO\File($item->getPathname());
    
            echo \sprintf('<a download href="/%s">%s</a>', \str_replace(Application::getDocumentRoot(), '', $file->getPath()), $file->getName());
        }
    }
    Ответ написан
    2 комментария
  • Как в Битрикс получить все подразделы инфоблока, включая вложенные?

    alexyarik
    @alexyarik
    Битрикс разработчик
    Чем пример из документации не подошёл?
    https://dev.1c-bitrix.ru/api_help/iblock/classes/c...
    <?
    $rsParentSection = CIBlockSection::GetByID(1);
    if ($arParentSection = $rsParentSection->GetNext())
    {
       $arFilter = array('IBLOCK_ID' => 2,'>LEFT_MARGIN' => $arParentSection['LEFT_MARGIN'],'<RIGHT_MARGIN' => $arParentSection['RIGHT_MARGIN'],'>DEPTH_LEVEL' => $arParentSection['DEPTH_LEVEL']); // выберет потомков без учета активности
       $rsSect = CIBlockSection::GetList(array('left_margin' => 'asc'),$arFilter);
       while ($arSect = $rsSect->GetNext())
       {
           $arTest[] = $arSect;// получаем подразделы
       }
    }
    ?>
    Ответ написан
    1 комментарий
  • Как сгенерировать список по многим условиям?

    0xD34F
    @0xD34F
    function generator($str, $params) {
      $result = [];
    
      if (count($params)) {
        $key = key($params);
        $values = is_array($params[$key]) ? $params[$key] : [ $params[$key] ];
        unset($params[$key]);
    
        foreach ($values as $val) {
          array_push($result, ...generator(str_replace("{{$key}}", $val, $str), $params));
        }
      } else {
        $result[] = $str;
      }
    
      return $result;
    }
    Ответ написан
    5 комментариев
  • MS Office, при переходе по ссылке: "Эта операция была прервана из-за ограничений наложенных на данный компьютер. Обратитесь к системному администратору"

    @foRz
    Мне помогло это:

    Этап 3. Проверьте, установлено ли значение htmlfile для параметра по умолчанию в разделе HKEY_CLASSES_ROOT \.html
    Нажмите кнопку Пуск и выберите команду Выполнить.
    В поле Открыть введите команду regedit и нажмите кнопку ОК.
    Найдите и выберите следующий подраздел реестра:
    HKEY_CLASSES_ROOT \.html
    Убедитесь, что для параметра По умолчанию установлено значение htmlfile. Если это не так, щелкните правой кнопкой мыши параметр (По умолчанию), выберите команду Изменить, введите htmlfile в поле Значение и нажмите кнопку ОК.

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

    @mletov
    Прочитайте какую-нибудь книгу, которая считается авторитетной в той области программирования, которую вы для себя избрали. Я вот, например, когда начинал писать на C#, бездумно копировал с SO примеры с использованием List<T>. Но при этом даже близко не понимал что это, еще и ругался про себя "опять эти непонятные уголочки, интересно, что они значат". А потом прочитал Албахари, ах вот что это, обобщенный класс, а их, оказывается, еще и свои можно писать. Как сколько нам открытий чудных...

    Сходите на собеседование, на собесе как раз часто всплывают вопросы, на которых копипастер, который пишет вроде бы работающий код, но без понимания, валится, а знающий человек - нет. Как более мягкий вариант - погуглите вопросы для собесов по вашей сфере, и, разумеется, ответы на них поищите.
    Ответ написан
    Комментировать
  • Обращение к записи БД требует некоторой обработки. Что лучше: обработать в скрипте, который обратился, или в хранимой процедуре в БД?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Прежде чем всё это усложнять описанным вами способом, необходимо определиться с ожидаемыми количествами. Насколько много всего будет переменных, насколько много может быть этих объектов, какие ожидаются частоты этих ваших обращений.
    Ещё нужно определиться как вы планируете редактировать наборы изменяемых переменных. Запишете прямо в БД руками, или нужно делать API для редактирования списков?
    Вы собираетесь скрипт запускать при каждом поступлении новой порции данных? Может правильнее запустить его на ожидание порций из пайпа? Или АПИ сделать поверх http.

    По существу вопроса. Минус хранимых процедур в том, что это код, который хранится вместе с данными. Нужно делать отдельные специфические "приседания", чтобы правильно деплоить и обновлять такой код, хранить его в системе контроля версий, мигрировать от версии к версии...
    Быстродействие в обоих случаях будет зависеть от конкретных действий, которые вы будете каждый раз повторять при "обращениях". Однако при наличии "бутылочного горлышка" в этом месте при реализации через хранимые процедуры вы уже мало что там можете сделать. А вот в коде на питоне можно при необходимости добавить воркеров и таски на длительные операции передавать им через очередь.

    В целом задача звучит так, будто делать её надо максимально простым способом без предварительной оптимизации, которая, скорее всего, и не пригодится. Оптимизировать нужно по факту, когда понятно станет где будут проблемные места.
    Ответ написан
    Комментировать
  • PHP регистрозависимый же?

    webirus
    @webirus
    Тыжверстальщик! Наверстай мне упущенное...
    Буду краток.
    Переменные регистрозависимые, функции нет.
    Ответ написан
    Комментировать
  • Почему не стоит мешать html c php?

    Akdmeh
    @Akdmeh
    PHP, Yii2, Music
    По сути, я видел 90-килобайтные файлы мешанины PHP, HTML, MySQL-запросов и прочего.
    Писать такой код просто.
    Проблемы начнутся через полгода, когда вы этот код забудете и нужно будет что-то изменить. Вам придется проверять весь код и пересматривать его, чтобы не зацепить изменением в одном месте кода другое, совсем неожиданное.
    После того, как новички несколько раз сталкиваются с такой проблемой, они начинают писать код более структурировано. Один с методов - это отделить получение информации от пользователя и базы данных с помощью одного кода, отображать эту информацию конечному пользователю с помощью другого, и решать, какую информацию показать и связать два предыдущих компонента между собой - с помощью третьего набора кода.
    Грубо говоря, так и получается структура MVC, в которой html и php код разделен.
    Это если условно, так как сколько людей - столько и пониманий MVC.
    Ответ написан
    Комментировать
  • Какая нужна теоретическая база на собеседовании джуна?

    pLavrenov
    @pLavrenov
    Разработка сайтов
    1) Не бояться получить отказ. Каждый отказ это опыт.
    2) В большинстве случаев они сами не знают и не соблюдают того что написали в вакансии.
    3) Самое главное зайти в это дело. Не важно в какую дыру ты попадешь на первую работу. Как только тебе начнут присылать задачи в которых ты плаваешь скилы полетят вверх тк придется с этим разбираться.
    4) Популярные аббревиатуры просто заучить, никто не будет требовать написать диссертацию про их использование. Потому что читай пункт 2.
    Ответ написан
    Комментировать
  • Какая разница между opcache и APCu cache?

    kotomyava
    @kotomyava
    Системный администратор
    1. Да, конечно. Надо понимать, что они совсем для разных целей, один для пользовательских данных, второй для кеширования промежуточного результата обработки самого скрипта.
    2. Нет, его надо самостоятельно использовать в скрипте, и класть туда данные какие-то которые надо кешировать, ну также, конечно, его может использовать уже готовый скрипт или библиотека какая-нибудь, относительно незаметно. Если всё написано правильно, то сброс кеша кроме повышения нагрузки не должен иметь последствий...
    3. Это значит, что это просто хранилище данных. Их можно туда положить и оттуда забрать, довольно быстро.
    Ответ написан
    Комментировать
  • Есть ли что-то вроде Active Directory для Windows 10?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Есть "альтернативные реализации" AD - платные и бесплатные.

    Бесплатные:
    - Samba - та же AD, только бесплатная, и с косяками. Полной поддержки AD ждать не стоит, заработают базовые вещи - и то будет хорошо. Никаких гуевых панелей администрирования, разве только виндовые заработают.
    - FreeIPA - альтернатива AD, сам никогда спаривать с виндой не пробовал

    Платные:
    - IPA, только платная, от RedHat
    Ответ написан
    Комментировать
  • Онлайн блокнот для заметок?

    itolianezzz
    @itolianezzz
    для Evernote совсем не обязательно устанавливать приложение. Можно и через браузер пользовать + есть дополнения под разные браузеры для быстрого добавления заметок
    Ответ написан
    1 комментарий
  • Можно ли стать синьором купив один курс по программированию?

    @Qualiant
    В среднем, сеньор это от 6 лет опыта в коммерческой регулярной разработке. В разных сферах по разному, но меньше 6 лет нигде не видел.

    А любые подобные курсы - инфоцыганство. Коммунити должно объединиться, чтобы такого наглого обмана в мире было поменьше.

    С третьего пункта снизу особенно проорался. Разве можно создать что-то, но не понимать, как это работает?
    Ответ написан
    Комментировать