Задать вопрос
  • Регулярка JS на получение float числа из строки?

    @rPman
    /^([0-9]+)(\.[0-9]+)(e([+-])?([0-9])+)?$/i
    ^ и $, метасимволы начала и конца, гарантируют что вся строка соответствует регулярке а не какая то ее часть
    i в конце - опция игнорирования регистра для мантисы но можно задать в регулярке варианты и так
    Данная регулярка пример и разберет на части целую, дробную и мантису
    100
    100.001
    100.011e+12 (кстати формально неправильно целую часть при использовании мантисы делать больше 10 но все парсеры это обработают правильно)
    Ответ написан
    Комментировать
  • Компьютер полностью не отключается (вентиляторы продолжают работать), как исправить?

    @rPman
    Вопрос, что значит не выключается, выбираешь завершение работы и ничего не происходит? Или завершает работу и пишет на экране фразу 'теперь компьютер можно выключить'?

    Первое, что ты windows машина выключалась нормально, нужны драйвера, настоятельно рекомендую не надеяться на Майкрософт а брать драйвера с официального сайта производителя железа, а так же обновить bios от туда же, драйвера ставить после сброса, Биос однократно. Обязательно сбросить настройки Биоса хотя бы раз после обновления его.

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

    Третье, чтобы окончательно исключить проблемы именно с софтом, запустить машину с livecd linux, если и там не выключается то будет с чем идти в саппорт.
    Ответ написан
  • Откуда подтягивается имя файла и как его удалить?

    @rPman
    Посмотри в реестре, согласно документации история по уму хранится тут
    HKEY_CURRENT_USER
       Software
          Microsoft
             Windows
                CurrentVersion
                   Policies
                      Comdlg32
                         Placesbar
    Ответ написан
  • Как устроена технология, позволяющая смотреть видео вместе удаленно, вроде Watch2Gether или NotAlone?

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

    Сервер устанавливает соединение между клиентами (websocket через сервер или webrtc p2p напрямую) и по нему дублирует все команды, которые отправляет любой (или ведущий) пользователь своему видеоплееру. В простой реализации интерфейс видеоплеера скрывается а пользователю выдается посреднический интерфейс, но если нужно пользоваться интерфейсом браузера, то тогда придется отслеживать оперативно состояние плеера, играет он или в паузе и в какой позиции находится.... синхронизация между пользователями у видео будет гулять, возможно даже на секунды,.. не думаю что для данной задачи это критично... но если что можно подстраивая скорость воспроизведения (многие плееры это тоже позволяют) периодически догонять отстающих или наоборот притормаживать торопыг.. так как изменения скорости будут кратковременными и незначительные доли процента, их никто не заметит
    Ответ написан
    2 комментария
  • Почему PHP так работает?

    @rPman
    режим pm какой в настройках? если не static то количество текущих процессов веб сервера будут зависеть от нагрузки, полагаю которую он считает по завершению каждого запроса, в динамическом режиме сначала выбран 1 процесс, поэтому у тебя отрабатывает только один запрос остальным некем обрабатываться, после чего php-fpm понимает чтонагрузка высокая и поднимает количество потоков до max_children и остальные запросы обрабатываются паралельно
    Ответ написан
    2 комментария
  • Как хранить созданный чат-ботом файл в облаке?

    @rPman
    берешь облако, берешь его api в документации, там же можно найти примеры использования, используешь
    например популярный amazon s3 (его api предлагают уже не только amazon но к примеру яндекс или селектел), смотрим доку яндекс
    Ответ написан
    1 комментарий
  • Какой сервер используется в Ubuntu?

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

    собственно для расширения кругозора погугли что такое вебсервер однострочник
    Ответ написан
  • Как в JavaScript делать такие массивы?

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

    Например хранить можно список элементов в виде плоского массива, и в большинстве задач этого будет более чем достаточно

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

    Если нужна связь с элементами html dom то в соответствующие элементы добавляй либо сасылку на сам dom элемент либо на его уникальный id
    Ответ написан
    Комментировать
  • Как правильно сделать индексацию базы mysql?

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

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

    @rPman
    Наверное все уже забыли но xml это только часть комплекса технологий, и только та что отвечает за формат хранения данных.
    Вместе с xml был изобретен например язык шаблонов xslt (поддерживается всеми браузерами кстати), который позволяет выполнять кучу манипуляций с данными в xml, включая фильтрация (xpath от туда) сортировка, и т.п. и формировать неплохую динамическую страницу в браузере прямо средствами клиента без javascript!

    p.s. Язык сложный для чтения, громоздкий и считается устаревшим.
    Ответ написан
    Комментировать
  • Как по запросу что то сделать у пользователя?

    @rPman
    server (php) -> client (browser) коммуникации возможны следующими способами:
    1. правильный - с использованием javascript и технологии websocket, для этого тебе нужен websocket сервер (запущенный рядом на сервере или даже где угодно) либо модуль веб сервера, позволяющий php серверу отправлять короткие запросы типа такого но не рекомендую так схему выстраивать)
    2. устаревший но в принципе рабочий - технология long pooling, в браузере так же должен быть javascript, обычный веб сервер должен уметь отдавать клиенту по запросу (а скажи ка мне что ты хочешь) желаемую команду, с бесконечным (до таймаута и повтор) ожиданием события, т.е. клиент запрашивает у сервера - есть от тебя команды, и при получении - считает что сервер прислал ее, а сервер при запросе задерживает ответ, высылая для приличия в канал пустышки, например пробелы раз в минуту. Этот способ очень универсальный и заработает на старых браузерах, в которых нет поддержки websocket, так же серверная реализация очень проста.
    кстати javascript может запрашивать эту страницу в основном двумя способами - ajax (обобщенно так зовут способы отсылки запросов из javascript к серверу) и добавление тега script с нужным url, а веб сервер туда возвращает что то типа msgReceivedCallback(json...данные);
    3. для прикола - очень старый способ, когда в браузерах не было даже javascript, с помощью фреймов и тега
    <meta http-equiv="refresh" content="10;URL=http:/site.ru">
    можно контролировать автоматическое обновление частей страниц, а с помощью настроек кеширования в заголовках, веб сервер контролирует частоту реальных запросов (а так же изменение времени обновления в этом теге), я помню даже вебчаты в локалке на этой технологии.
    Ответ написан
    Комментировать
  • Насколько безопасны cookies?

    @rPman
    доверять чему? какую атакую боишься?

    cookies это файлы, буквально, на стороне клиента, сам клиент имеет к ним полный доступ, читать, удалять, изменять (подделывать), поэтому абстрактного ОТ ПОЛЬЗОВАТЕЛЯ защититься с помощью cookies не получится, но в некоторых случаях с помощью этой технологии и обфусикации можно создать сложности рядовому пользователю для этих действий.

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

    @rPman
    У тебя всего четыре варианта
    - штатная витуализация win8..10 (на основе hyper-v), скорее всего он на основе устаревшего virtualpc
    - qemu/kvm
    - virtualbox (кстати умеет использовать kvm и hyper-v)
    - vmware

    советую попробовать virtualbox и выбрать в нем kvm (я часто вижу странные затупы в гостевом windows при выборе дефолтного варианта)
    и еще, настоятельно рекомендую в гостевой системе установить драйвера (дополнения ОС, бесплатно загружаются с офф сайта) и тогда можно установить к примеру virtio устройства сети и дисков, заметно снижают нагрузку на процессор и ускоряют работу
    Ответ написан
  • При использовании проверок на $_POST выходит ошибка ключей из массива. Что у меня в коде не так?

    @rPman
    Я тебе подправил твой вопрос, ты тегами code не попал собственно в публикуемый текст

    По теме вопроса, у тебя на любое открытие страницы идет попытка доступа к $_POST[...] но при простом открытии этот массив пустой
    делай хотя бы так:
    $name =$_POST["username"]??"";
    этот ?? делает так:
    isset($_POST["username"])?$_POST["username"]:""
    и ошибки не будет, а неизвестное значение подставится как ""
    Ответ написан
    Комментировать
  • Можно ли оплатить сервер на Hetzner на неделю а не на месяц?

    @rPman
    Нет, если период тарификации установлен в месяц

    мало того, бывает все гораздо грустнее, обычно есть дата тарификации, начало периода, начиная с которого нужно проводить оплату сервера, и если ты оплатил сервер не в этот день, то получается ты заплатил за меньшее количество дней, вырожденный пример - billing date у тебя 1-ое число а ты 30-го решил настроить сервер.. так вот заплатишь ты за эти 1-2 суток как за полный период.

    p.s. посуточная или почасовая тарификация это обычно отдельный продукт, например 'облачные' услуги, когда машину тебе дают с оплатой по часам но использования (т.е. если машину остановить, то платить ты будешь только за хранение данных на диске и ip адрес (это может быть отдельной строкой в тарифе)
    Ответ написан
    2 комментария
  • AIOGRAM Как скачать фото от пользователя и дать фото уникальный id?

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

    достоинством будет - одинаковые файлы не будут дублироваться в твоем хранилище
    Ответ написан
    Комментировать
  • Как корректно обработать ошибки сервера средствами JavaScript (Возможно ли это)?

    @rPman
    Сообщения об ошибках должны быть видны разработчику в dev консоли, потому что ошибки должны быть обработаны не только с точки зрения кода но и владельца сервиса в целом!

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

    Каждая проигнорированная ошибка или даже варнинг - это потенциальный технический долг. Даже если ты сейчас знаешь и понимаешь что конкретная ошибка не проблема, через год/два ты или твой заместитель, пришедший на смену тебе, этого знать не будет... а так как ошибки имеют тенденцию накапливаться, решать их в будущем будет все сложнее и сложнее
    Ответ написан
    6 комментариев
  • PHP file_put_contents дописывает в файл или перезаписывает его?

    @rPman
    file_put_contents(... FILE_APPEND) дописывает содержимое в конец без пересоздания и перечитывания файла
    это просто упрощенная запись конструкции
    fopen(...,'a');fwrite(...);fclose(...);
    если FILE_APPEND не указывать, то используется режим типа w+ (существующие файлы обрезаются в 0 размер, не существующие ошибки не вызывают)
    p.s. важное замечание file_put_contents FILE_APPEND работает очень медленно, синхронизируя каждую запись с диском, я помню переписывал код на использование fopen/fwrite плюс там можно гибко задавать буфер записи

    upd. на самом деле там используется просто режим 'a' и 'c' и чуть больше проверок
    С интересом обнаружил по исходникам что file_put_contents умеет писать array, объединяя без разделителя значения и пропуская ключи.... век живи век учись, не знаю зачем но смешно
    Ответ написан
    2 комментария
  • Некорректная работа жосткого диска?

    @rPman
    Проверь раздел на диске на ошибки (свойства диска - обслуживание - проверка - исправить ошибки, для системного предложит перезагрузку)

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

    p.s. проблемный провод не мог повредить данные на диске! но могли быть ошибки во время копирования (случайно прекращается).
    Ответ написан
    Комментировать