Задать вопрос
  • Как можно сократить говно-код?

    @rPman
    Кучи if ($request->input("type") заменяй на switch case, тем более далее по тексту у тебя оно используется, пиши код хотя бы в одном стиле.

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

    Про права доступа, у тебя точно 2 состояния - public и authorized? может у тебя еще есть какой-нибудь superuser? или еще есть права на основе данных (например если статус операции 'такой то' то действие запрещено)... хотя метод по любому должен быть ->allowed() который собирает данные по текущему пользователю, состоянию, данным и т.п. хотя лучше разделять права доступа по роли и по состоянию, пусть будет пара методов.

    Вот такие строчки "required|numeric|min:1|max:10000" - bad practics, магические константы, что значит 10к, 15, 3, 24, 5000... везде разные, что почему зачем, уже через пол года ты не вспомнишь а уж другой программист и подавно не поймет. Оформляй в виде функции-генератора или даже класса, документируй все значения, даже если это значения от балды, когда ты их выдумывал какой то смысл ты в это вкладывал - опиши это в коментариях в этой функции или классе, не обязательно все выносить в конфиг файл, сам отдельно лежащий файл с таким классом уже этот конфиг. Мало того, почему сериализация массива такая странная, на рынке существует уже безоговорочный стандарт json, и machine и human readable, накладные расходы минимальны (можно заставить паковать nginx, по трафику будет не на много больше чем умно оформленный protobuf), тем более у тебя там ошибки уже в json выдаются.
    Ответ написан
    2 комментария
  • Что лучше для веб сервера выделенный физический сервер или виртуализация на нем же?

    @rPman
    Единственный момент, когда виртуализация может дать ускорение - это легкое включение lazy writes для файловых систем, когда запрос принудительной записи данных на диск будет игнорироваться файловой системой а реальная запись откладываться на потом (так можно сделать и без виртуализации, средствами файловой системы той же ext4, так же можно включить принудительную буферизацию записи например в istgt (демон iscsi) для сетевых томов).

    Такая настройка может значительно повысить скорость работ даже баз данных (на запись) но за счет огромной опасности потери данных при сбоях работы.

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

    p.s. либо вы что то не так поняли либо гоните в шею этих советчиков

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

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

    @rPman
    для windows никак, только через эмуляцию
    для linux можно посмотреть на https://anbox.io/ есть snap пакет для ubuntu но глючный жуть, зато нативно на x86 будет работать без эмуляции (игры запускать не пробовал, там надо google apps ставить)

    рекомендую поставить себе android x86 в дуалбуте с windows и при необходимости туда сюда переключаться
    Ответ написан
    Комментировать
  • Как сделать cекундомер без setInterval и setTimeout?

    @rPman
    Можно через настройку обновления страницы <meta http-equiv="refresh" content="1">в каком нибудь фрейме, где на onload вызывается дочерний метод, но это садамаза.
    НЕ НАДО ТАК ДЕЛАТЬ
    ----------------------

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

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

    Да 0 для нейронной сети очень удобное значение отсутствия признака (кстати ничто не мешает для перевернуть значения и сделать 1 - признаком отсутствия а 0 - присутствия, нейронная сеть все переварит, правда могут быть алгоритмы ее оптимизации которые этого не поймут)
    Ответ написан
    Комментировать
  • Где найти место для записи аудио для уроков?

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

    шутка, а может и нет
    На один раз прокатит
    Ответ написан
    2 комментария
  • Как правильно спроектировать замену классов?

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

    Ну а если ты везде тип контролируешь, используй паттерн интерфейс-реализация, указывая в качестве типов - интерфейс.
    Ответ написан
  • Какой дистрибутив Linux подойдет для рабочей станции?

    @rPman
    Вопрос, чем не устраивает текущее положение дел?
    в качестве хоста - windows 7, для запуска всего того что не умеет linux или доступ к оборудованию
    в вируталке крутится желаемая ос, несколько для экспериментов

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

    Фичу gentoo USE маловероятно кто сможет переплюнуть.

    p.s. Если же на хосте хочешь linux, то пользуйся контейнерами lxc и виртуализацией по полной, для любой хотелки выбирай новый контейнер, почти всегда это можно сделать, может потребуется больше места на диске (попробуй в качестве файловой системы для хоста zfs если у тебя ssd, то накладные расходы на нее ты не заметишь, а вот онлайн дедупликация решит проблему с местом при использовании одинаковых контейнеров)
    Ответ написан
    Комментировать
  • Как может быть две отправки с одного bitcoin кошелька?

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

    покажи как ты делаешь транзакцию, с помощью rpc api bitcoin core?
    Ответ написан
  • Почему если смартфон умеет снимать видео 4K 30fps то почему в настройках нету режима FHD 120fps?

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

    Т.е. приложение для видеосъемок от производителя может снимать видео в предельных режимах (например у моего xiaomi redme note 8 pro есть возможность снимать fullhd - 120fps или hd720 - 240fps) но google api сторонним приложениям выдает максимум 60fps, чтобы это исправить нужно искать модификации пррошивки под свою платформу, например на 4pda, исправляющие это (а сама их установка уже требует особые навыки, так как ошибка может окиропичить девайс)

    p.s. Хуже всего что сторонним приложениям ограничивается контроль управления фокусом или iso, из-за чего качество видеосъемки становится сильно хуже чем с помощью стокового
    Ответ написан
    Комментировать
  • Резко стал тормозить фотошоп при стабильной работе всего компьютера?

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

    Все же постарайся вспомнить, что такое установил что у тебя стало лагать?
    Ответ написан
  • Стоит ли переплатить за процессор?

    @rPman
    Посмотри тесты в реальных задачах, включая игры, рендер и т.п.
    В НЕКОТОРЫХ случаях прирост до +30% что я считаю критичным
    в single thread прирост незначительный в 3%

    Считаю что 5т.р. этих бонусов стоит, так что бери AMD Ryzen 7 5700G (и хотя TDP там меньше 100w, я советую нормальное охлаждение, башенный с 4-пин разъемом для авторегулировки оборотов - будет тише!)
    Ответ написан
    3 комментария
  • Как при подключении к ноутбуку DELL Vostro 3700 дополнительного монитора, получить разрешение 2560 на 1080?

    @rPman
    в linux это делается штатным xrandr
    например так я добавлял разрешение точка-точка для телевизора bbk где это по каким то причинам не сделано на заводе
    sudo xrandr --newmode "1366x768_60" 85.25 1366 1440 1576 1784 768 771 781 798 -hsync +vsync
    xrandr --addmode HDMI-1 "1366x768_60" 
    xrandr --output HDMI-1 --mode "1366x768_60"
    и делать это каждый раз после запуска графической оболочки, параметры для newmode можно получить с помощью
    cvt 1366 768 60
    -------------------------------
    для windows попробуй эту утилиту, она позволит записать в память монитора нужное разрешение
    Ответ написан
    Комментировать
  • Как сканировать через расшаренный Canon MF3010?

    @rPman
    Не очень понятно, какую пользу можно получить от УДАЛЕННОГО сканирования, ведь к сканеру нужно подойти и положить сканируемый документ. Не уверен про cannon но точно знаю что есть сканеры, которые по нажатию кнопки на самом сканере автоматически сканируют документ (запускается программа, которая помещает документ в настроенную папку), покопайся в дефолтной программе для сканирования и в документации.

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

    Рабочие ревизии операционной системы windows будут блокировать текущую сессию пользователя, запрещая одновременное использование машиной несколькими пользователями, но это можно обойти с помощью rdpwrap
    Ответ написан
    Комментировать
  • Как настроить работоспособность adb appcontrol на виртуальной машине с виндой 10 из-под линукс?

    @rPman
    Самое простое, проверить наличие возможности подключения adb по сети, в последних версиях android (а в старых кастомных сборках типа lineageos давно уже) этот функционал уже имеется. В этом случае adb подключается с указанием ip и порта (он будет указан при включении этой фичи)
    это будет выглядеть где то так:
    adb pair 192.168.0.110:35049 580187
    adb connect 192.168.0.110:40585
    порт и пин будут случайными, на смартфоне в момент pair будет выскакивать запрос подтверждения на подключение
    в каких то случаях pair не требуется (я так и не понял почему у меня на одном смартфоне без него не заработало) так как это один из вариантов

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

    теперь про kvm - пробросить устройство внутрь либо usb либо сразу контроллер, на котором он весит (я так мышь с клавиатурой пробрасывал)
    Ответ написан
  • Юридические последствия бага на сайте?

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

    Ок, если умысел еще можно притянуть за уши если доказать что разные аккаунты принадлежат атакующему, то с убытками не все так просто.

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

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

    p.s. помним, что цена на ценнике имеет приоритетное значение тому что ожидает магазин, в момент совершения покупки цена была озвучена? оплачена клиентом в полном размере? помним про то как человек купил телевизор по цене 0 (ошибка на сайте интернетмагазина, после которой все стали писать что цена на сайте не является офертой и т.п.)
    Ответ написан
    1 комментарий
  • По каким причинам может не работать сглаживание в играх?

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

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

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

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

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

    p.s. как ни странно, владеть криптовалютами не запрещается, но по закону все обязаны сообщать о своих цифровых активах (те кто сообщит в будущем лишится их полностью или частично, тупо отберут)
    Ответ написан
    Комментировать
  • Как исправить, ssl блокирует парсер simple_html_dom?

    @rPman
    загрузи страничку вручную тем же curl а парсеру корми строчку методом str_get_html
    Ответ написан
    6 комментариев