Задать вопрос
  • Что делать, если Bluetooth адаптер плохо работает с любыми TWS наушниками?

    @rPman
    купить usb bluetooth донгл и держать его вставленным в ноутбук? принеси ноутбук в магазин и протестируй те что там есть.

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

    @rPman
    Либо настроить фаервол на сервере vps чтобы ограничить доступ с личного ip адреса (он должен быть статичным), обычно фаервол в linux на основе iptables но бывает в панели администрирования соответствующие пункты (например у амазона).

    Ограничения по ip адресу клиента настраиваются и у самого веб сервера, обычно это проще фаервола.

    Либо (если к примеру личный ip адрес динамический) настроить сервер на локальную для vps сервера сеть (или localhost) и настроить перенаправление портов (например с помощью ssh) либо поднять vpn подключение (vps и твоя локальная сеть подключаются к чьему то vpn либо настроить vpn сервер на vps)

    Либо, самое простое, настроить аутентификатцию средствами веб сервера на vps, basic auth настраивается в пару строк в конфиге:
    https://docs.nginx.com/nginx/admin-guide/security-...
    https://httpd.apache.org/docs/2.4/howto/auth.html

    basic auth будет однократно спрашивать пароль в браузере при первом доступе, при закрытии страницы и повторном открытии снова запросит пароль.
    Ответ написан
    Комментировать
  • Docker: принято ли ставить на продакшене?

    @rPman
    да, нет, не знаю - все три ответа верные

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

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

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

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

    Что значит ожидаемое поведение? когда ты делишь задачу на подзадачи, у тебя появляются промежуточные данные и состояния, ну как в анекдоте про чайник и программиста, чтобы заварить чай нужно:
    * налить воду в чайник
    * поставить на базу/печку и включить
    * дождаться готовности/выключить
    * налить чай
    на каждом этапе нужно проверять состояние, например первый пункт - есть ли вода в чайнике, горячая ли она или холодная, полный ли чайник, есть ли у тебя чайник в руках, и т.п.

    Тесты создают на основе данных, являющихся нормальными, ненормальными и граничными для тех алгоритмов, что используются в коде. К примеру нет нужды проверять температуру воды в чайнике отдельно на фиксированные значения 10, 20, 30,.. градусов, если в алгоритме заложены естественные их границы - холодная и горячая, вот вокруг этих констант и приходится гулять.

    Вот именно эти проверки и есть тесты, которые необходимо автоматизировать.

    Степень полноты тестирования вопрос философский, в конечном счете тесты нужны не только для автоматического тестирования и составления отчетности на изменения кода, но и собственно для разработки, разрабатывая тесты ты делаешь код полнее и точнее (например проверяя температуру воды на первом шаге ты добавишь в код условие - если вода горячая, то пропустить ее нагрев), почитай про test-driven development, TDD

    p.s. а еще тесты - это способ исследовать неизвестную библиотеку, дело в том что open source реалии таковы, что документации нет от слова совсем, в лучшем случае перед тобой список методов с типами аргументов и пара примеров, все остальное нужно догадываться по логике наименований, здравому смыслу и ковырянии в исходниках. Тесты тут могут быть исключительно как способ изучения этой библиотеки, но не обязательно такие тесты реализовывать в коде, это все же процесс в ручную происходит, но все же, создавать тесты на ответы от чужой библиотеки полезно для длительной поддержки проекта для того, чтобы у тебя были алерты на необычное поведение ее после обновления)

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

    и еще, создать тесты с нуля на готовый проект почти невозможно.
    Ответ написан
    Комментировать
  • Есть ли API для Litecoin?

    @rPman
    Идеологически верное решение - установить Litecoin кошелек (чтобы не занимал много места, кажется до 500мб, нужно использовать опцию -prune=макс_размер_блокчейна_в_мб).

    с помощью ключа командной строки
    -walletnotify=<cmd>
    можно принимать алерты об изменениях на балансе

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

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

    Причина - защита основного баланса при взломе веб-сервера.

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

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

    @rPman
    конечно такое возможно, например старый 1тб диск внутри 1 пластина, а у нового 2тб - две, данные с двух пластин читаются параллельно, вот скорость в два раза выше.
    Ответ написан
    Комментировать
  • Почему bios перестал видеть единственный и основной ssd?

    @rPman
    Если был потом нет потом снова есть... с вероятностью 99% - смерть контроллера, либо на материнской плате либо внутри диска.

    Проверяется, способы на выбор:
    * переткнуть диск в другой разъем sata если есть, если диск m2. то облом, на плате только один разъем
    * вставить другой заведомо рабочий диск в материнку
    * вставить твой диск в заведомо рабочую материнку
    это позволит понять, глючит ли материнская плата или нет

    p.s. стоимость диагностики в ремонтных мастерских порядка 200р (некоторые делают бесплатно), плюс стоимость доставки компьютера
    Ответ написан
  • PHP ругается на ошибку в Curl, куда копать?

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

    @rPman
    linux
    Ответ написан
    Комментировать
  • Как сервер передает страницы?

    @rPman
    Рональд Макдональд все верно написал, дополню:

    Страницы, а точнее данные можно передавать по другим протоколам, например ftp, а в локальной сети можно даже открывать по протоколу smb (только windows) или даже локальные файлы (file:///путь_к_html)), но на сколько я знаю для вопросов безопасности, по умолчанию миксить разные режимы, включая https и http запрещается (если стартовая страница http то наверное можно, но скоро все браузеры начнут громко предупреждать что это плохо, пока только сверху намекают)

    Данные можно передавать не только штатным http но и с помощью его расширения websocket, в этом случае можно так же слать сообщения наоборот, от клиента к серверу.

    Так же есть протокол webrtc, который позволяет вспомогательные данные загружать/передавать не с/на сервер, а с другими пользователями веб сайта p2p, режим не простой (не все одинаково поддерживают по стандарту), блокируется некоторыми неадекватными (к сожалению многими, например мобильными) провайдерами, но он есть и позволяет неплохо экономить на сетевом трафике для тяжелого медиаконтента.

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

    p.s. еще есть интересный стандарт data uri, позволяет размещать контент элемента прямо в адресной строке
    data:text/html;charset=utf-8;base64,SGVsbG8gPHNjcmlwdD5hbGVydCgnd29ybGQnKTs8L3NjcmlwdD4=

    так же это работает для любых элементов на странице, можно даже картинки так вставлять, только не эффективно

    p.p.s. совсем добавлю, еще есть протокол chrome:// или moz-extension:// для доступа к элементам расширений браузера, но тут нет стандарта
    Ответ написан
    2 комментария
  • Будет ли работать двухканальный режим с 2 модулями памяти и распаяной памятью?

    @rPman
    https://www.lenovo.com/ru/ru/laptops/ideapad/ideap...
    Оперативная память
    До 12 ГБ памяти DDR4 (4Гб распаяно + 1 слот SO-DIMM на 8Гб)


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

    и однозначно нет, если будет разных размер оперативной памяти (а у тебя получается 4 + 8 или даже если я не ту конфигурацию посмотрел, то получается 2+2 + 8+8, этот режим все равно не заведется, материнок, на которых возможна частичная работа многоканального режима наверное можно по пальцам пересчитать, я не видел)
    Ответ написан
    4 комментария
  • Есть ли программы распознавания речи и автоматического перевода на cuda и opencl?

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

    В windows с помощью speech recognition можно слушать английскую речь и переводить ее в текст, переводить на другой язык уже другим инструментом, оффлайн инструменты есть (дорогие).

    Все остальные варианты по качеству на столько плохие, что использовать их имеет смысл только с точки зрения фана. Правда изучал я вопрос где то лет 5 назад, возможно сейчас по лучше.

    p.s. если речь о нелегальных механизмах, ищи инструменты автоматизации действий на android, к примеру тамошний гугл-переводчик может работать в режиме offline (почти наверняка он прекратит работу после определенного объема текста, и придется это как то обходить)

    upd. попробуй https://github.com/mozilla/DeepSpeech
    Ответ написан
  • Как в win10 устанавливать программы только для определенного пользователя?

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

    если речь идет только об иконках, то либо средствами установщика (часто он спрашивает for current user or all user первым же вопросом мастера) либо вручную перемещай иконки из папки all users в пользовательскую (в этом случае при удалении и обновлении так же вручную удалять/повторно перемещать)

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

    @rPman
    В зависимости от лицензии

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

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

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

    почти наверняка тебе достаточно просто корректно составить css селектор
    Ответ написан
    Комментировать
  • Как написать бота локально если нужен SSL?

    @rPman
    Никак, ssl сертификат должен быть известен серверам viber, им твой самописный неизвестен.

    Можно попытаться сэкономить, настроив http прокси на том же nginx, в этом случае требования к серверу будут мнимальные, мало того всякие cdn типа cloudflare дают бесплатно как сертификат так и предоставляют простейшие прокси
    Ответ написан
    Комментировать
  • Docker или LXC?

    @rPman
    lxc - полноценная виртуалка, с паравиртуализацией (нет тратит ресурсы на аппаратную виртуализацию) идеальная для простых задач изоляции сетевых запросов (без них хватило бы и простого chroot), осторожно

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

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

    В редких случаях это не сработает, если стоит к примеру 'ускоритель интернета' на основе балансировки нагрузки между двумя и более провайдерами, так же если в момент отправки сообщения ip адрес поменяется (да должно сильно не повезти но то возможно)

    Правильно - реализовать широковещательную рассылку в пределах локальной сети, сервер не понадобится но на android это сделать проблематично

    Зато там есть network service discover (работает на основе DNS-SD механизма) первый же пример кода из гугла
    Ответ написан
    Комментировать
  • Как возобновить прерванную загрузку Chrome?

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

    например консольный wget -c http://....
    имя файла задается -O filename

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

    upd. если сервер не поддерживает докачку, возьми в аренду на пару часов vps-ку (стоить это будет несколько рублей), загрузи там файл и уже со своего сервера раздавай тем что умеет докачку (любой современный http сервер типа Nginx умеет статику раздавать правильно)
    Ответ написан
    1 комментарий
  • Есть ли способ наглядно для сайта навести курсор Selenium?

    @rPman
    Смотри action.moveToElement
    как к точке обсуждали тут
    Ответ написан
    Комментировать