Задать вопрос
  • Можно ли приложению разрешить соединения по wifi только по локальной сети?

    @rPman
    в фаерволе нужно создать пару правил - разрешить диапазон правил локальной сети и запретить все остальное
    Ответ написан
  • Можно не указывать тип данных в ячейке таблицы sqlite?

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

    @rPman
    Понятно что автор не удосужился просто понять код который привел сам, в нем нужно поправить sql запрос
    UPDATE `users` SET `balance` = `balance` + ? WHERE `user_id` = ?

    И настроить периодический вызов метода addBalance

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

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

    @rPman
    Такова селяви, либо учись сам либо заплати другому.

    Совет, парсера в виде расширения к браузера или лучше скрипт к плагину типа greasemonkey, должен быть самый дешёвый, особенно если без интерфейса

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

    @rPman
    ошибка английским по белому - не может найти поле id в твоей таблице

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

    @rPman
    На криптовалюты ;) только они, при условии использовании именно их, позволяют делать денежные переводы напрямую без посредников.

    По теме, примемом платежей занимаются платежные системы электронные кошельки и сами банки

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

    Так же сбербанк может дать qr-код (или его можно самому сделать, надо читать их доки) по которому можно будет проводить платежи с помощью сбербанконлайн.

    С осторожностью с одноФИОмильцами а так же тем кто хочет оплатить не со своего счета, предлагай добавлять к переводу сообщение - код, который сообщает диспетчер, этот сообщение будет видно в sms.

    Ну и таксистам - в сбербанке, при наличии услуги мобильный платеж (30р в месяц кажется, его впаривают всем клиентам), можно делать перевод только с использованием sms
    Ответ написан
  • Как изменить соотношение производительности между GPU и CPU?

    @rPman
    Для встроенных видеокарт cs16 вполне не слабая игра и нагружает ускоритель по полной
    вполне возможно что частота падает не из-за нехватки по питанию, а из-за опасности перегрева, что говорит программа типа OpenHardwareMonitor?

    В настройках видеокарты (что бы там не было, просто в разных местах) могут быть профили, которые автоматически включаются при запуске программ или просто полноэкранном режиме (у некоторых производителей видеокарт там тупо список exe-шников прописан) если поковыряться там и создать свой профиль?
    Ответ написан
  • РадиоНяня ios\android & Bluetooth колонки, идеи?

    @rPman
    разве колонки идут с микрофоном?

    Тебе нужно в руках держать смартфон, которыый подключается к bluetooth колонкам и на них нужно транслировать речь со смартфона? гуглить приложения типа таких:
    https://play.google.com/store/apps/details?id=wiml...
    https://play.google.com/store/apps/details?id=com....

    p.s. если нужно два устройства законнектить чтобы можно было наблюдать и говорить удаленно (это называется аудио-видео чат) и не платить за облачные решения, используй браузерные вебчаты на основе webrtc (у меня работал такой даже на очень старой железке кажется с android 6), например talky.io но лучше поискать готовый opensource и развернуть у себя (если собираешься гонять тсвой тяжелый трафик NAT - NAT через чужие сервера)
    Ответ написан
    1 комментарий
  • Файл, загруженный в браузер и отображаемый там. Какие действия с ним можно делать?

    @rPman
    Браузер и сервер это разные приложения, пока файл между ними не будет перемещен, никакие действия не возможны, кроме как локальные

    p.s. Надеюсь речь идет о работе с файлом в браузере на javascript? а то к примеру штатная html form method=post и полем input type=file это прямая отправка файла на сервер
    Ответ написан
    2 комментария
  • Какой самый надёжный сокращатель ссылок?

    @rPman
    Надежность и 'сторонний сервис' вещи не совместимые, особенно если сюда добавить в требование 'бесплатно'

    Только свой собственный сервис может дать требуемый уровень гарантии, ведь его определяешь ты сам.
    p.s. зачем тебе сокращатель ссылки, когда на своем сайте можно использовать свой mysite.com/2
    vkrlo5rkn_lpcr1jq1x_l-57i2c.png
    размер qr-кода практически не будет отличаться от любого другого сокращателя, пара тройка символов не решит
    Ответ написан
    Комментировать
  • Как сделать поиск в гугл при клике правой кнопки мыши?

    @rPman
    Выделяешь текст на странице в любом браузере в любой ОС (opera, chromium, google chrome, firefox, никаких плагинов для этого не ставил) в меню по правой кнопке появляется Искать, выбранной поисковой системой по умолчанию
    Ответ написан
    Комментировать
  • Взаимосвязанные сайты?

    @rPman
    Про статику - с вероятность 99.(9)% это файлы, которые синхронизируются штатными инструментами типа rsync в момент публикации изменений, если это upload файлы, то в перед публикацией файлы асинхронно рассылаются по всему кластеру.

    Про базы данных
    что бы всё работало корректно и быстро?
    Если скорость раняет большое расстояние между серверами, то проблема решается master-master репликацией, изредка медленно будут работать записи но чтения максимально быстрые из локальной копии.
    Ответ написан
    Комментировать
  • Работа с огромным количеством файлов?

    @rPman
    Если миллион файлов находится на одном физическом устройстве, то многопоточность тут не требуется и даже вредна. Для поиска на нескольких дисках достаточно запустить просто несколько экземпляров приложения для поиска, указав для каждого свой список файлов на своих дисках.

    Последовательное чтение файлов для простого поиска подстроки - очень простая задача, берешь c++, делаешь цикл с fgetstr (если обработка нужна построчная), заранее подготавливаешь искомые строки во всех используемых кодировках как набор байт char* (в идеале в виде констант, т.е. сгенерировав код) просто сравнивая их с помощью strcmp... если таких строк много то подготовь таблицы посимвольного поиска (нагенерировать последовательно вложенные switch case) - этот подход наиболее быстрый из всех возможных, позволяет обрабатывать миллионы строк в секунду

    p.s. если что, gui можно реализовать на одном языке программирования (c# .net) а поиск на c++, запуская из gui приложение, передав нужные параметры в командной строке или специальном файле

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

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

    Если не создавать рейд, просто одновременное линейное чтение сразу со всех дисков с помощью dd максимальное?

    p.s. raid0 ускоряет только линейное чтение и запись, а вот случайные операции почти не ускоряет
    какую задачу нужно решать с 20-ю дисками в raid0 где нужно гигабайты в секунду, буфер к магнитным касетам?, притом что хранить что-либо на таких дисках очень опасно, ведь шансы смерти всего рейда из-за одного диска складываются (даже лучшие диски это 0.5%..3% смерти), умножаем на 20 и получаем 10%..60%
    Ответ написан
  • Стоит ли отдавать предпочтение Ryzen?

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

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

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

    p.s. помним мобильные процессоры более привержены throttle, по причинам плохого охлаждения. Использовать их для ресурсоемких задач абсолютно бессмысленная трата денег, правильно - приобретать стационарный компьютер с хорошим охлаждением
    Ответ написан
    Комментировать
  • Как правильно написать свой обработчик ошибок php?

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

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

    Язык программирования php рекомендует и предлагает для этого конструкцию try catch finaly, там где может произойти ошибка, в catch прописывай логику завершения именно данной секции (откатить транзакцию) и вызывай следующий throw по цепочке, в finaly же прописывай то что нужно исполнить в любом случае.

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

    @rPman
    чтобы передавать сообщения в обе стороны, есть следующие технологии:
    * websocket - client <-> server
    * webrtc - client <-> client напрямую
    Ответ написан
    Комментировать
  • Симуляция купли/продажи блокчейн токенов ERC20 на тестовом сервисе. Как сделать?

    @rPman
    по твоей ссылке bscheck использует honeypot.is, который в свою очередь на этом блокчейне работает только с одним PancakeSwap

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

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

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

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

    поднять полноценную виртуалку (штатную hiperv или virtualbox) - дело десятка минут (debootstrap или развернуть на ram диске обычную установку), так зачем мучиться и решать чуть ли не специально созданные проблемы от майкрософт?

    мало того, позже, перенести linux из виртуалку на новое железо - это пара телодвижений, когда как из wsl не так просто.
    Ответ написан
    1 комментарий