Задать вопрос
  • Какое условие поставить при недосутпности адреса в curl?

    @rPman
    после вызова curl_exec сделай вызов curl_getinfo и проверь что именно тебе возвращает сервер, в частности CURLINFO_HTTP_CODE (или лучше CURLINFO_RESPONSE_CODE) ($info['http_code']) должен быть 200, если не так, то смотри
    CURLINFO_SSL_VERIFYRESULT (список кодов смотри в комментариях) и CURLINFO_PROXY_SSL_VERIFYRESULT если используется прокси
    смотри ответ CURLINFO_HTTP_CONNECTCODE, CURLINFO_OS_ERRNO
    CURLINFO_CONDITION_UNMET

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

    @rPman
    Да, если этот ключ - ключ шифрования, которым будет зашифрована вся критичная информация, которая хранится в браузере расширением.

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

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

    Расшифрованные данные и сам ключ шифрования не должны никуда записываться и должны храниться только в оперативной памяти.
    Ответ написан
    Комментировать
  • Можно ли осуществить продажу компонента через приватный репозиторий git?

    @rPman
    Можно конечно, но почему так сложно?
    Почему тут обязательно должен присутствовать github?
    Код компоненты можно отдать архивом.

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

    а можно попросить у покупателя доступ к его серверу и залить ему в его гит нужный код
    Ответ написан
    1 комментарий
  • Можно ли гарантированно защитить приложение от передачи данных при удаленном управлении устройством?

    @rPman
    для android.

    Запрет на доступ к изображения окна приложения это штатные права

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

    p.s. для ios та же ситуация с root но скорее всего усилий потребуется больше
    Ответ написан
    1 комментарий
  • Почему preg_match неправильно определяет позицию, если в строке есть диакритические знаки?

    @rPman
    попробуй mb_ereg_match вместо preg_match, так как он работает с байтами в строке а не мультибайтовыми как все mb_...
    Ответ написан
    Комментировать
  • Муки выбора ноутбука. Что взять?

    @rPman
    где ты нашел с nvidia 1650ti да и по такой цене?
    * msi gf63 thin 8ram i5-10500h, 1650ti 59тр

    за 60т.р.? если говорить про стоимости на единицу производительности то это лучший вариант из указанных тобой
    матовый экран!, 512m.2 ssd, норм дискретка (4gb ram? не могу найти в сети информации о таких конфигурациях, на будущее указывай полностью индекс ноута, так как первые буквы вообще ничего не говорят)

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

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

    @rPman
    Не советую изобретать свою систему, пользуйся готовым rsync, который может работать как по своему протоколу (рекомендуется, для этого на обоих сторонах запускается rsyncd) так и к примеру по ssh, так же штатно scp умеет копировать только изменившеися файлы по ssh, ничего дополнительно настраивать и устанавливать не надо.

    по теме, я пилил простенькую програмку, на сервере-источнике маленький php сервер, возвращающий список новых файлов (у меня было много серверов источников файлов, и один клиент, он запрашивал список с каждого, проверял наличие их локально и скачивал отсутствующие), а каталог с файлами расшарен как обычный каталог со статикой в веб сервере, файлы загружались с помощью wget (у него штатная поддержка докачки прерванных, но можно что-нибудь еще поискать)
    Ответ написан
    Комментировать
  • Как получить доступ к локальной сети извне если есть белый IP?

    @rPman
    пробрасываешь порт ssh на роутере (скорее всего называется nat - виртуальные сервера) до твоего linux сервера, все остальное можешь делать средствами ssh port forwarding (работает в обе стороны), мало того многие инструменты управления и удаленного администрирования в linux подразумевают что могут подключаться через ssh подключение.

    в довесок у ssh есть штатный vpn
    Ответ написан
    Комментировать
  • Хочу писать приложения под Win10, что учить?

    @rPman
    microsoft visual studio, среда разработки, фреймворк и пакет языков c# (плюс managed c плюс vb# и т.п.), мощный комбаин, которого по уму будет достаточно для создания приложения люббого типа, от клиент-серверных до десктопных и мбоильных

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

    Мое мнение, если у тебя цель, писать много формочек для работы с данными (базы данных например) или управление параметрами запуска других приложений , то лучше майкрософтовских winforms или wfp не найти.... очень легкий старт, очень много можно сделать из интерфейса с помощью мышки и готовых мастеров (например подключить базу данных, загрузить структуру таблиц, настроить связи с элементами интерфейса и максимум где будет код писаться - это обработка граничных случаев типа нули).
    Ответ написан
  • Как создать 3D игру не умея моделировать?

    @rPman
    варианты:

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

    p.s. есть игры в принципе без графики и персонажей, логические аркады, для 3d это тоже реально но чтобы было красиво все равно придется потрудиться (шейдеры красивые писать)
    Ответ написан
  • Как конвертировать строку содержащую uint64 число в hex значение на PHP?

    @rPman
    поправил ответ:

    чтобы преобразовать в hex нужно использовать bin2hex (dechex не подойдет, но не умеет нулями дополнять слева), pack в формате big indean, а ограничение целого числа (так как числа знаковые в php) решить используя bcmath, подлелить на 0x100000000 и взять остаток для левой и правой части результата соответственно
    upd:
    $val='9223372036854775808';
    echo bin2hex(pack('N',bcdiv($val,0x100000000,0))).bin2hex(pack('N',bcmod($val,0x100000000,0)));
    Ответ написан
  • Можно ли в postgres записывать данные на время?

    @rPman
    для такой задачи в базу данных записывают не boolean, а время на момент записи, а в select запросе делают
    select now()-start_time<=3 часа from ....
    Ответ написан
    Комментировать
  • Зачем добиваться получения 4-х нулей в хеше для блока?

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

    p.s. не 4 а нужное количество
    Ответ написан
    2 комментария
  • Какую ОС выбрать для запуска VirtualBox на 5-10 машин?

    @rPman
    linux само собой
    мало того в 99% случаев даже виртаулизация не потребуется, так как возможностей и вариантов для этой ОС заметно больше.

    Зачем тебе нужны виртуальные машины для запуска chrome? если нужно чтобы все запущенные приложения были активными, достаточно запустить много виртуальных xserver xvfb и подключаться к ним по необходимости с помощью vnc, а еще есть xephyr, версия полноценного xserver, запускаемого внутри указанного окна.

    p.s. firefox работает вне зависимости активна вкладка или нет
    Ответ написан
    2 комментария
  • Почему нет нужного разрешения монитора (windows 10)?

    @rPman
    попробуй эту прогу, позволяет редактровать список разрешений прямо в мониторе
    Ответ написан
    Комментировать
  • Как перевести ПК в спящий режим при получении сигнала по USB?

    @rPman
    дешевле всего купить ИПБ с портом USB
    так как остальные варианты крутятся вокруг самодельного/на заказ устройства, детектирующего наличие отсутствия питания в сети 220 и соответственно сигнализирующего об этом по usb

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

    реле подключается к блоку питания, а земля и один из портов данных lpt через резистор подключаются к контактам реле (пока замкнуто реле, сигнал по lpt пойдет - это единичка, разомкнул - ноль), софт читает файл lpt и смотрит как только там не 1 в нужном бите, ждать таймаут и если все еще ноль - вызывать shutdown /h
    Ответ написан
  • Как использовать компьютер на Win10 как второй монитор без wifi?

    @rPman
    Штатно по сети передавать именно монитор софта для windows нет, но решить проблему можно скорее всего железным способом:
    * слышал но не нашел сетевые карты miracast wlan,
    * так же есть энкодеры экрана (dvi/vga video encoder), подключаются к выходу видеокарты как монитор и транслируют картинку по сети (выделенный ethernet кабель, до 200 метров)

    upd: софтварно, все будет крутиться вокруг vnc/anydesk/teamviewer или к примеру steam remote play (у них технология заточена на игры а не текст и главное умеет использовать gpu энкодер)
    Ответ написан
  • Что делать, если невозможно выполнить действия с файлами через проводник?

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

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

    @rPman
    на php анализ логов будет очень медленным, я переписывал на c++ и получал до 10крат ускорение (можно и больше, все зависит от логики анализа, а при использовании clang llvm еще 2х, например парсинг json ускоряется буквально на глазах, пока llvm собирает статистику исполнения), у тебя основная нагрузка именно тут.

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

    pigz -dkc dump.log.gz | grep -e 'регулярное выражение' | программа_анализирующая_итоговые_строки

    тут дополнительно gzip заменен на pigz, можно скачать для windows даст кратно ускорение на распаковку за счет многопоточности.

    upd: замени gzip на zstd, вот уж где ускорение получишь, и бонусом еще несколько процентов уменьшения размера архивов.
    Ответ написан
    4 комментария