Задать вопрос
  • Как обновлять файл json на php?

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

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

    Если api позволяет оценить изменения в данных, то хранить в файле json имеет смысл только если он не большой, иначе да, как то оптимизировать хранение, либо по файлу на объект либо действительно в базе данных, по желанию
    Ответ написан
    2 комментария
  • Автоматически нанести текст на тысячу картинок?

    @rPman
    Твоя задача на самом деле не такая уж и простая

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

    Лично я бы решал проблему, добавив используя встраиваемый браузер, только на питоне код заметно сложнее чем на каком-нибудь c# .net, помню писал скринер сайта с кастомным размером страницы, прекрасно работало под mono headless, это было буквально несколько строчек кода.
    Ответ написан
    3 комментария
  • Почему некоторые сайты загружаются очень медленно и получают статус stalled/dns lookup?

    @rPman
    с вероятностью 99% косяк провайдера
    включи dns over https (безопасный dns), а публичные уже не надежны, ибо их подменяют.

    Российские провайдеры в попытках (судя по всему успешных) анализировать шифрованный трафик (не всех но некоторых сайтов, и список таковых со временем меняется), сильно тормозят https подключения, и получается иногда парадоксальная ситуация, через наидешевейший тормозной vps в европе такие сайты открывает быстрее чем полугигабитный ростелеком (который может на 20-30мбайт/с грузить что-нибудь за тысячи км от ...)
    Ответ написан
    2 комментария
  • Можно ли ограничить потребление оперативной памяти приложению на андроид?

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

    ну и логичное, просто не открывайте этот пак стикеров

    ну и в догонку, альтернативный клиент поставь а так же если этот пак мешает - удали его с десктопного клиента, там памяти по больше
    Ответ написан
    2 комментария
  • Как установить QT ofline в RedOS?

    @rPman
    Зачем выбирать специализированную версию linux - RedOS а затем уходить от ее протестированных компонент на самые новые, в 99% случаев вне зависимости от ос это непередаваемые приключения и страдания. Чем тебя qt5 версии не устраивают, которые есть в репах этой ос?

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

    Без знания linux боюсь будет очень сложно, ведь на таком квесте спотыкаются и опытные пользователи

    RedOS Система основана на rpm пакетах, пакетный менеджер утилита dnf (ранее yum) так как скорее всего основано на centos. С некоторой вероятностью у операционной системы может быть бинарная совместимость с centos (одинаковые версии системных библиотек) а значит можно попытаться поискать готвые решения от туда.

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

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

    потелепатствую - у тебя на форме есть типа браузерные компоненты и для первого попавшегося, в котором адрес будет совпадать с указанным условием нужно вернуть html тело страницы?

    p.s. запускай указанный код без sleep в методе компоненты Timer, настроив его на интервал опроса
    Ответ написан
    2 комментария
  • Клонирование приложение windows?

    @rPman
    Именно функционал клонирования, причем запущенного, есть у систем виртуализации, если физически машины имеют одинаковое железо то, на этом даже основаны системы резервирования приложений, позволяющие не прекращать их работу (доля секунды пауза) даже после смерти одной из машин (Fault Tolerance как часть High Availability у vmware).

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

    На практике никто конечно не решает это проблему в лоб, на целевую машину производят штатную установку приложения, а затем копируется реестр (с помощью штатного regedit) из HKLM и HKCU /Software/.. и и файлы из appdata (плюс собственно файлы приложения, где их хранят)
    Ответ написан
    Комментировать
  • У меня USB-хаб 3 версии. К нему подключен внешний диск тоже USB 3.0 и мышь USB 1.1 - значит ли это что диск работает не на 3 а на 1.1?

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

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

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

    @rPman
    Правильно - не заводить систему entity-value где ни попадя, у вас там действительно новые типы данных появляются и меняются каждый день?
    Храни значения как полагается - в таблицах и колонках

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

    если переделывать свою props_value не желаешь, добавь в эту табличку колонку с идентификатором карточки, тогда бакэнд сможет загрузить все необходимые значения сразу одним запросом, а уже в памяти из них можно быстро собрать все что угодно
    Ответ написан
    Комментировать
  • Как удаленно запустить Windows приложение из Linux?

    @rPman
    Осторожно с windows, оно внезапно по своему желанию может вместо включения, остановить запуск и показать картинку - 'купите нашу новую версию', а если будить из сна - загрузить обновление и самостоятельно перезагрузиться (хотя windows 10 вроде бы уже перестали этим маразмом маяться?).

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

    @rPman
    Совершенно бессмысленно серверу для такой задачи докупать оперативной памяти.
    win2016 server в качестве домен контроллера будет работать чуть ли не на 512мб, kaspersky sequrity потребует 1гб

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

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

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

    @rPman
    Если брата с linux нет а самому в linux ковыряться нет желания, то берешь установочный диск windows той версии что у тебя стоит (включая ревизию и битность, например если стоит home версия то не получится использовать ultimate для починки), загружайся в консоль восстановления и восстанавливай загрузочный раздел

    вернется брат он вернет и починит grub

    p.s. если чинить тебе - то livecd в руки, проверяй что файлы на месте и grub-install
    Ответ написан
    Комментировать
  • БД с возможностью синхронизации внутри локальной сети, если пропадает интернет?

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

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

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

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

    Вообще понятие 'конфликтное или неточное состояние' - нормальное, в разных системах это представляется по разному, например понятие 'черновик', или статус - принято/на рассмотрении, когда есть специальные люди, приводящие базу в консистентное состояние, и этот процесс непрерывный. Полноценная поддержка всех возможных конфликтов - мечта, так или иначе это реализуют поверх и удерживают способы в голове самих пользователей, ну к примеру в базе нет возможности указать что запись дубликат, на время пока этот дуп разруливается а его связи корректируются и переносятся на один объект, будущий удаляемый помечается как удаляемый через пометку в наименовании... т.е. база статуса на это не имеет но операторы друг с другом договариваются что такие объекты не использовать
    Ответ написан
  • Как запустить проект который написан на QT windows в Linux?

    @rPman
    в подавляющем большинстве случаев приложения windows, написанные с помощью opensource библиотек и слабо завязанные на майкрософтовские (т.е. только то что идет в поставке с ос, максимум нужна правильная версия visual studio redistributable), могут работать в windows с помощью wine, либо напрямую готовый бинарник либо собираться с ее помощью

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

    p.s. при использовании linux, а точнее адекватные дистрибутивы типа debian/ubuntu/... с поддерживаемыми репозитариями пакетов, уже содержат в своей поставке несколько версий qt и всего ее окружения, не понятно что у тебя там от куда не скачивается
    Ответ написан
    2 комментария
  • Возможен ли запуск Windows 7 на новых материнках?

    @rPman
    говорят с этим можно что то сделать но хз на сколько это надежно
    Ответ написан
    Комментировать
  • Как обойти ограничения по количеству TCP-подключений у интернет-провайдеров?

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

    Тебе же советую заниматься подобным с VPS-ок установленных в датацентре, либо с помощью VPN перенести выход своих подключений туда где провайдер таких ограничений не делает
    Ответ написан
    1 комментарий
  • Зачем у некоторых java программ имеется exe файл запускающий jar архив?

    @rPman
    В зависимости от того, как именно создан exe файл, а точнее какая именно версия java и как распространяется вместе с приложением.

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

    Так вот в java имеется официальный метод деплоя приложений без необходимости установки jre на машину (это начиналось с javafx packager и подхвачено почти всеми пакерами в т.ч. launch4j), а сама java прикладывается к приложению в виде пакета .dll (т.е. там нет ни одного exe-шника), в этом случае на машине клиента ничего не нужно настраивать и устанавливать и не требуется принимать никакие лицензии.

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

    Совершенно нормально, когда пользователь желает только согласиться с установкой программы (поверьте, были просьбы убрать даже окно подтверждения загрузки и установки от браузера, т.е. кликнул на сайте и все заработало, и запустилось и заколосилось), то, что это возможно не всегда буквально не дело пользователя, а проблемы, которые искусственно были созданы некомпетентностью разработчиков (например microsoft, до сих пор не создавших адекватной системы репозитариев, анально огороженный высер с их магазином даже рассматривать не стоит)
    Ответ написан
  • Debian и весь его траффик через proxy на другой VPS, реализуемо?

    @rPman
    гугли: transparent socks proxy iptables
    учти трафик пойдет только tcp, без пингов, udp и броадкастов
    Ответ написан
    Комментировать
  • Как настроить под windows подключение монитора вручную?

    @rPman
    Добавить кастомное разрешение можно в панели правления amd radeon settings, настройки монитора, плюсик снизу Custom resolution
    если в safe mode оно не запускается, то смотри в том меню где ты выбирал safe mode пункт - запустить в vga режиме.... добавив разрешение, оно должно сохраниться и после перезагрузки.

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