Задать вопрос
  • Почему компьютер не запускается с первого раза?

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

    Одна из причин странностей со вкл/выкл - проблемы с acpi, с управлением питанием. С высокой вероятностью чинятся обновлением биоса и обновлением драйверов на материнскую плату от производителя.
    Ответ написан
    Комментировать
  • Индексация идёт уже 2 недели, в чем у меня ошибка?

    @rPman
    значит узкое место почти наверняка диск.

    Пальцем в небо, файловая система на которой таблеспейсы лежат какая? случайно не cow (btrfs/zfs/xfs)? с ними отвратительно работают базы данных, так как частые записи в файл генерируют сильную фрагментацию. В этом случае перед тяжелой обработкой хотя бы дефрагментируй файлы базы и отключи cow фичу на таблеспейсах

    неплохим тюнингом может оказаться (на выбор):
    * разместить базу в ram диске (буквально, залить на сервер в облаке, обработать данные, залить назад, работая напрямую с таблеспейсами, но версия софта должна совпадать до последней цифры)
    * разместить базу целиком на ssd (даже если это будет потребительский и дешевый)
    * добавить в систему ssd кеш для hdd с помощью например bcache (включенный на запись), правда для линейной обработки базы это может дать мало пользы, но вообще это неплохой способ на порядок поднять производительность за дешево (в одном месте я использовал фичу virtualbox со снапшотами в файл, есть и у kvm, когда последующие записи шли не на исходный образ а на другой диск, и он ssd)
    * разместить таблеспейс для индексов (а может и каждую таблицу отдельно) на другом физическом устройстве (hdd, ssd или даже в ram), требования к размеру тут обычно низкие, ключевое слово - исключить последовательные чтения/записи на одно устройство.
    * разместить журнал (например ext4) на ssd диск (хватит пары гигабайт) или по хардкору даже отключить его (очень опасно, можно получить кашу из данных при сбое питания, но как временное решение пока идет долгая операция, при наличии всех бакапов, оправдано) - наименьшая оптимизация, но при частых мелких записях это заметно
    Ответ написан
  • Можно ли эмулировать Raspberry Pi 4 в Qemu?

    @rPman
    гуглить тоже не осилил?
    первый же результат
    Ответ написан
    Комментировать
  • Лицензирование windows server что покупать?

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

    p.s. у майкрософта есть решения с лицензиями с арендной платой

    p.p.s. гетерогенные среды отличный способ решить кучу проблем. те задачи, для которых не подходит linux, можно решать на windows.
    Ответ написан
    Комментировать
  • Как создать чит на C++ для андройд игры?

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

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

    выбор я зыка определяется способом которым идет 'взлом' и в случае с android с++ слишком маловероятен
    Ответ написан
    Комментировать
  • Как в fputcsv вывести вложенный массив в массиве?

    @rPman
    Если данные будут смотреть люди исключительно глазами (и в лучшем случае в экселе фильтрацию по подстроке будут делать), до достаточно список в ячейку разместить объединив строки с помощью implode, с каким нибудь разделителем, например ';' или '|' (очень редко используется, коллизий будет гораздо меньше, что даже можно считать машиночитаемым)

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

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

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

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

    @rPman
    смотри логи android с помощью adb logcat

    но не уверен что там будут все действия с adb
    Ответ написан
    Комментировать
  • Как пробросить порт без использования vpn?

    @rPman
    Нужен сервер, который примет подключение

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

    Не хочешь настраивать vpn, бери ssh сервер, у него из коробки поддержка перенаправлений портов в любую сторону, в твоем случае оба подключаются к одному ssh серверу, с настройками у одного -L порт:адрес:порт, у другого -R порт:адрес:порт но этот механизм не надежный, если порядок подключения будет неправильным (или во время работы будет переподключение) связь не наладится. В одну сторону перенаправление можно организовать с помощью фаервола на этом сервере iptables, это надежнее.

    Кстати у ssh так же есть встроенный vpn (правда немного 'неполноценный', там не tap а tun)
    Ответ написан
  • Какая материнская плата полностью раскроет Ryzen 5 5600x?

    @rPman
    Абсурдное желание, tdp у процессора низкий, значит каких то особых требований к материнке тут нет, лишь бы была совместимость

    Есть еще количество каналов оперативной памяти 2 (т.е. минимум два слота под ram) и количество линий pce-e (заявлены 20), значит покупать материнку с четырьмя pci-e 16 бессмысленно (при покупке с двумя они могут работать в режиме 8х, и помним про sata/usb контроллеры, они тоже линии потребляют)
    Ответ написан
    Комментировать
  • Что делать, если 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 комментария