Задать вопрос
  • Как создать хранилище с raid 1?

    @rPman
    raid бывают разные, под разные задачи. И да, резервировать данные можно и без raid, например простым копированием.

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

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

    Теперь как - не важно, постоянно включен у тебя массив или эпизодически, делать его можно одинаково. Либо с помощью аппаратного контроллера (или целого nas или устройства в компютер raid controller), либо с помощью програмной настройки ОС

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

    В linux есть mdadm либо специализированные файловые системы типа btrfs или zfs.

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

    p.s. постоянное включение/выключение hdd вредит ему сильнее чем постоянная работа.
    Ответ написан
    2 комментария
  • Как правильно документировать разрастающуюся БД?

    @rPman
    Описывай все
    Очень хороший тон писать самодокументируемый код, среды разработки и всякие doxygen для обычных языков программирования, и хоть как то описывай базу данных, комментарии, правильное именование и само собой документация. Недостаточно сказать что вот тут лежат записи таких то объектов, опиши их отношения, количественные и не только ограничения, порядок участия в бизнеспроцессах и т.п.
    Ответ написан
    4 комментария
  • Как максимально сжать файлы в архиве?

    @rPman
    Уже сжатые изображения можно уменьшить только за счет понижения качества.

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


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

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

    p.s. еще есть \b - граница слова, любая буква \w тогда регулярка /\b\w\b/
    Ответ написан
    5 комментариев
  • Как получать динамические значения из таблицы Excel через php?

    @rPman
    excel таблица залитая на google docs

    минимум 100 запросов в секунду

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

    Если убрать из списка google, то можно самостоятельно хостить headless excel (майкрософтовский офис, приложение на чем угодно, работа с activex из того же .asp) либо libreoffice, вот пример на питоне но идею я надеюсь ты понял...

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

    @rPman
    firefox, приватная вкладка, вид для ПК, оригинальный youtube работает при заблокированном устройстве (иногда требуется сменить вкладку на другую перед блокировкой, закономерности не выявил).

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

    ну и https://wiki.mozilla.org/Mobile/GeckoView
    Ответ написан
    Комментировать
  • VPN на исходящем траффике в VPS?

    @rPman
    При наличии клиента под ОС, используемую на vpn это возможно
    Но нужно помнить что бездарности, да даже начиная с opera и google chrome, запутали народ, называя обычные прокси - vpn.

    Нужно четко понимать что за технология стоит в основе используемого vpn. Например, если для подключения провайдер vpn тебе представляет .ovpn файл, значит это openvpn, он прекрасно работает как служба на сервере как клиент и как сервер. Просто подсовываешь ему этот конфиг файл, у меня так два vpn подключения подключались с одной машины (она как сервер) за nat к двум другим (а это клиентские машины, выключались), полученные подключения объединялись в сетевой мост, т.е. все три машины получали свою локальную сеть.
    Ответ написан
    Комментировать
  • Каждые 10 сек. сайт должен получать цены с 11 бирж, но этих бирж станет больше, как распределять нагрузку?

    @rPman
    10секунд * сотни бирж - с этим справится любой асинхронный движок работы с http... если нет, меняй инструмент.

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

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

    Очень мало какие биржи позволят делать часто запросы, обычно там лимиты. И если тебе нужно мало валютных пар, это подойдет, но для бОльшего количества валютных пар часто для каждой нужно делать отдельный запрос, и получается что для биржи ихз будет десятки-сотни, получается значительная задержка по сбору информации для каждой конкретной валюты. Для бирж, у которых есть потоковые протоколы (для криптовалютных обычно на websocket) советую для них реализовать загрузку на нем. Форматы там у каждой биржи свои но зато оперативность получения информации - максимальная. Не нужно тратить своих ресурсов на анализ данных, не нужно долбить биржу постоянными запросами, ты получаешь информацию в тот момент, как событие произошло на бирже. Только таким способом к примеру можно собирать стаканы лимитных ордеров со всей биржи (на топовых биржах это гигабайты json в сутки).
    Ответ написан
    Комментировать
  • Флешки на 128гб работают везде?

    @rPman
    Если телек на linux и версии новее 2.6 кажется (это до 2010 года), то проблем с флешками с аппаратной точки зрения не должно быть (нет там вроде никаких проблем). Я читал что народ не мог завести в win98/me флешки при наличи usb контроллера но там речь шла про отсутствие драйверов. Важно - какая файловая система.

    Linux ext3 без проблем может быть создан на 32-терабайтных дисках.

    А вот у fat32 есть проблемы, начинаются с 64гб. gui windows уже не даст, нужно в командной строке форматировать (или это уже тоже запретили). Формально при использовании кластера в 32кб можно делать том 2тб. Такие диски могут не читаться в устройствах не на основе linux (например были плееры с прошивкой не на linux, лежит у меня такой куплен в 2005-ом кажется).

    exFAT не рекомендую использовать, старые плееры его точно не поймут. Если бы майкрософт не делала патент на свою fs ей была бы вера (так как ранее они стригли миллиарды с производителей за использование fat32 с длинными именами) поэтому производители дешевых железок тупо забивают на него и правильно делают.
    Ответ написан
  • Почему отказались от оператора GoTo в высокоуровневых языках?

    @rPman
    'Как хорошо' что в php остался goto, использовал его пару раз в жизни, для экстренного выхода из вложенных циклов. Это наверное единственный случай, где его использование оправдано и синтаксически и с точки зрения производительности.

    В других случаях читать код с goto отвратительно сложно. И да, можно придумать кучу случаев, когда для оптимизации, чтобы не городить переменные состояний и не вставлять миллионы лишних if-ов, можно подумать что goto полезен, но все равно, такой код потом мало кто поймет.

    p.s. тут народ простые switch case с пропуском break боится, типа путаются,..
    причина всего этого упрощения очень проста - людям хочется решать задачу с наименьшими усилиями, а за понижение производительности заплатим железом и энергией... пока не упремся в потолок, это будет продолжаться естественным образом
    Ответ написан
    Комментировать
  • Как заблокировать сайты в локальной сети по белому списку?

    @rPman
    Можно отключить в настройках машин default route или прописать неправильный (это можно сделать настройками роутера, если он это позволяет, так как обычно роутер автоматически себя раздает как default route по dhcp), это можно сделать и вручную или скриптом, используя route, что то типа
    route delete 0.0.0.0 mask 0.0.0.0 ip_адрес_шлюза
    route add 0.0.0.0 mask 0.0.0.0 ip_адрес_шлюза
    но удаление не сохраняется в реестре, т.е. делать это скриптом при старте.. проще изменить роутер на неправильный, настроив ip адрес статическим (да знаю криво, но в win10 мне кажется уже нельзя, в win7 я помню скриптами это делал без проблем при включенном dhcp)

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

    а затем накидать ip адреса из белого списка, прописав для них правильный шлюз
    route /p add ip_адрес_сайта_в_интернете mask 255.255.255.255 ip_адрес_правильного_шлюза

    можно вместо маски указать другую, чтобы добавить в белый список целую подсеть.
    вместо ip адреса сайта можно использовать его доменное имя, оно будет разименовано в ip адрес в момент выполнения команды.
    ключ /p позволяет выполнить эту команду однократно, она будет сохранена в реестре (это работает только для route add) но лучше запускать этот скрипт при включении компьютера без использования /p и обновлять его централизованно или даже хранить где то в сети

    Но помним, что крупные сайты могут иметь гуляющий ip адрес для баллансировки нагрузки на уровне dns, в общем создавать белый список нужно тщательно
    Ответ написан
    Комментировать
  • Windows файловые системы с проверкой целостности для raid?

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

    Хз как тот проект zfsin я про него впервые слышу, а так да zfs и btrfs это две файловые системы из *nix-like систем (solaris и linux соответственно) которые умеют raid функционал на файловом уровне. Не советую использовать это в windows.
    Ответ написан
  • Можно ли обновить виндовс без перезагрузки?

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

    Советую найти причину почему у тебя 'выбивает в биос'. Например настроить в нем в секции boot с какого диска загружаться.

    Если из-за каких-либо аппаратных причин, биос настроен по умолчанию, вполне возможно что наличие загрузочного диска в cdrom (с usb флешками скорее всего так не получится но есть мизерный шанс с картой памяти в картридере у ноутбуков) заставит машину без подтверждения загружаться с него. В этом случае можно на cdrom/карту памяти установить grub с единственным пунктом меню - загрузка windows.
    Ответ написан
    Комментировать
  • Как подключить к WIFI 2,4Ггц. дополнительные устройства, при достигнутом лимите количества подключений?

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

    p.s. 130 устройств? они именно подключены и принимают подключения?

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

    помню был еще стандарт ad-hoc (или wifi direct) в этом режиме роутер не нужен (ну или он будет одним из p2p клиентов), суммарная скорость 2мбита, точно читал что есть новый стандарт на p2p для 5hz с большими скоростями, по уму там ограничений не должно быть но и security там никакая
    Ответ написан
    Комментировать
  • Настраиваемая WiFi кнопка?

    @rPman
    'Любой' БУ смартфон, перепрошиваешь на открытую прошивку (чтобы не тупил и не тормозил, наличие таких прошивок и определяет выбор) пишешь примитивное приложение и пользуешься.

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

    @rPman
    Может попробовать решить изначальную проблему? ограничив ресурсы виртуальным машинам и раздать приоритеты?
    https://ivirt-it.ru/lxc-linux-containers-resources...
    Ответ написан
    1 комментарий
  • Как убрать задержку в WebSockets?

    @rPman
    Это не вебсокет вносит задержки, а телеграм. Задержки в рассылке сообщений клиентам у него доходят до нескольких минут, это не исправить, клиенты должны сами подключаться к тому же серверу что и бот, управлять этим невозможно.
    Ответ написан
    Комментировать
  • Как усановить php-curl?

    @rPman
    Официальная поддержка уже закончилась, и официальные ppa так же свернулись, но можно поискать неофициальные. Я не прбовал, это первое что нашел гугл на запрос 'ppa bionic php 8.1'

    https://launchpad.net/~sergey-dryabzhinsky/+archiv...

    p.s. я надеюсь ты осознаешь, какие проблемы у тебя от использования такой старой версии linux?

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

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

    Первое - убирай разгон.
    Добавь напряжения по питанию памяти, с осторожностью, такие манипуляции имеют риск повреждения железа, с потерей гарантии.
    Блок питания, первый на тесты, если он работал на грани, то постепенно деградируют электролитические конденсаторы.
    Убери видеокарту, замени на что-нибудь слабое, так пламень что это возможно именно блок питания.
    Отключи dual channel для памяти.
    Ответ написан
    Комментировать
  • Как генерировать файлы и записывать в них информацию в цикле?

    @rPman
    open в качестве первого параметра принимает имя файла, сейчас у тебя там строка константа, замени ее на код, который будет формировать имя файла, например из чисел x1...x5, соответственно передавай эти числа в функцию, в которой этот open вызывается
    Ответ написан