Задать вопрос
  • Ноутбук выключается сам по себе, что делать?

    @rPman
    включил ноутбук, и у меня началось обновление BIOS
    как понял что идет обновление BIOS?
    интерфейс биосовский или windows?
    Обычно биос не обновляется сам, это ненормально!
    конечно я понимаю что такая возможность у производителя существует и какие от этого могут быть последствия, но делать это выборочно для единиц техники смысла нет


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

    и само собой проведи типовые действия по восстановлению системы пройдись антивирусником потом под администратором sfc/scannow
    Ответ написан
    Комментировать
  • На каком языке программирования Meta Platforms (Facebook) создаёт метавселенную?

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

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

    то что в 'эту игру' (я про навешай потребителю лапши побольше) хотят играть другие ничего не меняет, просто смени место приложение вопросов на другую компанию
    Ответ написан
    4 комментария
  • Как с помощью Dism просканировать папку Windows которая лежит на диске D?

    @rPman
    Загрузиться в режиме восстановления с компакт диска (нужной версии), там будет выбор какую копию системы нужно восстановить, чтобы не было неоднозначностей, вытаскиваешь диск с не нужной.
    Ответ написан
    6 комментариев
  • Как уменьшить нагрузку на Mysql запрос на очень нагруженной базе?

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

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

    @rPman
    тут несколько подходов, я трогал каждый из них и все они имеют право на существования
    1. оставь как есть, я рекомендую, пусть будет 100500 таблиц справочников (если проблем с именами нет ну и отлично), fk-индексы все это свяжут а инструменты анализа базы данных помогут с этим работать (автоматические query builder с мышевозекательным интерфейсом) и база будет сама следить за тем что идентификаторы справочников не противоречивы
    недостатков я не могу придумать, кроме может быть сильно разросшейся структуры, когда то давно я слышал что некоторые базы данных при увеличении количества таблиц начинают хуже работать но как я понимаю это если их будет десятки тысяч а не десятки и сотни.. может быть резервное копирование такой базы или ее репликация будет проходить чуть медленнее или еще хуже, организационно репликация может быть настроена на не рассылку ddl модификаций, в этом случае создание нового справочника будет задавать работу еще и админам, что нежелательно.

    2. противоположный, использование одной таблицы key-value для нескольких разнородных справочников (id, value, table_name), в 99% случаев можно использовать один сиквенс (одну последовательность идентификаторов), вам же не обязательно чтобы разные справочники начинали счет своих строк с одного и того же числа 1.
    Недостаток - база данных теперь не сможет контролировать что вы используете непротиворечивый идентификатор (можно в запись одного справочника указать номер из другого), хотя несуществующий так же нельзя будет указать (и будут работать delete cascade), так же удобной автогенерации sql не будет. Структура будет проще, так же интерфейс редактирования таких справочников может быть один вместо кучи форм и добавлять новые справочники будет сильно проще (хотя с точки зрения разработки нет особой разницы, один insert ты написал или create table перед этим)

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

    Лично я третьим подходом в чистом виде не пользовался, но у меня был набор скриптов, которые из справочников в базе данных формировали код с инициализацией констант и их именами для приложения (сами справочники приложением редактироваться не могли) и был соблазн перевести эту часть базы из 'оперативной' в 'для разработчика', так как справочник это что то - отвечающее за отображение информации, но не за бизнеспроцессы (ну примерно как языковые файлы для приложения, не хранить же переводы строк интерфейса тоже в базе, ну так и справочники смогут работать как часть этого интерйфейса и тоже может требовать перевода).
    Ответ написан
    4 комментария
  • Как удалить из трех или более таблиц 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 комментарий