Задать вопрос
  • Как назначить варианты входящих типов в php?

    @rPman
    Почему не работает? все работает
    но осторожно в php все базовые типы могут быть строками, т.е. числа и boolean
    Ответ написан
    4 комментария
  • Реален ли риск взлома сайта?

    @rPman
    Есть относительно универсальный вектор защиты своего веб-хостинга (да и наверное всего)
    - это read only хранилище везде где можно (в догонку флаг noexec в маунте диска)
    - цифровые подписи файлов
    к сожалению php ограничен функционал в этом направлении и поддерживает цифровую подпись только у phar сборок, переделать проект на их использование может оказаться не просто (но не невозможно, в некоторых случаях и вовсе автоматом все будет)
    - максимально кастриарованное окружение (спасибо docker часто это так и есть) но все же, для работы сайта может совсем не нужны 99% утилит которые установлены в системе, которые мог бы использовать злоумышленник для запуска своего кода (грубый пример, ты запретил запускать неподписанный код, убил bash но злоумышленник использует awk)
    - разделяй на модули все, база данных отдельно от бакэнда, бакэнд отдельно от статичных веб файлов веб сервера и т.п.
    спасибо докер народ стал этим пользоваться не задумываясь
    - отключай интернет, там где он не нужен, буквально, никакого доступа в интернет бакэнду и веб сервисам не требуется, закрывай все фаерволом или даже отдельными сетями
    - нестандартное окружение, даже не так - раздавай фейки, метки версий утилит, отдаваемых как либо в паблик пусть будут неправильными
    пример - у тебя linux nginx, а ты в заголовках говори что ты windows apache, у тебя последняя версия wordpress, а ты возвращай версию от 2008 года и т.п. автоматические средства анализа хакеров могут на этом споткнуться, понятно что эта защита не идеальная но сильно уменьшает вероятность успешного обнаружения у тебя дыр.
    - мониторинг всего нестандартного, процессы с необычными именами и командными строками, добавь ловушку песочницу, как только код злоумышленника в нее попадет - сигнал или даже остановка сервиса и ручные разбирательства

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

    @rPman
    без javascript редирект делают с помощью тега meta
    <meta http-equiv="refresh" content="2;URL=https:/site.ru">


    тут 2 - количество секунд перед редиректом
    Ответ написан
    1 комментарий
  • Как сделать зеркальный VPS в другой стране?

    @rPman
    именно так и делают - sql базы данных настраивают на репликацию master-master, файлы так же придется синхронизировать (есть кластерные файловые системы делающие это на автомате)

    в догонку выдачу идентификаторов новых объектов делают с оглядкой на ноду этого кластера (тупой пример - сиквенс стартует не с 1 а с номера ноды, и увеличивается не на +1 а на +N где N максимальное количество нод (с запасом), таким образом каждая нода может гарантированно выдать уникальный номер, без оглядки на соседние
    Ответ написан
    Комментировать
  • Какой текстовый редактор умеет работать с файлами до 5Гб?

    @rPman
    Самописное приложение на любом языке программирования, который тебе известен.

    Можно само собой пользоваться готовыми утилитами типа sed (регулярными выражениями) и awk (это вообще специализированный древний язык работы с потоками данных)
    Ответ написан
    Комментировать
  • Почему после начала переноса системы на SSD пропадет инициализированный диск?

    @rPman
    с высокой вероятностью это аппаратные проблемы
    если данные дороги, неси в специализированный сервис

    p.s. можешь попробовать сменить контроллер (другой компьютер или внешний контроллер, ну хотя бы в другой разъем воткни диск) и sata data кабель (кабели, внезапно, вообще часто бывают причиной проблем)
    Ответ написан
    Комментировать
  • Как преобразовать float(2.86E-6) в float(0.0000286)?

    @rPman
    Ответ написан
    Комментировать
  • Как обновить FFmpeg на CentOS 7?

    @rPman
    эти подойдут?
    Ответ написан
    Комментировать
  • Какой язык выбрать для реализации мини CRM аналог ексель?

    @rPman
    Правильно с точки зрения архитектуры, но не просто для разработчика - да, браузерное веб приложение, много javascript кодинга. Можно погуглить готовые решения, точно видел excel like javascript с поддержкой формул но на сколько это сэкономит время хз.

    Не правильно - выбрать другой, более удобный язык для написания приложений баз данных, мне понравилась Microsoft Visual Studio и .net framework, инструменты работы с базой данных и генерации кода (DataSet, DataBinding,... DataGridView) интерфейс к базе данных клепается щелчками мышки (по крайней мере так было когда вышла 2013 версия и может позже, сейчас среда стала монструознее и глючнее, но наверняка не менее удобной), я мало работал с их штатным механизмом создания веб приложений (наверняка там все будет хорошо завязано на майкрософтовские продукты) если все ок то этот вариант может оказаться даже верным.
    Ответ написан
    Комментировать
  • Как получать сообщения из больших Telegram-каналов?

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

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

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

    2 вариант - свести все разнообразие используемых языков программирования к одному (например байткоду), и использовать общий фреймворк, если это позволено, такое есть как для java jvm, так и для .net clr (c#, cpp#, vb#, python#,...) или более современно и предпочтительнее (быстрее, больше возможностей и прочее но и сложнее) - llvm, правда с общим фреймворком будет сложнее.
    В этом варианте код плагинов скорее всего должен будет подгружаться в рантайме используя идеологию dinamic link library, но не обязательно.

    Интересным вариантом может быть линковка во время сборки проекта (не во время выполнения, т.е. потребуется перезапуск, в подавляющем больинстве случаев загрузка плагина на лету не требуется, dll чаще используется как инструмент организации хранения и распространения), отличным примером являются объектные файлы компиляции c/c++ компилятора (на самом деле есть компиляторы и для других языков, даже python с помощью nuitka переводится в c++) и уже на месте с нужной конфигурацией все они собираются линкером в один запускаемый бинарник, и при этом исходные коды не распространяются а процес сборки проходит достаточно быстро (он понадобится при смене конфигурации плагинов или обновлении версии какого либо одного из списка)
    Ответ написан
    4 комментария
  • Как сделать гравитацию между большим количеством объектов на JS?

    @rPman
    Гравитационная задача N тел, лучше на английском

    разобравшись с математикой, реализуй сначала на javascript а потом подумай как бы использовать webgl шейдеры для gpgpu (когда то была реализация opencl, называлась webcl, очень жаль что ее все браузеры забросили) так как ресурсов процессора на это не хватит

    p.s. для задач игровых может хватить простого сложения векторов скоростей гравитационного влияния каждого тела на каждое тело умноженных на очень маленький временной интервал, чем меньше интервал тем точнее будет симуляция (но она по любому будет не точной), трудоемкость m*n^2 где где m - количество этих временных интервалов в секунде а n - количество объектов
    Ответ написан
    Комментировать
  • Что из железа сильнее всего влияет на скорость сайтов?

    @rPman
    Железо до 2010 года (если оно не было топовым) может не потянуть youtube видео, не хватит процессора, проверял (веб клиент на загрузку контента, не на декодирование, тратил все ресурсы). Притом что само видео в формате 480p и даже 720p отдельным плеером смотреть было можно.

    Оперативная память до опеделенного момента важна именно своим объемом, настоятельно рекомендую минимум 4Гб. Я тюнил машину 2007г (asus eeepc900) с 1Гб ram, ставил кастомную сборку linux (awesome de + gentoo = 54мб ram на систему, все остальное браузеру, ubuntu при таком раскладе кушала порядка 250мб), в принципе работать с 1 страницей в firefox (он лучше с оперативной памятью работает) можно было, обязательно отключение рекламы,.. хотя это спорно, на ее отключение тоже тратятся ресурсы.

    В этом случае если оперативной памяти хватает, первым местом для требования - процессор, его кастастрофически не будет хватать, выбор ddr2 или ddr3 очевиден - второе (так как машины того времени по скорости сильно зависели от оперативной памяти), по скорости результат очень сильно отличается, я очень долго (эта машина все еще работает, на ней ребенок играет в не самые старые игры) сидел на машине с dd3 2013г (amd fx 6100), и даже когда я встроенную видеокарту использовал для теста, fullhd видео на ютубе смотреть было можно без проблем (для 60fps уже нужна видеокарта)

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

    И не забудь про ssd диск, по деньгам это незначительные траты, но системный диск обязан быть быстрым, это очень сильно влияет на качество работы

    p.s. выбор ОС для твоих описанных задач без вариантов - linux, настоятельно рекомендую xubuntu (точнее xfce de, сменить можно в любой момент так что ставь что угодно ubuntu, kubuntu, хоть edubuntu..), потому что для новичков первая ос от каноникал наилучший выбор, в этом случае тебе может хватит 2гб ram

    windows 10 потребует минимум 4гб, я видел человека который пытался сидеть на 1гб планшете с win10 (оно таким поставлялось), это было садамаза.

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

    p.p.s. при выборе ретромашины, смотри поддержку ее процессором x64 ос, так как 32-битные потихоньку из поддержки уходят, например linux уже не найдешь современный (то не значит что нельзя будет запустить, просто для этого понадобится опыт и силы)
    Ответ написан
    Комментировать
  • Нужна сборка без обновлений, но с магазином, есть такая?

    @rPman
    Берешь отличнейшую утилиту ntlite.com, будет работать на любой windows начиная с win7, распаковываешь в любой каталог образ iso выбранной тобой windows, например win10, добавляешь этот каталог в программу и начиниаешь редактировать
    - интегрировать обновления
    - подправить службы и запускаемые приложения
    - настройки реестра
    - добавить свое приложение
    ...
    полученный коктейль собираешь в образ iso и устанавливаешься с него

    p.s. раз в 1-2 года майкрософт выпускает коммулятивное обновление, которое сбрасывает все твои отключения и надстройки, что по мнению майкрософта неправильные, к тебе вернутся все metro приложения, скайпы, onedrive и прочий шлак...

    как бы ты не старался, компьютер с windows уже не является твоим.
    Ответ написан
    Комментировать
  • Как решить ошибку с подключением Access?

    @rPman
    начиная с этой версии 64-бидт поддержка вроде бы должна быть
    https://www.microsoft.com/en-us/download/details.a...
    или лучше новее
    https://www.microsoft.com/en-us/download/details.a...
    Ответ написан
    Комментировать
  • Бывают ли ограничения в законодательстве на политику тарификации услуг?

    @rPman
    за что?
    сайт твой, правила показа рекламы - твои, какие то условия предоставления рекламы могут быть у рекламных сетей, чьи баннеры ты размещаешь, но на сколько я знаю никаких требований к обязанности показа этой рекламы = нет
    Ответ написан
  • Как убрать gnu grub?

    @rPman
    * Для режима загрузки в биосе legacy boot:
    Для дисков с форматом разделов mbr (dos) grub хранится в первых секторах диска, для его удаления достаточно заменить на другой загрузчик или просто перезаписать. Для дисков формата gpt требуется раздел biosboot размером 1мб, достаточно его удалить.
    Только непонятно зачем, место не занимает есть не просит, достаточно сменить загрузочный диск на другой и ты это не увидишь

    * Для способа загрузки EFI (secure boot):
    Загрузочная область не используется, grub прописывает свою библиотеку в EFI раздел и прописывает в меню загрузки bios, редактируется меню загрузки в самом биосе либо утилитами для редактирования (например linux с помощью efibootmgr)
    Ответ написан
    5 комментариев
  • Как добавить проверку дополнительного значения из базы в конструкцию if?

    @rPman
    неправильно используешь or так как php считает что ты сделал такое (цвет = красный) или (красноватое это истина), любое значение не 0 и не пусто это true поэтому Красное срабатывает

    правильно - if(in_array($apple->color,['Красное','Красноватое'])...

    еще более правильно, если html отличается только цветами или именами классов, то завести массив и подставлять только изменяющиеся значения в шаблон типа так:

    где то определяешь в константах:
    $colors=['Красное'=>'#FF0000','Красноватое'=>'#FF0000',...];

    а в коде подстановки цвета будет что то такое:
    <?php=make_color_html($colors[$apple->color]??UNKNOWN_COLOR); ?>

    либо сразу html шаблон
    <text style="color:<?php = $colors[$apple->color]??UNKNOWN_COLOR; ?>">
    Ответ написан
    1 комментарий
  • Как перевести Tether TRC20 с помощью TronLink?

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

    Пройди и купи, tron достаточно ликвидный блокчейн, рассчитывай что на транзакцию понадобится от нескольких монет до сотни, можно купить много и застейкать, тогда на аккаунте будет энергия на бесплатные транзакции, после сумм где-то десяток тысяч монет на несколько транзакций в сутки
    Ответ написан
    1 комментарий
  • При подключении к сети Tor через наш узел проходит трафик?

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

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

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