Задать вопрос
  • Заменить процессор для просмотра FHD/4K?

    @rPman
    motcart, даже встроенная видеокарта, при наличии софта (чего для железа 2011 года маловероятно), ускорить декодирование, причем значительно.
  • Как отслеживать изменение локального файла в директории через js?

    @rPman
    Никто тебе не мешает писать бакэнд на nodejs это javascript, модули почти все совместимы с браузерными (с оговорками про собственно браузер)
  • В чём деловая польза нейросетей?

    @rPman
    Zanudd, пока без человека не получится

    Языковым моделям, которые стали проявлять эмерджентные свойства, похожие на интеллект, считанные два года (а алгоритм их построения transformer был придуман в 2017 и в принципе модели стали появляться в 2018-2019 годах), по меркам индустрии это младенчество (а gpt4 даже разродиться как следует не может, в паблик выпущена сильно кастрированная версия).

    Еще момент, действительно возможности раскрываются не тем, кому доступен жалкий api запросов, а тем у кого доступ к весам и у кого есть оборудование (порядок стоимости - дсесятки миллионов рублей) для того чтобы дообучать модель и тюнить запросы (peft - prompt tuning, p-tuning, LORA), обучать аркестры нейросетей (например сделать систему, способную не просто отвечать на вопросы, но и гуглить, читать результаты ответов, собирать выжимки, и продолжать отвечать соответственно им, как это сделали майкрософт в bing)
  • Как соединить два ПК через интернет на .net?

    @rPman
    sergeyrrin, торенты просят открыть порты пользователя или роутер по протоколу upnp
  • Заменить процессор для просмотра FHD/4K?

    @rPman
    Dmitry Roo, омг и он хочет 4к себе на этом?)
  • Вызов VBS из другого скрипта с передачей текстовой переменной - как?

    @rPman
    мда, конкатенацию строк в vbs ты не знаешь, мое последнее сообщение тут
    bing chatgpt:
    исправь код на visual basic script таким образом чтобы в качестве аргумента вызываемой команды подставлялось значение txtMsg, учитываем что там могут быть пробелы: obj.Run "D:\telegaMSG1.vbs txtMsg"

    Для того чтобы в качестве аргумента вызываемой команды подставлялось значение txtMsg, можно использовать следующий код на Visual Basic Script:
    Dim objShell
    Set objShell = WScript.CreateObject("WScript.Shell")
    txtMsg = "Hello World"
    objShell.Run "D:\telegaMSG1.vbs " & txtMsg

    В данном случае в переменную txtMsg записывается значение “Hello World”, которое затем подставляется в качестве аргумента вызываемой команды. Если значение txtMsg содержит пробелы, то его необходимо заключить в кавычки.

    добавь заключение в ковычки

    Для того чтобы заключить значение переменной в кавычки на Visual Basic Script, необходимо использовать двойные кавычки. Если значение переменной содержит двойные кавычки, то их необходимо экранировать обратным слешем. Вот пример кода с экранированными кавычками:
    Dim objShell
    Set objShell = WScript.CreateObject("WScript.Shell")
    txtMsg = "Hello World"
    txtMsg = Replace(txtMsg, """", "\""")
    objShell.Run "D:\telegaMSG1.vbs """ & txtMsg & """"

    В данном случае в переменную txtMsg записывается значение "Hello World", которое затем подставляется в качестве аргумента вызываемой команды. Если значение txtMsg содержит пробелы или двойные кавычки, то его необходимо заключить в двойные кавычки и экранировать двойные кавычки обратным слешем.
  • Вызов VBS из другого скрипта с передачей текстовой переменной - как?

    @rPman
    obj.Run "D:\telegaMSG1.vbs txtMsg"нет тут ковычек, добавь хотя бы '
  • Вызов VBS из другого скрипта с передачей текстовой переменной - как?

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

    самая простая кодировка это hex encoding, каждый символ заменяется на пару символов из [a-z0-9], в икле посимвольно с помощью hex(asc(char)), гуглятся примеры

    сложно
    помимо файлов есть разные способы, их всех объединяет один термин inter-process communication
    К примеру можно создать пайп (принимающий создает, отправляющий открывает его на запись и пишет). Можно создать сетевое подключение, открыв сокет в том же порядке.
  • Вызов VBS из другого скрипта с передачей текстовой переменной - как?

    @rPman
    да я не прав, перепроверил в виртуалке, действительно
    все у майкрософта 'не как у людей' ;)
  • Проблема с проводом для ssd. Как решить?

    @rPman
    все еще веселее, все современные блоки питания продолжают комплектоваться разъемом питания fdd, за все время я видел только одно его применение - питание платы-переходника sata <=> ide
  • Возможно ли запустить интегрированную GPU на ноуте?

    @rPman
    в биосе изображение есть?

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

    а почему думаешь что причина именно в дискретном gpu? может на материнке там где разъем монитора подключается проблемы, а значит не важно какая видеокарта дает изображение
  • Как организовать поиск в БД с 1000 таблиц?

    @rPman
    10000 таблиц по 50 записей ускорить индексами не получится, точнее бонус от скорости будет незначительным а вот скорость записи упадет раза в 2-3. Если данные меняются очень редко, то моя схема вполне рабочая.

    Как частный случай, можно так же автоматически сгенерировать код создания триггеров, которые на изменение данных будут дублировать их в кеш-таблице, это заметно замедлит изменения в таблицах (так же примерно в 2-3 раза, индексы у таблицы быть должны сразу, плюс должен быть индекс по полю id, так как updates должны обновлять данные а не добавлять их).

    Метод создания самодельных индексов достаточно популярный, особенно когда нужно обойти ограничения или недоработки sql сервера. Накладные расходы тут только на запись, и если они редки в приложении - то это идеальный способ решить все проблемы с производительностью
  • Интересный вопрос знатокам парсинга, парсили ли вы гугл тревел?

    @rPman
    Иногда бывает для доступа к элементу требуется несколько итераций, например если dom элемент не имеет четкого идентификатора (например элементы списков/таблиц), ищут верхнеуровневый контейнер, и уже к этому элементу делают querySelector или querySelectorAll

    Еще подход, когда владелец сайта постоянно переименовывает наименования классов или даже меняет структуру (прямой поиск по селектору не работает) есть лайфхак, перебирай элементы на странице, запрашивая их видимый прямоугольник getBoundingClientRect(), откидывай все с нулевыми размерами (они невидимые), и строй карту относительного положения элементов, тогда сможешь делать поиск вида - элемент справа от элемента, текст которого содержит 'Бла бла бла'.

    upd. мир никогда не станет прежним, тупо скопировал свой текст и получил готовый код
    bing chatgpt
    осторожно, код не проверял но основная идея понята верно! на вскидку есть ряд мелких ошибок типа определения невидимого элемента нужно ставить ||
    function buildMap() {
      let elements = document.querySelectorAll('*');
      let map = {};
      for (let element of elements) {
        let rect = element.getBoundingClientRect();
        if (rect.width === 0 && rect.height === 0) continue;
        let text = element.textContent.trim();
        if (!text) continue;
        map[text] = {rect: rect, element: element};
      }
      return map;
    }
    
    function findElement(map, referenceText, position) {
      let reference = map[referenceText];
      if (!reference) return null;
      for (let text in map) {
        if (text === referenceText) continue;
        let rect = map[text].rect;
        switch(position) {
          case 'right':
            if (rect.left >= reference.rect.right) return map[text].element;
            break;
          // добавьте другие позиции здесь
        }
      }
      return null;
    }
    
    let map = buildMap();
    let element = findElement(map, 'Бла бла бла', 'right');
  • Интересный вопрос знатокам парсинга, парсили ли вы гугл тревел?

    @rPman
    да, один я указал - всю или большую часть роботы проводи в браузере на javscript, который инжекти с помощью того же tempermonkey, браузер буквально запускай как обычно, открывай ссылки и все само дальше

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

    Например когда еще работал IE я пользовался штатным компонентом WebBrowser в .net, 2 шевеления мышки в Visdual Studio и браузер готов, из кода на c# полный доступ к dom страницы (некоторые вещи придется делать запуском javаscript, например вызов функций сайта в контексте этого сайта), это все еще работает, если сайты не следят с каких браузеров к ним зашли, но самое главное если собрать приложение под mono то компонент IE подменяется на firefox
  • Можно ли в PHP из дочернего процесса создавать еще дочерние процессы?

    @rPman
    проверь что у тебя нигде этот процесс в popen не выводит ничего в stdout/stderrr, возможно тут проблема
  • Можно ли в PHP из дочернего процесса создавать еще дочерние процессы?

    @rPman
    file_put_contents('test.log',date('c').': '.posix_getpid().' start'.PHP_EOL,FILE_APPEND);
    $fork=pcntl_fork();
    file_put_contents('test.log',date('c').': '.posix_getpid().' fork: '.$fork.PHP_EOL,FILE_APPEND);
    pclose(popen('(sleep 1;echo `date +"%G-%m-%dT%T%:z"`: '.posix_getpid().' inside popen>>test.log)&','r'));
    file_put_contents('test.log',date('c').': '.posix_getpid().' end'.PHP_EOL,FILE_APPEND);

    2023-05-15T08:59:11+07:00: 187452 start
    2023-05-15T08:59:11+07:00: 187452 fork: 187453
    2023-05-15T08:59:11+07:00: 187453 fork: 0
    2023-05-15T08:59:11+07:00: 187452 end
    2023-05-15T08:59:11+07:00: 187453 end
    2023-05-15T08:59:12+07:00: 187452 inside popen
    2023-05-15T08:59:12+07:00: 187453 inside popen
  • Можно ли в PHP из дочернего процесса создавать еще дочерние процессы?

    @rPman
    php -r "pclose(popen('(sleep 1;touch test)&','r'));echo 1;"
    у меня отрабатывает как ожидается, выводит 1 сразу, а через 1 секунду создает пустой файл test
  • Безопасность linux-каковы минимальные параметры, чтобы можно было сказать что система безопасная?

    @rPman
    Если коробка - черный ящик, то ты не можешь.

    Ты должен абсолютно понимать что внутри и как оно работает
  • Безопасность linux-каковы минимальные параметры, чтобы можно было сказать что система безопасная?

    @rPman
    ввожу некоторое количество команд и по результатам их работы можно сделать вывод о безопасности этой железки
    с чего вообще это утверждение? оно однозначно неверное.

    о какой безопасности идет речь? вы боитесь сломать железку? вы боитесь что железка сломает вашу железку? вы боитесь что кто то третий сможет что то делать с железом (в обе стороны) и т.п.?