Задать вопрос
  • Как в строке найти любой первый непечатный символ средствами php?

    @rPman
    preg_replace (или если надо utf8 к примеру то mb_ereg_replace )
    примерно так
    preg_replace('/[^a-z0-9\n\r ,\.]/','',$str)

    в регулярке указываешь списком символы, которые надо оставить, символ ^ переворачивает список на 'все кроме указанных'
    Ответ написан
  • Есть ли ресурс, где можно анонимно перекидывать файлы друг другу без регистрации и без использования облака и других хранилищ?

    @rPman
    чем тебе mega.io не устраивает?

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

    @rPman
    в php готовых инструментов нет, может отдельно кто писал

    parse_ini_str мог бы разобрать такое но без поддержки массива item[x] так же нет поддержки вложенных полей xxx.yyy.zzz

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

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

    этот алгоритм заметно эффективнее просто тупого вычитания делителя, второй вариант еще более эффективный но потребляет память log(x)
    Ответ написан
    Комментировать
  • Как поставить браузер на старый аппарат?

    @rPman
    Можно попробовать установить не мобильный браузер (chroot, vnc) но будет много ручной работы и не самый удобный интерфейс (ориентированный на большие экраны и мышку а не палец) и не самая быстрая скорость но зато можно ставить почти любые Linux программы, последние

    тупо первые результаты из гугла:
    https://4pda.to/forum/index.php?showtopic=378043
    https://www.youtube.com/watch?v=lSId7rzybCk
    Ответ написан
    Комментировать
  • Как правильно раздать интернет с компьютера на sip-телефон?

    @rPman
    не понятно, откуда куда неидет пинг (телефон не видит интернет?) но есть альтернативный способ настройки

    объединить wifi и ethernet в сетевой мост, в этом случае интернет на устройствах, подключенных по кабелю будет настраиваться wifi роутером, так будто они сами подключены к нему напрямую, но теперь на каждое рабочее место понадобится по 2 ip адреса

    p.s. майкрософт windows коряво отрабатывает разрывы коннектов (например wifi переподключается), по крайней мере я помню косяки на windows 7, причем как nat так сетевой мост, но вдруг у вас сработает

    выглядит это так, если открыть 'центр управления сетями' -> 'изменение параметров адаптеров' адаптеров и там нажать f5 то вдруг внезапно все чинится до следующего раза
    Ответ написан
  • Как проще и правильнее перенести одну запись из бэкапа?

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

    посмотри pgdiff

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

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

    Понять без понимании логики твоего кода когда и что будет быстрее сложно, к примеру последовательное чтение и такая же последовательная запись по уму наиболее быстрая, а вот случайный доступ максимально не эффективный (на порядок).
    Ответ написан
    2 комментария
  • Как пользоваться ассемблером Intel для GPU?

    @rPman
    Если я верно понимаю начинать смотреть тут там же есть sdk для загрузки и opencl tool, не удивюсь если все необходимое там уже есть

    можно заглянуть сюда

    зы а вы с какой целью интересуетесь?
    Ответ написан
    Комментировать
  • Почему не выполняется пользовательская функция?

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

    @rPman
    dir?
    проверить является ли объект функцией - callable
    Ответ написан
    Комментировать
  • Что то типа аналога шарепоинта сколько будет стоить?

    @rPman
    А как именно используется sharepoint у вас?
    а то может как в классическом примере 'он запускает фотошоп только чтобы красные глаза у фотографий убрать'

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

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

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

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

    @rPman
    что в качестве хост системы используется? установлены ли там драйвера?

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

    @rPman
    Можно ли как-то это поправить? Или есть альтернатива может?

    WebWorker должен работать не зависимо от того, активная вкладка или нет
    Ответ написан
    Комментировать
  • Это слабые параметры ноута? Не тянет Mint xfce?

    @rPman
    диск Hdd сменил на ssd?

    современные браузеры уже фактически как операционная система, монструозные и тяжеловесные, первый запуск может легко потребовать сотни мегабайт с диска прочитать, а случайное чтение hdd от силы 10мб/сек

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

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

    upd: охх, мой косяк, я гуглил модель ноута и там выпал другой проц.
    железо топиккастера Single Thread Rating: 327 (современная норма выше 1000)
    однозначно процессор нереально слабый

    p.s. совет автору вопроса - загружай ролики с помощью youtube-dl или соответствующих плагинов к браузеру, и смотри плеером mpv, я так на eeepc900 делал (настроил горячие кнопки на запуск моего скрипта, который брал ссылку из буфера и запускал просмотр)
    Ответ написан
  • От чего компьютер сам просыпается?

    @rPman
    попробуй посмотреть это обсуждение

    я помню у себя с помощью powercfg /LASTWAKE определял устройство и отключал возможность пробуждения через него в его свойствах в device manager
    Ответ написан
  • Как грамотно сформировать БД пользователей?

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

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

    Поэтому у тебя должна быть таблица peoples и связи к ней musicans и listeners

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

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

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

    Есть в веб разработке понятие - статика. Исходит оно из того что отдавать не изменяющийся файл тупо быстрее/проще/эффективнее по ресурсам чем изменяющийся по какой то логике, и у веб серверов для этого есть отдельная настройка. Часть файлов веб сервера - статичны. И даже существуют веб сайты, которые полностью могут состоять из статичных файлов.

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

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

    Никто не мешает контент генерировать динамически и код стартовой страницы может выглядеть примерно так:
    <?php include date('d-m').'.html'; ?>где нужные страницы по дням лежат в файлах к примеру с именем вида 21-11.html

    можно попробовать совместить бонусы от статики, отдавая динамической страницей не саму страницу, а только редирект на ее статическое имя:
    <?php header('Location: http://www.example.com/'.date('d-m').'.html');?>
    тогда сразу в нужный момент времени при заходе на сайт будет автоматический редирект на нужную страницу, и при этом все будет быстро и красиво, но пользователям будет доступны страницы с предыдущих дней по их имени, и их придется как то скрывать, если это актуально (например средствами прав доступа или просто перемещая файлы в другой каталог отдельным скриптом, пусть и по крону)

    ну и вариант с кроном, когда файл index.html ежесуточно заменяется копией, команда в крон может быть примерно такой:
    cp /путь/до/исходных/файлов/`date +%m-%d`.html /путь/до/папки/веб/сервера/index.html
    Ответ написан
    5 комментариев
  • Как быстро находить сервера в сети?

    @rPman
    Пример попытки просканировать весь интернет лет десять назад, для этого потребовалось 10 месяцев и ботнет из 420 тысяч устройств.
    Ответ написан
    Комментировать