• Какая сфера в IT/яп лучше подходят для работы параллельно с учебой?

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

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

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

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

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

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

    Облако таких точек выгружается в трехмерный редактор (или в этом же приложении) и соединяется поверхностями так же в полуручном режиме.

    К сожалению я не могу сказать, в каком именно софте можно найти подобный функционал. Почти наверняка дорогие профессиональные версии это умеют. Погугли бесплатные программы типа colmap, meshroom, micmac, regard3d, visualsfm, openmvg.

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

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

    Если твой автомобиль угловатый, имеет только углы и ровные поверхности (и их не много, а-ля кибертрак от теслы) то возможно такого маленького количества фото хватило бы. Но чем больше неровностей на объекте, тем больше фотографий под разными углами нужны, чтобы можно было бы что то сделать... грубый пример, каждая неровность должна хотя бы на одной фотографии попасть на контур.
    Ответ написан
    1 комментарий
  • Как получить доступ к lvm vg на iscsi таргете?

    @rPman
    Ты можешь раздавать не диск целиком, а отдельные разделы (vg volume) но монтировать такой диск будет проблематично из windows (на сколько я знаю он не умеет работать с диском как разделом)

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

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

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

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

    @rPman
    rsync -avh --link-dest=previous_backup/ source_directory/ new_backup_directory/

    добавить ключей по вкусу

    Эта команда будет делать резервную копию source_directory/ копируя файлы в new_backup_directory/ проверяя параллельно предыдущую копию в previous_backup/ и пропуская копирование не изменившихся файлов, создавая для них символические/жесткие ссылки.

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

    По сети чтобы все работало рекомендуется установить rsync демона (как минимум создавать жесткие ссылки через всякие nfs оно не умеет но можно проверить ssh scp/sftp)

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

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

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

    у тебя случайно там не два разных загрузчика типа grub и selinux (который только для legacy существует)?

    но вот почему именно у тебя по разному отрабатывает настройка пункта по умолчанию, хз, показал бы конфиг что ли
    Ответ написан
    Комментировать
  • Какую команду писать в Visual Studio Code чтобы он проверял файл на ошибки командой php-cs-fixer?

    @rPman
    Готового расширения не нашел но есть пример того как такое сделать
    https://stackoverflow.com/questions/53585737/vscod...
    Ответ написан
    Комментировать
  • Как с помощью NFC-метки открыть альбом в Spotify на android?

    @rPman
    я погуглил и нашел, именно для твоей задачи запилили приложение, которое буквально открывает интент spotify и передает туда uri

    с идентификаторами я думаю можно веб версию попинать или поиграть с их api
    Ответ написан
  • Как запретить играм засорять директорию "Документы"?

    @rPman
    Использовать для игр другой профиль windows, запускать либо по правой кнопке 'запустить как', либо через диспетчер задач настраивать для каждой свою.
    Ответ написан
    Комментировать
  • Почему аргументы принимаются именно в таком порядке?

    @rPman
    потому что apply(this_объекта, array_аргументы)

    наоборот ты передал вместо объекта массив ['Hello'] это не твой объект с name, а с объектом уже не работает ${...} и тоже вернет undefined
    Ответ написан
    Комментировать
  • Как настроить формулу, что бы при заполнении другой ячейки ставилась дата ее заполнения и в дальнейшем не изменялась?

    @rPman
    формулами так не сделать, но можно сделать javascript, присоединенному к документу и напиши функцию onEdit(e), в нем.
    https://developers.google.com/apps-script/guides/t...
    Ответ написан
    Комментировать
  • Возможно ли конвертировать vdmk образ в raw, который лежит в vmfs датасторе?

    @rPman
    добавь в вирутальную vmware с нужным тебе диском загрузочный диск какой-нибудь утилиты резервного копирования и скопируй как raw.

    самый тупой пример, берешь livecd ubuntu, загружаешься, монтируешь по сети целевой диск, куда сложить файлы (если тебе сразу диск нужен, советую nbd например идет в поставке с qemu, во всех вариациях как сервер так и клиент) и копируешь с помощью dd или partclone (он, зная файловую систему будет пропускать не занятые сектора, что еще быстрее)
    Ответ написан
  • Какие программы подойдут для резервного копирования клиентских ПК с медленной сетью и большим объемом данных?

    @rPman
    Я помню для машин на windows7 использовал bat-скрипт (он уже не подойдет для win10) который делал примерно то же самое, создавал теневую копию копируемого диска, запускал rsync, который для дубликатов на основе предыдущего копирования создавал символические ссылки.
    rsync -avh --link-dest=previous_backup/ source_directory/ new_backup_directory/

    source_directory/ - это каталог, который нужно скопировать.
    new_backup_directory/ - это каталог, в который будет создана новая резервная копия.
    previous_backup - это предыдущий каталог резервного копирования. rsync будет создавать символические ссылки на файлы в этом каталоге, если они не изменились.

    rsync можно брать как нативный виндовый так и использьзовать linux через wsl, рекомендую нативный (который на основе mingw)

    По поводу работы с этим по сети, лично я делал не стандартно, диск, на который происходило копирование подключался по сети как блочное устройство (.vhd/.vhdx), сам же файл по сети раздавался сервером.

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

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

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

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

    @rPman
    Ты так и не написал что сделал после чего перестало работать.

    Тебе нужно восстановить загрузчик (в режиме cms это часть uefi), раз у тебя открывается окно восстановления
    https://remontka.pro/windows-10-bootloader-fix/
    Ответ написан
    1 комментарий
  • Как копировать/переносить виртуальную машину с Linux без правки загрузчика?

    @rPman
    при инициализации диска, создании и форматировании раздела можно задать свой uuid, тебе где из этого надо?

    вот например так я это делаю с lvm
    pvcreate --norestorefile -u xxx-xxx-xxx-xxx-xx-xxxx /dev/sda2

    а так с файловой системой
    mkfs.xfs -m uuid=xxx-xxx-xxx-xxx-xx-xxxx /dev/sda1
    Ответ написан
    Комментировать
  • Существует ли альтернатива видео api ютуба?

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

    youtube это не только api но и люди, без них любая технология будет в забвении.

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

    @rPman
    При открытии файла fopen с режимом "x" если файл существует - будет возвращена ошибка.

    Соответственно спокойно открываешь файл, если вернулась ошибка, ждешь и повторяешь попытки в цикле, если открылся - тут же закрываешь и работаешь с директорией, по окончанию работы файл удаляешь. Обе операции атомарные.
    Ответ написан
    Комментировать
  • В VirtualBox вылазиет ошибка после запуска exe приложения, как решить?

    @rPman
    Не существует драйверов для windows гостя с полноценной поддержкой 3d-акселератора.
    Есть какие то кастрированные потуги, например при установки гостевых дополнений (те что проприетарные и требуют отдельной загрузки) можно отметить чекбоксик что желаете экспериментальную поддержку directx 3d но на практике там мало что работает и самое главное ничего не работает в windows 10, майкрософт что то как следует сломало и перестало работать даже то что раньше работало.

    Та же ситуация с другими системами виртуализации.

    Для qemu есть spice, механизм универсального проброса функций 3d ускорителя по сети, но на сколько это работоспособно я не знаю, кажется плохо.

    Наилучшее на текущий момент решение - проброс всего PCI контроллера с видеокартой (всем что оно предлагает, там и звуковая карта для hdmi и еще какие то устройства), virtualbox так не умеет, пробуй с qemu. Вот посмотри тут есть список устройств которые вроде бы будут работать так

    https://ubuntu.com/server/docs/gpu-virtualization-...
    https://wiki.gentoo.org/wiki/GPU_passthrough_with_...

    p.s. совет, сначала настрой windows машину не внутри виртуалки а на реальном железе с пробрасываемой видеокартой, установив драйвера заранее и только потом переноси ее в виртуальную машину, когда то давно установщик драйверов в windows не могу их установить если видеокарта биосом уже была инициализирована (получается двойная попытка).
    Ответ написан
  • Файлообменник на qt5 c++ с ms sql?

    @rPman
    сохранить в бд через QSqlDatabase надо использовать QSqlQuery запрос
    открываем документацию и видим bindValue, позволяет добавлять параметры указанного типа ParamType - QSql::Binary

    Мне очень лень было искать или писать код поэтому попросил chatgpt, по сути он верный, может есть какие то нюансы или неточности, исправляются документацией
    spoiler
    #include <QSqlDatabase>
    #include <QSqlQuery>
    #include <QVariant>
    #include <QFile>
    #include <QByteArray>
    
    void writeBinaryData(const QString &filePath) {
        // Создаем объект базы данных
        QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
        db.setDatabaseName("my_database.db");
    
        // Открываем базу данных
        if (!db.open()) {
            qDebug() << "Не удалось открыть базу данных";
            return;
        }
    
        // Создаем объект QSqlQuery для выполнения запросов к базе данных
        QSqlQuery query;
    
        // Создаем таблицу, если она еще не существует
        query.exec("CREATE TABLE IF NOT EXISTS my_table (id INTEGER PRIMARY KEY, data BLOB)");
    
        // Открываем файл
        QFile file(filePath);
        if (!file.open(QIODevice::ReadOnly)) {
            qDebug() << "Не удалось открыть файл";
            return;
        }
    
        // Читаем все данные из файла
        QByteArray fileData = file.readAll();
    
        // Закрываем файл
        file.close();
    
        // Готовим запрос на вставку данных в таблицу
        query.prepare("INSERT INTO my_table (data) VALUES (:data)");
    
        // Привязываем двоичные данные к запросу
        query.bindValue(":data", fileData);
    
        // Выполняем запрос
        if (!query.exec()) {
            qDebug() << "Не удалось выполнить запрос";
            return;
        }
    
        qDebug() << "Данные успешно записаны в базу данных";
    }


    p.s. пожалуйста, не издевайтесь над сервером, пользователями, администраторами и здравым смыслом. Не храните файлы в базе данных! Только очень большая нужда может заставить так поступать, а уж если файлы имеют большой размер, то мало какое железо адекватно потянет такое 'решение'
    Ответ написан
    3 комментария
  • Как бекапить диски виртуалок PVE в lvm на СХД?

    @rPman
    Такое возможно только если раздел, на который будет выполняться копирование и с которого производится копирование, не используются. Нельзя одновременно монтировать один и тот же раздел, за исключением случаев, если все работают readonly.

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

    Красиво реализовать не получится.

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