Задать вопрос
  • Как сделать мультизадачный(multi threading bot)?

    @rPman
    все что касается пользователей хранить привязывая их к каждому и хранить данные не в памяти а на диске (в базе)
    Ответ написан
  • Как сделать возможность игры в Minecraft прямо из браузера?

    @rPman
    Раньше было можно, официально, через java applet (посмотри вроде тут обсуждалось что подсовывать и как)

    Теперь этот режим отключен в браузерах по умолчанию, так как еще более ненадежный чем flash (проблем больше чем пользы)
    Ответ написан
    Комментировать
  • Как распаковать zip архив?

    @rPman
    именно c++17?
    а просто c не катит? готовая библиотека, подключай, пользуйся
    Ответ написан
  • Как получить chat_id в html5 game?

    @rPman
    выдавать каждому пользователю персональную ссылку, в которой зашит нужный id
    Ответ написан
  • Не могу загрузить Windows после установки Ubuntu, есть решение?

    @rPman
    Могу только догадаться что произошло, linux во время установки удалил (но это нереально скорее это bios сделал, когда диск вынули) efi запись о windows (это не на диске, а на чипе в биосе, спасибо майкрософту за созданный геморой всему миру, это поведение заложено в стандарте).

    Решение самое простое - отключить uefi режим загрузки (в биосе это зовется legacy mode или mbr).

    Еще решение, загрузчик linux умеет запускать windows, вставь диск ssd, но загрузись в linux и из него напиши в консоли две команды:
    sudo os-prober
    sudo update-grub
    введя пароль пользователя, должно подумать и вывести сообщение что все ок... эта команда обнаружить windows и добавить запись в меню загрузки, если что тут обсуждают и варианты
    Ответ написан
  • Как сформировать запрос, чтобы выводил строки с пустыми значениями?

    @rPman
    У тебя таблица work имеет смысл - факты исполняемой работы, а WhoWork - идентификатор Users, кто работает
    но мне не понятна связь Work и Order, на схеме она есть но не видно какое поле из Work тут должно использоваться, id у них общий? но это не имеет смысла.

    Чем должно являться пустое поле WhoWork? т.е. работа сделана но никем? это так же не имеет смысла и не понятно, по какому условию они должны попасть в результат? все пустые? - тогда добавь их к запросу union

    p.s. настоятельно рекомендую провести рефакторинг и переименовать все поля, являющиеся идентификаторами foreign key, в имя_поля_id, при этом имя_поля по возможности должно быть именем таблицы (хотя не всегда это возможно, например две связи),т.е. в твоем случае WhoWork должно именоваться WhoWork_id или user_id.

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

    @rPman
    Можно попытаться использовать статические анализаторы кода, а можно подключить библиотеку и проанализировать классы и методы в режиме выполнения.
    Смотреть тут, т.е. получаешь список зарегистрированных классов get_declared_classes и для каждого по имени запрашиваешь список методов get_class_methods, в догонку то же самое можно сделать с функциями get_defined_functions

    И помним, что очень часто разработчики библиотек почему используют динамические имена переменных и методов класса, настроив колбек на undefined method, в этом случае список таких методов узнать автоматически невозможно.
    Ответ написан
  • Как добавить html код в функцию php?

    @rPman
    Так как php - это язык шаблонов, без тега это html в чистом виде (точнее то что должен выдать сервер) то значит если закрыть тег ?> то все что до открытия следующего <?php будет выводиться

    т.е. например так:

    <?php
    /* блаблабла код на php */
    ?>
    <div class="modal fade" id="myModal_'<?=$item->id; ?>">
    ...
    <?php
    /* блаблабла код на php */
    ?>


    Подстановка значений (выражений) можно так же кусками на php делать или используя <?=expression ?>

    Все это работает корректно как инструкция, т.е. будут работать блоки { }, и обычно редакторы корректно расставляют подсветку синтаксиса для таких вставок
    Ответ написан
    Комментировать
  • Как еще можно восстановить свежеудаленный .tar.gz архив из Ext4?

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

    Любая запись на диск, на котором удален важный файл понижает шансы успешного восстановления кратно!

    Первым делом - переводишь файловую систему в ro, делаешь посекторную копию раздела на соседний диск, и только после этого начинаешь ковыряться.

    p.s. попробуй еще https://sourceforge.net/projects/ext4magic/

    К сожалению, на сколько я помню, ext3/ext4 очень не подходящая файловая система для восстановления удаленных файлов, т.е. очень мало шансов.

    В твоем случае восстановить данные по фрагментам можно наверное только по содержимому, образно говоря, добавляем очередной экстент к файлу если gzip не выдает ошибок, а если выдает - значит неверный, берем следующий свободный (можно предварительно пройтись по содержимому и убрать все у кого распределение байтов не равномерное, как у архива) долго, тупо но сможет собрать если это в принципе возможно. К сожалению если хотя бы один сектор потеряется - с данными можно будет распрощаться.
    Ответ написан
    4 комментария
  • Можно создать RAID 5 без потери старых данных?

    @rPman
    тут пишут что вроде можно будет расширять (при условии что сначала был raid1 из двух дисков а потом хочешь сделать raid5 из 3 или более дисков)

    Но там модель на циферку отличается, советую порыться в мануалах / интерфейсе / спросить у производителя

    p.s. если я верно понимаю алгоритм (на примере linux mdadm) то на время миграции уровень надежности диска падает (там raid1 переводится в состояние деградирававшего raid5 а потом к нему диски добавляют) и если в этот момент что то произойдет, данные превратятся в кашу, а восстановление обойдется в копеечку.

    Если бы речь шла о софтварном NAS
    на основе linux/windows, я бы советовал вместо одного raid массива на основе дисков, собирать несколько, на основе разделов, разбив исходные диски на одинаковые такого размера, чтобы на него удобно делились текущие и будущие диски, к примеру для 3тб и 4тб дисков я выбрал 1тб раздел.

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

    @rPman
    Вставка данных без индексов должна работать максимально быстро, у вас что, на чтение очень много запросов?
    p.s. диск хоть ssd?

    Чтобы partitioning ускоряло работу, нужно чтобы условие разделения данных по партициям делило нагрузку, в идеале развномерно, а так же сами файлы таблейспейс размещались на разных физических устройствах, чтобы нагрузка на одни секции не затрагивало скорость работы с другими

    table_base_latest куда бы попадали данные только за последние 365 дней, а остальные а остальные складирвоались без в какой-нибудь table_base_tail который бы содержал все оставшиеся данные?
    на сколько я знаю штатный инструмент это не умеет, ведь данные придется как то перемещать между партициями

    Но если реализовывать все самостоятельно, т.е. вместо использования штатного инструмента, самостоятельно раскидывать данные по таблицам, мониторить их устаревание и перемещать между ними, а запросы перестраивать в зависимости от даты.

    Имхо 'овчинка не стоит выделки', точнее очень мало случаев когда геморой реализации даст адекватное повышение производительности.
    Ответ написан
    4 комментария
  • Видеоадаптер перестал отвечать и был восстановлен, как исправить?

    @rPman
    Я такое встречал на видяхах, на которых ранее майнили
    С высокой вероятностью это именно проблемы с питанием, если не в блоке питания то на самой плате видеокарты
    Ответ написан
    Комментировать
  • Подойдет ли абсолютно любая память ddr4 в плату, которая поддерживает ddr4?

    @rPman
    В теории, завестись на 1333 сможет все, как минимум у каждой планки памяти стоит этот режим, полагаю это уже как гарантированный легаси.

    Но вот завестись таким фичам как dual/triple channel, или повышенная частота или нестандартные тайминги, это уже извини, никаких гарантий

    p.s. осторожно, например amd ryzen (ты не указал что у тебя за проц.) на сколько я знаю, очень чувствительный к выбору таймингов и частот памяти.
    Ответ написан
  • Сколько можно файлов поместить в одну папку без нагрузки на открытие файла?

    @rPman
    Это плохая идея, размещать много файлов в одной директории.

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

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

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

    p.s. советы:
    * оформи диск с такими файлами как отдельную файловую систему, в отдельном контейнере (пусть и в файле но не обязательно) и при необходимости резервное копирование делать уже целым файлом раздела, это заметно быстрее не только для hdd (тут само собой) но и для ssd, когда у тебя миллионы файлов.
    * если нет денег на ssd на весь объем данных, используй с помощью bcache малый ssd как кеширующий к hdd, или хотя бы выноси журнал (для ext4) отдельно, хотя бы запись не будет сильно тормозить
    * если файлы мелкие (десятки килобайт), возможно key-value база данных будет более предпочтительна (но только если это не мешает, к примеру раздавать статику веб сервером лучше само собой из файлов)
    * а можно даже сколхозить свое
    Ответ написан
    Комментировать
  • Почему просит перечислить биткоин и только после выводит?

    @rPman
    Это бред, такое требование абсолютно бессмысленное и даже в нормальных ситуациях не имеет смысла (ведь входящие переводы могли быть сделаны с не принадлежащих тебе кошельков)

    Кто что тебе куда переведет, я не понял, это какому скамеру ты монеты завел?
    Ответ написан
    Комментировать
  • Как сделать мини ветрогенератор из моторчика от принтера?

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

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

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

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

    Как результат - самая низкая цена решения и готовые 220в с правильной синусоидой на выходе. К сожалению КПД решения очень низкое.
    Ответ написан
  • Проблема с установкой Windows: не подходит драйвер для контроллера?

    @rPman
    может и вредный совет, но попробуй драйверпаки

    Накатывать образ install.wim и устанавливать драйвера с помощью системы восстановления и резервного копирования это какой то трэш..

    Если система в принципе не может запуститься и нужно как то установить, то можно с помощью ntlite интегрировать драйвера прямо в установочный образ (там же и обновления и много что можно сделать)
    Ответ написан
  • Проседает частота процессора +- в 2 раза, что делать?

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

    Но вот где именно, уже проблема - легче всего с блоком питания, сложнее если проблемы с узлом питания на видяхе или на материнке - выявить можно только последовательной заменой компонентов (бп, материнка, видеокарта).
    Ответ написан
    Комментировать
  • Как решить эту проблему с установкой Debian вместо Windows?

    @rPman
    Сложно понять что у тебя случилось.

    С высокой вероятностью у тебя windows запускалась не в режиме UEFI, а уже linux зачем то стал запускать из этого режима, но нормально установить меню загрузки EFI можно только если загружался из режима EFI.

    Т.е. либо продолжай загружаться в legacy bios режиме, либо перезапусти windows в режиме efi и заново запусти установщик но я не рекомендую в принципе ставить linux из windows.

    Лучше записать загрузочный установщика образ iso на usb flash/cdrom (на выбор вариантов много, рекомендую unetbootin) и уже из него запускать установку

    p.s. настоятельно рекомендую новичкам начинать не с debian а с ubuntu/kubuntu/xubuntu, по сути это то же самое но сообществом более вылизанное именно в таких ситуациях.
    Ответ написан
  • Pusher JS - это билиотека или веб-сервис?

    @rPman
    Ответь пожалуйста, зачем тебе такие крутые фреймворки для чата?

    Обычный websocket, чистый, не замутненный кодомусором, на php сервер бери Ratchet но само собой можешь выбрать любой другой, на github вариантов тьма.
    Ответ написан
    1 комментарий