Задать вопрос
  • Какой тип базы данных использовать при большом объеме информации и высокой скорости её записи/чтения?

    @rPman
    В вашей задаче все определит какой именно нужно делать анализ
    Съем показаний, их запись и простой анализ должны происходить за 1 секунду.


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

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

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

    P.s. и кстати, не важно какая база данных хоть файлы, все решить алгоритм анализа
    Ответ написан
  • ПК с двумя сетевыми картами не работает RDP на второй сети, как решить?

    @rPman
    Не серверные ревизии не позволяют одновременное удаленное подключение по rdp.

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

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

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

    @rPman
    Я нагуглил инструкцию, что с помощью acronis disk director надо преобразовать динамический диск в базовый
    и этой кривой инструкцией ты уничтожил данные на диске, для восстановления потребуется больше сил

    Если тебе дороги данные, неси в сервис
    Ответ написан
    Комментировать
  • Как сделать так, чтобы математический знак + не был функцией?

    @rPman
    В c++ существует способ переопределить поведение операторов для своих классов, такие операторы как ++ и -- это unary операторы (могут располагаться как перед оператором так и после с различным поведением) но невозможно изменить ситуации как именно + и - могут быть унарными, так как из размещение в режиме unary допускается только перед переменной.
    // можно
    выражение++
    // но нельзя
    выражение+
    // можно
    +выражение


    чтобы переопределить унарный + нужно написать
    MyClass operator+()
    {
      // выполнить действия с this
      return MyClass(value);
    }


    На сколько я знаю твой код (nujno==+) никак нельзя сделать валидным (препроцессор кстати тоже не позволит переопределить поведение +), да и == - бинарный оператор (нет варианта с его одинарным использованием)
    Ответ написан
    Комментировать
  • Какой самый лучший способ передать информацию между формами?

    @rPman
    Где то должна лежать доступной для формы-источника ссылка на форму получателя.

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

    Иначе, оформлять сам процесс коммуникаций в виде отдельного класса (а там в зависимости от цели организации этого посредника, либо по классу на вид коммуникаций либо общий для всех сообщений и способов выбора от кого и кому)
    Ответ написан
  • Можно ли дать возможность user с nologin shell исполнять определенную команду?

    @rPman
    sudo -i -u user_name команда
    данная команда запустит команду от нужного пользователя без процесса авторизации
    соответственно запихни ее в скрипт, разреши запускать данный скрипт через sudo (да получается каскадно 2 sudo) другому пользователю, которому разрешен логин через ssh
    Ответ написан
  • Как при действии назад перезаписать запись в стеке истории?

    @rPman
    Можно исключить историю в принципе сделав SPA (single page application) а переходы внутри приложения это изменения содержимого страницы (как вариант, страницы сайта это части этой единой страницы, но сокрытые стилями display:none, текущая часть сайта просто устанавливается видимой)

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

    Не надо так ломать пользовательский опыт, не делайте так. Многие при создании SPA подхода мучаются чтобы история все же была (через anchor навигацию url#id)
    Ответ написан
    Комментировать
  • Влияет ли качество копирования файлов после падения смартфона?

    @rPman
    Файл либо будет скопирован либо процесс копирования остановится с ошибкой (или даже не начнется)

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

    @rPman
    Не пользоваться wsl2, и настроить полноценную виртуальную машину, с помощью хоть того же hyperw.

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

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

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

    Поврежденный при доставке пакет даже не будет пытаться установиться, там цифровая подпись и проверка корректности данных.

    И самое главное, чтобы легко и непринужденно восстанавливать систему после каких-то сбоев, пользуйся резервным копированием. Для высокой скорости резервного копирования (чтобы копировались только измененные данные без сканирования диска) рекомендую использовать снапшоты файловой системы btrfs
    Ответ написан
  • Альтернативный gnu linux для steam deck?

    @rPman
    Дистрибутивы linux никто не оптимизирует для запуска игр... это проблема приложений и наличия драйверов на видеокарту.

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

    Мне кажется лучший лянчер для этого - lutris и он есть подо все популярные дистрибутивы, он же предложит тебе установить на выбор ранер (wine/proton/steam/...) причем нескольких версий, предложит поиск по готовой базе скриптов настройки из lutris, в догонку поддерживает epic games/gog/origin/ubisoft/steam

    p.s. Всем кто изучает linux и просто начинающим я настоятельно рекомендую дистрибутивы семейства ubuntu (не debian) - это собственно любой ?buntu или к примеру mint.
    Ответ написан
    Комментировать
  • Внешний SSD на 1 тб за 800р на али. В чём подвох?

    @rPman
    Терабайтовый ssd накопитель можно найти от 3т.р. (все что дешевле - фейк)
    он будет действительно терабайтовым но:
    * очень ненадежным, т.е. высокая вероятность выхода из строя (контроллер) с потерей данны в течении года
    * заявленный официально низкий предел количества записей, т.е. легко приобрести накопитель с пределом в 200тб - это мало (я поигравшись с нейронками llama легко потратил пару сотен терабайт за неделю, там туда сюда файлы сотнями гигабайт перекидывать приходилось)
    по окончании этого лимита накопитель встает в режим только для чтения, данные можно прочитать
    * будет очень медленный на запись - все потребительские накопители, благодаря многоуровневым чипам памяти имеют особенность - пока пользователь на максимальной скорости пишет некоторый процент (33% для 3-битного, или 25% для 4-битного) от свободного места в лучшем (в реальности от еще меньшего пространства, в зависимости от фрагментации как файловой системы так и внутри накопителя) то все будет быстро, но по окончании этого места, скорость падает в несколько раз (буквально до десятка мегабайт/с), в это время накопитель фоном пытается раскидать сохраненные данные по накопителю так чтобы снова освободить быстрые для записи области.
    Так вот кривой контроллер, дешевые чипы памяти - делают этот процесс долгим и медленным.

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

    p.s. nvme pci накопители имеют бонус к цене, так как контроллер у них по проще (его функции перекладывают на процессор и память компьютера) а скорость заметно выше, с той же ценой и характеристиками sata вариантов.
    Ответ написан
    Комментировать
  • Как быстро распарсить много json файлов на python?

    @rPman
    Если узкое место - разбор огромного json, то тебе нужен потоковый парсер, их огромное количество, гугл для питона выдает к пример ijson.

    Если этого будет мало, попробуй переписать это место на c/c++, там еще быстрее парсеры, например simdjson обещает гигабайты в секунду (и это реально так)

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

    @rPman
    intVal или floatVal автоматически преобразуют число в начале строки, проигнорировав все остальные символы а так же отсутствие числа в принципе (вернет 0).
    Ответ написан
    1 комментарий
  • Обновление свои android приложения централизовано, как?

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

    Гугл говорит что кто то уже такое запилил (типа AAAD) сам не пробовал но что то говорит что если вы android разработчики, создать такое же вам не будет сложно.

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

    Так делать не надо, но сам факт такой возможности упомянуть нужно
    Ответ написан
  • Как узнать время выполнения работы функций и детализацию?

    @rPman
    Это называется профилирование, гуглить python profilers
    например cprofile
    https://habr.com/ru/companies/vk/articles/202832/
    Ответ написан
    Комментировать
  • Как выйти из цикла в другой функции?

    @rPman
    в 3.5 версии python завезли async/await

    и вообще избавляйся от синхронных вызовов и переделывай все на асинхронные
    Ответ написан
    Комментировать
  • Помoгите с выбором проца и видяхи для фото/видео/3D?

    @rPman
    В современных реалиях, начальная видеокарта может быть минимум nvidia gtx 3060 12gb vram с ценой порядка 32..35т.р.

    Это младшее решение без современных технологий геймдева (сомнительных если что) но:
    * позволит играть на высоких (не ультра) настройках FullHD все игры (порядка 40-60fps по просадкам)
    * 12gb vram позволит играть с нейронками типа stable diffusion (в т.ч. генерация видео), когда как 8gb (типовой конфиг mid-end) это на грани (6gb минимальные требования но к примеру генерацию видео уже не тянет)
    * соотношение цена-качества в россии имеет заметный перекос именно на этой видяхе

    Но нужно помнить это младшая линейка и устаревшая модель, с ней не получится расслабиться в 4k или 120fps, т.е. рабочая лошадка которая имеет смысл если не хватает на топовые модели (там надо от 70т.р.)

    В мир AMD можно найти по лучше и подешевле, но будет поставлен крест на нейронках, плюс все еще возможны проблемы с CAD софтом (у тебя заявлено требование 3d моделирования, мало ли в какой программе)
    Ответ написан
  • Зачем задавать ip интерфейсу?

    @rPman
    * ip адрес можно задать только интерфейсу
    * таких адресов на интерфейсе может быть от 0 до нескольких
    * на хосте инерфейсов может быть несколько
    формально можно одинаковые ip адреса на разных интерфейсах, это по умолчанию работать не будет но есть свои нюансы где это можно использовать

    У хоста может быть имя (dns, т.е. имя = ip адрес) и там еще netbios маячит майкрософтовский (по уму оно может работать без tcp/ip в пределах локальной сети но что то мне говорит это уже не так со времен winxp или даже win9x).

    Теперь к вопросу зачем задавать ip адрес - чтобы до машины можно было бы в принципе достучаться. Весь tcp/ip говорит что сервис на машине слушает соответствующий ip адрес и порт, нет адреса нечего слушать.

    p.s. Если ip адрес не задавать, такую сеть все равно можно использовать, например если два или больше интерфейса объединить в сетевой мост, формально достучаться до хоста можно будет по mac адресу (не tcp/ip) а так же специальным по можно мониторить пакеты, проходящие через мост.

    p.p.s. еще есть броадкасты, их в tcp/ip рассылают всей локальной сети скопом, для получения таких пакетов ip адрес тоже по уму не нужен, но софт на машине должен мониторить интерфейс особым образом (плюс если в сети есть свитчи, они могут собирать информацию о том какие машины с какими mac адресами в каких локальных сетях сидят и оптимизировать трафик, чтобы зря не слать тем кому не следует).
    Ответ написан
    7 комментариев
  • Как заблокировать возможность делать скриншоты на моем сайте или хотя бы по нажатию на PrtScn возвращать серую картинку вместо изображение сайта?

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

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

    p.s. правильно тебе говорят, что если что то ты видишь глазами, значит ты это можешь сфотографировать, записать и проанализировать.

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