Задать вопрос
  • Как оставить работать только 1 приложение на win7?

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

    Можно подменить эксплорер своим приложением, указав его в реестре
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] параметр "Shell"="Explorer.exe"

    Возможно понадобится добавить каталог с icq в переменную окружения PATH

    p.s. такие выкрутасы удобнее делать в linux, а для запуска windows приложения использовать wine (на сколько я помню оно работает так без проблем)
    Ответ написан
  • Как правильно начать изучение linux?

    @rPman
    Купить вторую машину как компьютер или арендовать vps-ку (их цены начинаются с 1$ в месяц, а так же есть бесплатные от амазона, гугла, оракла).

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

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

    @rPman
    Необходимо в документ добавить макросы, которые будут запрашивать необходимую информацию и обновлять документ.
    Ответ написан
    Комментировать
  • Как дать доступ только к одной папке при подключении с ssh?

    @rPman
    В настройках sshd у пользователя нужно прописать:
    ChrootDirectory /home/testuser
    ForceCommand internal-sftp

    К сожалению если надо scp то возни будет больше, как я понимаю нужно симулированть полноценный root с /dev /proc /sys, даже если в bin будет только один бинарник scp...
    Ответ написан
    2 комментария
  • PHP - вывод картинок из папки. Как вывести только JPG?

    @rPman
    Если надо для каждого файла какие то условия проверять и glob с масками * и ? не подходит то используйте pathinfo, разбирает путь в виде строки и возвращает полезную информацию:
    print_r(pathinfo('/path/file.ext.jpg'));
    Array
    (
        [dirname] => /path
        [basename] => file.ext.jpg
        [extension] => jpg
        [filename] => file.ext
    )
    Ответ написан
    Комментировать
  • Как в Windows вернуть RAID-0 массив?

    @rPman
    Средствами windows рейд делается в 'управление дисками', и диски при этом маркируются как часть рейда.... там даже цвет другой, очень сложно пропустить. Скрин показал бы что ли

    raid0 - требует для работы чтобы были все диски (это распределение данных чередованием), в случае если в какой то момент одного диска не было при включении или при каком-нибудь сбое, то диск будет в offline статусе

    Точно помню если попытаться его перевести в online то оно попытается и при физичесском наличии устройств поднимет рейд, но наверняка там куча нюансов.
    Ответ написан
    3 комментария
  • Как привести в рабочее состояние видеодрайвер на старом ноутбуке с Xubuntu 18.04?

    @rPman
    Вопрос немного не в тему, но почему поставили 18.04 а не 20.04?
    Гугл ничего не сказал про этот ноут, какой то китайский нонейм? что у него за видяха хоть, lspci покажи что ли.

    если прервать загрузку системы на стадии логотипа, то при следующей загрузке система загрузится на весь экран
    жесть какая, но очевидно что проблема в детектировании оборудования linux-ом.
    Стадия логотипа это работает режим framebufer, он простой и его пилят в первую очередь и он обычно работает без глюков (но и без ускорения графики и видео само собой), если не победите свою проблему, принудительно укажите в xorg.conf драйвер fbdev (можно vesa, еще более везде работающий, но он мега медленный)

    Кажется автоматом можно его настроить выполнив sudo dpkg-reconfigure xf86-video-fbdev или что то так, ну в крайнем случае ковыряйте xorg.conf
    Ответ написан
    Комментировать
  • Как преобразовать список в массив байт и обратно?

    @rPman
    Этот процесс называется сериализация и десериализация. Есть бинарные и текстовые (xml/json/...). Формат определяете вы или берите готовый (.net предлагает штатные сериализаторы - BinaryFormater, гуглите, stackoverflow дает готовые примеры). К сожалению главный недостаток штатного сериализатора - стоит измениться версии компилятора и совместимость разваливается (текстовые само собой не так часто), хз зачем и почему так сделали, вполне возможно что если покопаться можно поддерживать разные версии в пределах одного приложения, но это достаточно глупо.

    Весь мир аккуратно переходит на google protobuf, реализация которого есть под все популярные языки и с пяток непопулярных, пользуйтесь лучше им.
    Ответ написан
    Комментировать
  • КАК ИСПОЛЬЗОВАТЬ РЕСУРСЫ ДРУГОГО КОМПА?

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

    По факту, вы пишите приложение, для простоты предположим что окружение разработчика и на сервере похожее/совместимое, а затем просто его запускаете как то на удаленных серверах.
    К примеру вы запускаете локально ваше приложение просто в командной строке, а теперь добавьте к нему в начале ssh login@server, и вот уже ваш скрипт работает на удаленном сервере но вывод его транслируется так же к вам локально. С точки зрения юзабилити вы как бы запускаете все у себя же локально но задействованные мощности совокупны использованным серверам. Само собой нужно разрабатывать свой софт таким образом чтобы он в принципе мог запускаться на нескольких машинах (хотя есть инструменты, позволяющие симулировать работу одной машины на кластере, автоматически расшаривая в т.ч. общую память, получая как бы многоядерную машину с огромным объемом памяти, правда это не так эффективно как заниматься этим самому).

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

    С данными отдельный разговор, если есть возможность их расшарить/выделить для этого отдельный сервер или воспользоваться готовыми платными сервисами типа амазон - уже хорошо, но если используемых данных мало, их можно просто при каждом запуске копировать на сервер и обратно тем же rsync (если хранить в файлах).

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

    p.s. не пытайтесь найти на все готовое решение, фреймворк, библиотеку, тулкит... особенно когда задача слишком абстрактна, можете потратить на разборки больше времени чем накидать простой набор утилит самому, ведь лучше вас в вашей задаче никто не разбирается
    Ответ написан
    Комментировать
  • Как вместо текста, сделать редирект в php? const ERROR = редирект?

    @rPman
    Если я верно понял проблему - никак.

    Но, можно воспользоваться хаком, не определять константу ERROR и при каждой попытке доступа к ней будет возникать ошибка 'Use of undefined constant', которую можно отловить колбеком set_error_handler
    set_error_handler(function(int $errno , string $errstr , string $errfile, int $errline, array $errcontext)
    {
    echo 'ERROR: $errno='.$errno.' $errstr ='.json_encode($errstr ).' $errfile='.json_encode($errfile).' $errline='.$errline.PHP_EOL; // .' $errcontext='.var_export($errcontext)
    });
    
    test;
    test;

    ERROR: $errno=2 $errstr ="Use of undefined constant test - assumed 'test' (this will throw an Error in a future version of PHP)" $errfile="C:\\W\\test\\php\\a.php" $errline=8
    ERROR: $errno=2 $errstr ="Use of undefined constant test - assumed 'test' (this will throw an Error in a future version of PHP)" $errfile="C:\\W\\test\\php\\a.php" $errline=9


    т.е. если ваш код не успеет ничего вывести, в колбеке выдавайте нужный header и прекращайте выполнение
    Ответ написан
    2 комментария
  • Как разбить время на случайные промежутки C#?

    @rPman
    Переводите в секунды T.
    Если нужно равномерное распределение, то просто берите N случайных чисел со значением от 0 до T и сортируете их по возрастанию.
    Ответ написан
    Комментировать
  • Как можно реализовать взятие таблицы из базы данных?

    @rPman
    Когда то очень давно, когда я писал на .net с помощью win forms, я пользовался dataset, так как поддержка работы с ними и с базами данных встроена в ide.

    Т.е. вы можете связать объекты dataset с помощью data bindings providers с результатом запроса в базу данных (причем все это из мышекозекательного интерфейса visual studio), связать датасеты с элементами ui на форме, и все это будет работать чуть ли не автоматически (с нулями легкие заморочки если есть связи на форме) и работать из кода с данными в памяти, включая сериализацию и десериализацию одной командой в файл.

    p.s. если честно, такого быстрого и удобного инструмента разработки формочек, связанных с базой данных, я не видел.
    Ответ написан
  • Как запустить несколько php скриптов одновременно?

    @rPman
    С точки зрения нейминга пакетов в OS, php бывает php-cli и просто php. Первый - для запуска из коммандной строки или службы, т.е. просто как скриптовый язык (кстати жутко удобный, имхо удобнее bash, и самый быстрый из существующих в принципе, рядом с ним идет node js но он не такой удобный), второй - для работы web бакэнда.

    По факту это один и тот же бинарник но когда запускаешь приложение из командной строки, настройки php.ini берутся из другого каталога (смотреть /etc/php/...).

    Можно внутри php файла не указывать <?php но в начале указать по стандарту #!/usr/bin/php и тогда скрипт будет запускаться как любое другое приложение (нужен флаг x на файле) либо использовать <?php и запускать
    php файл.php
    Второй вариант мне нравится больше, потому что редакторы ide для php чаще ожидают второй вариант а при первом не включают подсветку синтаксиса.

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

    Т.е. вам нужны механизмы запуска вашего скрипта в виде службы (или хотя бы пока просто скриптом вручную, я видел примеры когда запускали автоматически внутри screen чтобы можно было мониторить активность простым подключением по ssh), плюс механизмы организации задач в виде списков (самое простое в базе данных) и инструменты нотификации об изменении статуса каждой (окончание или ошибка), например нужно же клиенту сообщить о том что работа завершена (при правильной реализации для этого пользуются websocket)
    Ответ написан
    Комментировать
  • Как ловить новые письма в gmail?

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

    Искать Imap idle фичу в библиотеках, она точно есть в куче реализаций, погуглите, первое что выпадает
    Ответ написан
    1 комментарий
  • Повышение и понижение стоимости акций как описать правильно математически?

    @rPman
    Осторожно, есть два кардинально отличающихся места на рынке где можно совершать сделки:
    * обменник (например банк), вам говорят цену, которая периодически меняется и в некотором смысле зависит от объема
    * биржа (в правильном варианте с ней вы работаете через биржу, но есть кухни которые выступают обменником или даже симулянтами), вы можете выставить свою цену (limit сделки) либо совершить сделку по рыночной цене (market) - как в варианте выше но без 'скрытой' комиссии (обменник обычно является обычным трейдером на бирже, вычисляя свою стоимость и добавляя свои комиссии).

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

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

    Все меняется, если вы сами брокер/обменник, причем монополист или достаточно крупный участник рынка. Вы можете использовать информацию о своих клиентах и их поведении, чтобы предсказывать как они поведут в той или иной ситуации. Например простейшая задержка в пополнении депозита может даст вам гарантии в пределах этого времени что ваши клиенты сумеют совершить сделок на сумму не больше X. Так же вы видите в списке лимитных ордеров, какие сделки чужие, какие лично ваши а какие ваших клиентов (и главное, какие стоп сделки стоят у них), вы всегда можете посчитать, на какую сумму нужно совершить сделку (или на какую сумму рынок совершит сделки если вы выдадите соответствующий ценник, как обменник) чтобы курс сместился. Вы видите какие стопы стоят у ваших клиентов, т.е. знаете какой объем торгов будет когда они начнут исполняться. Т.е. дальше простая математика, на сколько нужно потратить денег чтобы сдвинуть курс чтобы начали срабатывать стоп сделки ваших клиентов чтобы дальше двигать курс, тупой пример, вычислив все необходимые цены, вы выставляете сделки на продажу в тот момент как покупаете, но с разницей, от которой у вас будет доход а у ваших клиентов убыток (так как вы сами справоцировали его, сдвинув рынок в нужную сторону). Зная как поведет себя рынок и манипулируя им в пределах своей ликвидности вы можете сдвинуть матожидание выигрыша в свою сторону.

    Само собой такие манипуляторы тоже рискуют, ведь гарантии они получат только если они единственные или крупнейшие на рынке, но так как это обычно не так, в дело вступает матстатистика.
    Ответ написан
    1 комментарий
  • Пустить весь траффик через VPN (tunnelbear, openvpn) на windows?

    @rPman
    Есть очень 'красивое' и простое решение вашей задачи, без vpn уберите шлюз по умолчанию в настройках сети (пропишите статикой или укажите в настройках dhcp сервера для конкретной машины), затем укажите статический роут до vpn сервера в консоли, запущенной с правами администратора (придется прописать все ip адреса которые использует vpn-провайдер, бывает их несколько, узнавать обратившись к провайдеру статистику или собрать самому)
    route add IP_адрес_vpn_сервера MASK 255.255.255.255 IP_адрес_вашего_шлюза_в_интернет -p

    -p - это чтобы при перезагрузке этот роут восстановился

    теперь единственное куда сможет выйти машина - это vpn сервер, после подключения к которому шлюз будет уже этой vpn и весь интернет пойдет через него
    Ответ написан
    Комментировать
  • Можно ли подключить жёсткий диск с буквой С к ПК на котором уже есть диск с буквой С?

    @rPman
    Можно. Windows переназначит этому диску новую букву, выбрав первую из свободных. Так же можно подключить диск не как букву а как каталог (правая кнопка на Мой компьютер, управление, управление дисками)

    p.s. информация о букве диска хранится не на самом диске (там только идентификатор) а в операционной системе, в реестре.

    Кстати из-за этого не получится просто скопировать os на второй диск D и потом вынув первый загрузиться с него, так как система будет помнить что это диск D и подключит его соответственно, и не загрузится. Приходится в реестр после копирования править.
    Ответ написан
    1 комментарий
  • Как проверить наличие значений в таблицах?

    @rPman
    большинство sql баз данных позволяют использовать результат работы select в качестве таблицы во from (либо определять такие вьююхами).

    про добавление суток, оператор LEFT JOIN позволяет объединить таблицы во from таким образом что записи левой таблицы будут в результате обязательно, когда как записи от правой только при совпадении условия в ON (аналогично есть RIGHT JOIN, только подсчет будет для правой таблицы)

    соответственно проверяешь нужное поле на null делаешь плюс один

    про рекурсивные добавления не понял
    Ответ написан
    3 комментария
  • Есть ли альтернатива JADE (java и агенты)?

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