Задать вопрос
  • Как удалить из трех или более таблиц mysql по одному id?

    @rPman
    а left join?

    По уму правильный способ, при создании foreign key index нужно указать on delete cascade, и тогда при удалении записи в главной таблице, все связанные записи удалятся автоматически
    Ответ написан
    Комментировать
  • Есть ли бесплатные аналоги AirDroid?

    @rPman
    универсально - syncting (куда угодно как угодно win/linux/android/mac/iphone/...)
    не использует промежуточный сервер, передача напрямую, по локальной сети или через интернет если цель далеко
    Ответ написан
    3 комментария
  • Как БЫСТРО надать масив экрана для opencv (селен)?

    @rPman
    так быстро точно не получится
    между экраном браузера и питоном пропасть буферов и прослоек
    и главное там png сжатие происходит, быстро это сделать не получится (а ты еще обратно его будешь пережимать)

    Попробуй вместо средств selenium работать с экраном см помощью remote desktop api но как именно это будет работать с headless браузером надо тестировать, главное что это api подразумевает высокую отзывчивость и быструю передачу содержимого экрана, но нужно будет изучать как этот экран принимать

    p.s. у браузера есть свой webgl и когда то был зарелизен webcl (но поддержка браузерами сейчас под вопросом), т.е. может попробуешь работать с графикой напрямую в браузере?
    Ответ написан
  • Могу ли я разрабатывать свой личный проект на свободном Qt?

    @rPman
    при использовании библиотек как есть без модификации (с помощью динамической линковки!), ты можешь использовать qt как угодно, но с упоминанием что используешь их,
    https://www.qt.io/licensing/open-source-lgpl-oblig...
    In case of dynamic linking, it is possible, but not mandatory, to keep application source code proprietary as long as it is “work that uses the library” – typically achieved via dynamic linking of the library. In case of static linking of the library, the application itself may no longer be “work that uses the library” and thus become subject to LGPL. It is recommended to either link dynamically, or provide the application source code to the user under LGPL.


    вообще lgpl оставляет лазейку, если ты проведешь модификации кода их библиотеки, тебе достаточно предоставить исходные коды этих модификаций, а вот основное приложения так же оставить проприетарным, при условии динамической линковки уже этой модифицированной библиотеки
    Ответ написан
    Комментировать
  • Unity как рассчитать угол отскока мяча от стены?

    @rPman
    если относительное положение стенок паралельно осям координат (т.е. либо препятствие вертикальное либо горизонтальное) то при ударе о горизонтальную стенку, скорость по Y меняется на противоположную (меняется знак) а по X не меняется, ну а при горизонтальной стенке наоборот, по Y не меняется а по X меняется знак на противоположный (умножить на -1)

    если препятствия произвольный угол имеют то... формулы можешь посмотреть тут
    Ответ написан
    1 комментарий
  • Как поставить цикл while на паузу с помощью keyboard?

    @rPman
    дальнейшим воспроизведением
    постановка на паузу определяется тем что именно выполняется в цикле

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

    другой - многопоточный, в этом случае в одном потоке у вас висит ожидание нажатий клавиш, а в другом ваш главный цикл. этот вариант проще
    Ответ написан
    Комментировать
  • Можно ли сделать монитор из электронной книги?

    @rPman
    почти наверняка внутри твоей книги экран подключается по lvds, у китайцев есть относительно доступные платы hdmi-lvds (а если display port то на хабре помню была статья как спаять самому такую)

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

    Точно помню, какой то хитрец выкрутился, старую фоторамку без каких либо интерфейсов ввода вывода, только карта памяти, подключил к wifi с помощью microsd wifi card adapter, фоторамка добросовестно выводила картинку с этой карты памяти, а владелец менял ее с компьютера (кажется ставишь две картинки, и они в цикле друг за другом меняются, ничего менять не надо но скорость смены изображения - секунды.
    Ответ написан
    Комментировать
  • Как отредактировать данные в php файлах?

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

    Второй - как много данных

    Третий - на сколько сложные запросы по поиску и фильтрации у тебя есть

    И если многопользовательского доступа нет и данных не много (максимум мегабайты) и работа с данными простая, то можно совсем не заморачиваться с базами данных и хранить все в файлах. Для этого в php есть несколько инструментов сериализации любых данных в строки (массивы, объекты. строки и т.п.):

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

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

    p.s. по теме конкретно сформулированного вопроса, гугли CRUD, это готовые инструменты по create,read, update, delete объектов, которые тут же описываешь. Так или иначе эти механизмы мого кто реализует в своих фреймворках

    но начинающему настоятельно рекомендую пройти весь путь от самописных структур данных и работе с sql
    Ответ написан
    4 комментария
  • SSD разбивка на неиспользованые разделы?

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

    Изначально пустой диск помечен весь как не используемый (так же это можно сделать специальными утилитами), таким образом заполнив диск только на половину, вторая половина диска останется помеченной как не используемая и ее сектора будут использоваться контроллером по мере необходимости.

    Если по простому считать, при использовании только половины емкости диска, должно кратно (формально не в два раза, так как для переноса 1 единицы информации записей будет произведено две) увеличить срок годности диска (с точки зрения ресурса записи ячеек)

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

    Поэтому повторюсь, нет нужды ограничивать себя в размерах доступного пространства такими способами, размечай весь диск и проследи чтобы в BIOS и ОС была включена поддержка TRIM.
    Ответ написан
    1 комментарий
  • Как без проблем расширить корневой диск на лету в виртуальной машине linux?

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

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

    Еще момент, некоторые файловые системы, например btrfs/zfs, умеют на лету! добавлять (и удалять) диски к пулу, и не обязательно это должен быть raid, возможно простое объединение пространств дисков, даже без чередования. Собственно btrfs я бы и рекомендовал использовать, даже не смотря на его нестабильный статус (так как все его проблемы касаются вещей, которые можно не использовать, например raid56)

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

    Да, существуют странные приложения, которые проверяют что файлы не являются линками (либо делают обновление файла его перезаписью, что удаляет симлинк и создает новый файл на текущем диске) или же разработчики по глупости вообще решают все хранить в одном большом контейнере, вынуждая администраторов ломать голову, как этот бред поддерживать... всякое бывает, симлинки не всемогущий инструмент.
    Ответ написан
    1 комментарий
  • Есть ли разница между Windows 7 и 10 по железу?

    @rPman
    Однозначно, подтверждается синтетическими тестами, главное! при наличии драйверов как для win7 так и win10, последняя до 10% медленнее работа с диском.

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

    И главное, интерфейс windows10 менее отзывчивый, это видно везде, и в стартовом меню и в проводнике (правда winxp/win7 можно было сильно замедлить просто устанавливая больше приложений, регистрирующих activex компоненты и com классы, полагаю именно это и произошло с win10, объектов идущих в комплекте с ОС стало больше), я сейчас не говорю про сломанную юзабилити, в win10 в конце концов больше телодвижений для многих настроек (чтобы добраться до старых не метро настроек, попробуйте открыть старое меню настройки времени, чтобы к примеру отключить или сменить сервер времени, с которого идет синхронизация часов)

    Я помню для меня было шоком, что в win10 запуск приложений по горячим клавишам (свойства ярлыка, настройка комбинаций клавиш) да просто запуск системных приложений по нажатию мультимедиа клавиш занимает время (где то пол секунды), запустите калькулятор, поймете о чем я. Изучая вопрос я понял что во первых это метро приложения, их запуск в принципе не мгновенный, но еще страшнее, если 'сломать' интернет (например указать неверный dns или прописать неправильный route) то запуск приложений еще сильнее замедляется, но не регулярно, как будто почти каждый запуск приложения заставляет ОС отправлять сетевой пакет в интернет и ждать ответ (антивирус при этом само собой отключен). Я специально искал не metro приложение калькулятор, и даже оно могло через раз запускаться не мгновенно

    так что ответ - да, win10 заметно медленнее win7 почти по всем аспектам, но при условии что драйвера на железо имеются под обе версии ОС, что с каждым днем все сложнее и сложнее.

    Само собой, если активно заниматься тюнингом системы, с некоторыми шансами можно довести скорость работы win10 до win7, к сожалению когда с интервалом в год несколько раз, приезжающие комулятивные обновления почти полностью сбрасывали все критичные для скорости настройки до дефолтных, мне надоело бороться с ветряными мельницами, а позже полностью ушел на linux, оставив полупустую установку win для виртуалки.
    Ответ написан
    1 комментарий
  • Как удалить авторизацию из приложения Android?

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

    Исключение, если приложение использует внешнее хранилище и/или карту памяти, но эти файлы подконтрольны напрямую пользователем и на время эксперимента их можно все удалить (переместить во временный каталог), зато после первого запуска будет видно какие файлы в каких каталогах приложение создает
    Ответ написан
    Комментировать
  • Будут ли выплаты разработчикам Google Play?

    @rPman
    Боюсь нет

    google play и другие компании мира блокируют выплаты по национальному признаку (или точнее - Российского гражданства), т.е. сам факт наличия работающего банковского счета не достаточен!

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

    @rPman
    Данная задача называется - транскрибация

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

    Открытые (бесплатные) модели по анаглийскому языку помню были у мозиллы проект DeepSpeech, вполне возможно что есть еще, начни гуглить от сюда, я помню видел статьи от какой то компании на хабре которая раскрутила их алгоритмы и работает с русским языком.

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

    @rPman
    8gb ram
    вполне подходит для нейронки, поддержка amd gpu есть у tensorflow, по крайней мере огромное количество инструкций гуглится как для windows так и для linux

    Судя по avito лучше 80т.р. выставлять не желательно, точнее надеяться остается только на региональных покупателей. Но главное, маловероятно что за вырученные деньги можно будет купить новую nvidia сравнимой мощности.

    Если видеокарта активно работала майнером, убитая система охлаждения или еще какие косяки, то ценник придется еще сильнее опускать.

    Выставляй на площадках и пиши - возможен торг, собирай предложения какое то время и смотри
    Ответ написан
    1 комментарий
  • Как найти координаты Б когда известны координаты А, C?

    @rPman
    информации недостаточно

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

    @rPman
    понять задание сложно, информации мало, нужны примеры данных с пояснениями

    applications.back_date скорее всего содержит дату погашения задолжности, значит если она null то applications.customer_id ее будет ссылаться на должника? вот и считай эти count(applications.id) для group by applications.customer_id с условием applications.back_date is null
    Ответ написан
  • Как сделать так, чтобы страница держалась в открытом виде многое время?

    @rPman
    у тебя 2 пути

    простой и дорогой, нужно запустить 100 браузеров (в каждом свой профиль со своими настройками прокси)

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

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

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

    @rPman
    я так понимаю по ценам они для тебя равнозначны?
    Intel Xeon E-2388G - 23553, singlethread 3350
    AMD Ryzen 9 5900X - 39474, singlethread 3494
    AMD EPYC 7313 - 40575, singlethread 2610

    singlethread отвечает за производительность в однопоточном режиме и с обывательской точки зрения это отзывчивасть работы, а общий скор это буквально сколько работы максимум может делать процессор

    если выбирать из этого списка - однозначно ryzen но надеюсь у тебя там память не подкачает, от нее много что будет зависеть, а у amd бывает очень сложно подобрать
    Ответ написан
    4 комментария