Задать вопрос
  • Как значительно уменьшить размер файла Excel (Версия 16.62 Mac)?

    @rPman
    Текстовых данных там не на 12мб?
    Без ковыряний в файле, рекомендую сделать так:

    Создать пустой документ, скопировать 'как текст' (формулы будут заменены на значения), вставить, затем изображения копировать вручную (20 шт не сложно) таким образом не скопируются данные которые могли попасть через буфер обмена (особенно помню с OLE объктами такое было)

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

    Сохранять как .xlsx, открыть как архив, посмотреть что там получилось
    Ответ написан
    1 комментарий
  • Как поставить условие, при невыполнении которого удаляется запись в бд через n-ое время?

    @rPman
    Попробуй переверни логику по другому:
    Не удалять 'по крону' запись, а при чтении из базы выводить только те записи, которые удовлетворяют условию - запись не старее 24h и email_status!=0
    Само же удаление производить когда-нибудь потом, время выбирать уже тебе и разово для всей базы а не для одной записи.
    Ответ написан
    9 комментариев
  • Как снять полный образ системы по USB?

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

    В принципе, если онлайн подходит, то подключаешь adb, и используешь shell утилиту bmgr и гугловский транспорт (есть локальный но доступ к бакапу без рута там нет), т.е. процесс настройки выглядит так, авторизуешься на исходном устройстве в google, делаешь бакап, затем авторизуешь тот же аккаунт на целевых устройствах и делаешь там восстановление (гугл в этот момент предложит восстановиться). Это будет потреблять сеть (оптимизировать не получится) но зато 'по воздуху'

    Иначе нужен root на устройствах (так же понадобится, если google apps на устройстве не стоят), если его получение не проблема то хватит штатного twrp
    Ответ написан
  • Пет проект, как хранить данные?

    @rPman
    Веб технологии на самом деле очень сложный способ учиться программированию для новичков, так как затрагивает сразу несколько очень сложных и сильно разных областей:
    * базы данных (для хранения данных я рекомендую sql базы данных, и для начала sqlite, не потребуется настраивать и устанавливать сервер, так как хранит все в файле)
    * бакэнд (миллион способов, самый популярный php, можно python, так как зная его будет проще в другие области зайти, не рекомендую java или go для начинающих)
    * фронтэнд (без или javascript)
    * верстка и дизайн (html+css)

    причем разработка требует понимание многопользовательского доступа, понимание конфликтов и т.п. если новичок совсем совсем ничего не знает, будет сложно.
    Ответ написан
    Комментировать
  • Стоит ли уходить в веб с Python?

    @rPman
    Можно, все можно
    Начинать с веб (основ) лучше чем начинать с узкой специализации реализации бота (тем более там по хардкору сразу в асинхронное программирование новичка бросает), причем лучше потрогать без высокоуровневых фреймворков как серверную часть и базы данных так и клиентскую, причем в обоих ипостасях, и html+css и javascript.

    Язык программирования и задачи, чаще всего стоят максимально друг от друга, и связь между ними исключительно в том какие фреймворки для каких языков под какие задачи уже написаны, но как я надеюсь все понимают, можно обойтись и без высокоуровневых решений, а низкоуровневые (не придется разбирать http заголовки или самому рисовать окна UI) есть для всех языков.
    Ответ написан
    Комментировать
  • RAID 1 из дисков разной емкости?

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

    В твоем случае ты можешь разбить 1т.б. диски на по 2х 500гб раздела, и объединить по отдельности первые с 500гб дисками и вторые друг с другом
    Ответ написан
    Комментировать
  • Нужно ли ставить антивирус на Microsoft Hyper-V Server free?

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

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

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

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

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

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

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

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

    @rPman
    Из windows получается плохой kiosk mode (это то что вам нужно), там мест где можно вылезти из песочницы миллион, отличный пример - просмотрщик документации сделан на основе internet explorer, помню через окно помощи к приложениям помощи слабовидящим запускали проводник и любой софт на окне авторизации (с правами system само собой), ну или к примеру переход через печать выделения, стандартный диалог принтера, поиск принтера, откроет проводник, с возможностью запустить любое приложение.

    Т.е. очень сильно все будет зависеть, что за софт у вас запущен.

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

    p.s. тут где то пробегал вопрос, о какой то железке то ли игровая приставка то ли железка для одного приложения, на windows, но на столько покореженной, что вылезти куда либо невозможно... так вот там это достигалось путем удаления и подмены файлов,.. явно не штатный способ, так как любое обновление вернет все назад.
    Ответ написан
    1 комментарий
  • Где хранить данные?

    @rPman
    В своей базе данных и храни, незачем создавать новые сущности там где они не требуются
    Если базу данных трогать нельзя, создай свою, любую, вон отличный пример с sqlite, локальная база на основе файла, производительная, полнофункциональная sql (без особой переделки можно потом сменить на другую) и главное не требует никакого обслуживания и настройки.
    Ответ написан
    Комментировать
  • Как записать iso образ на флешку из-под Linux Manjaro?

    @rPman
    Если флешка и машина, на которой она будет использоваться, работает в режиме EFI, то достаточно отформатировать флешку как fat32 и распаковать на нее содержимое iso, открыв его как архив. Все делается из GUI в linux штатными инструментами, например работа с разделами, форматирование - gparted/kde patitionmanager

    Если система на флешке не умеет EFI или загружаться это будет на машине с legacy boot mbr, то есть лайфхак (я встречал только одну очень старую машину где это не сработало, речь идет о 10-15-летней материнке), просто скопировать посекторно содержимое iso на устройство, к сожалению gui для этого под linux нет (точнее есть что то типа gdiskdump но не в репозитариях, да и зачем такую простую задачу усложнять), для этого используют dd, причем iso записывается прямо на весь диск а не раздел, пользоваться такой флешкой до переформатирования можно будет только для чтения этого образа.
    Ответ написан
    2 комментария
  • Насколько правильно хранить бекапы БД на почте?

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

    Если говорить про выбор конкретного инструмента, то указанный backup2mail умеет только сохранять бакапы на почту, а вот восстанавливать придется самому. Когда речьидет о резервном копировании, в первую очередь вопрос, как ты будешь это восстанавливать и как ты будешь мониторить работу корректности резервных копий?
    Ответ написан
    Комментировать
  • Как сейчас можно отправлять электронные письма через "небезопасные приложения"?

    @rPman
    Только через приложения, поддерживающие OAuth2 (например у thunderbird поддержка есть)
    Ответ написан
    Комментировать
  • Cтоит ли делать RAID из HDD2,5 и раздела 3,5?

    @rPman
    Да такой подход оправдан, сделать софтварный рейд не на весь диск а на его часть, для критичных данных. Софтварный рейд на основе разделов умеет делать штатно windows даже не серверные ревизии (под вопросом домашние ревизии, скорее всего там это придется делать не в GUI а в консоли с помощью diskpart)

    Возможно будут сложности делать это с тем диском, на котором установлена система, но как минимум все операции доступны из какого-нибудь livecd winpe
    Ответ написан
    1 комментарий
  • Как создать виртуальный мир на основе виртуальных туров?

    @rPman
    Да, реально, но сложно, так как расстояние между 'Отсканировать реальный объект или помещение' и сделать играбельный мир на его основе - много много пота и денег.

    Вот пример статьи где помещали объект из реального мира в 3d
    Ответ написан
    Комментировать
  • Почему VPN-программы не работают через прокси?

    @rPman
    Потому что об этом не подумали их разработчики, особенность работы с прокси такова что приложение должно уметь работать с соответствующим протоколом (и обычно это не так просто как кажется).
    Нормальные vpn, типа openvpn, умеют работать через прокси (как http с поддержкой connect так и socks)
    Ответ написан
  • Как, используя PHP, скачать страницу с динамической подгрузкой?

    @rPman
    У тебя 2 основных способа:
    1. разобраться в том как работает этот сайт, какие http запросы отправляет, как их собирает (можно отследить в инспекторе в браузере по F12 закладка network, можно сохранить запросы в json . har файл и анализировать позже, в худшем случае придется анализировать js код) и написать свое приложение, которое будет отправлять те же самые запросы, библиотек полно, например curl, есть одноименная утилита так и поддержка в языках программирования, в т.ч. на php, кстати в инспекторе браузера, нажав правую кнопку мыши на запросе можно скопировать curl команду для его повтора.

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

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

    этот подход заметно проще, например javscript который будет нажимать на кнопку Подписаться на странице хабр qna:
    $('.btn_subscribe').click()
    Помимо всего, этот способ позволяет обойти большинство защит от автоматизации, так как это буквально кликать мышкой по кнопкам но главный недостаток - на каждого пользователя будет требоваться полноценный браузер (иногда можно сэкономить), что очень затратно по ресурсам
    Еще одна проблема этого способа - нет универсального способа определить момент, когда окончилась загрузка страницы, в каждом случае придется выявлять самостоятельно критерии (например появление определенного html элемента), большинство просто выставляют таймаут по больше, но если будут проблемы с интернетом или на стороне веб сервиса, этот подход даст сбой.
    Ответ написан
  • Почему после синего экрана не удается запустить windows 10?

    @rPman
    Изначально была проблема в синем экране.

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

    Чтобы окончательно удостовериться что конфиг более менее рабочий (и причина точно в драйверах или комбинации программ) - запусти livecd linux, да это не совсем в полной мере позволит протестировать GPU (хотя есть способы) но даст хоть какой то ответ (например на случай если проблему создал именно windows)
    Ответ написан
    Комментировать
  • Платёжную систему на сайт, какую выбрать?

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

    @rPman
    Лабиринт в форме - ячейка это либо стена либо проход (0/1)?

    Заводим класс - 'Вершина графа', ребра которого - его параметры ссылок на Смежные вершины, для каждой стороны вверх, вниз, налево и направо. Если нужно выявление замкнутых подмножеств, то добавляем параметр - номер подмножества (значение 0 - неизвестно)

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

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

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