Задать вопрос
  • Как создать инсталятор программы на C# с интерпретатором Python?

    @rPman
    Вы точно хорошо подумали, прежде чем выбрать такую странную смесь архитектур?
    p.s. правда я и сам бы мог так сделать, если бы потребовалось писать сложный интерфейс, а вычислительная логика уже была бы на python, так как в visual studio на .net писать сложные формочки удобнее всего (имхо).

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

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

    Если у вас linux с нормальными пакетными менеджерами, пользуйтесь ими, и программными пакетами в их формате (apt/rpm/ebuild/..), и они сделают все необходимое за вас в лучшем виде! Если же windows...

    В не кастрированных (не домашние) версиях windows10 можно попытаться запустить бинарники ubuntu/debian, если не требуется gui, это почти наверняка будет работать, т.е. вы можете использовать штатный пакетный менеджер apt, ив пару команд установить/обновить все все необходимое

    Можете так же устанавливать python в тихом режиме, скачав установщик с сайта https://www.python.org/downloads/, это будет занимать меньше места, но в случае если вам нужны необычные модули, то вам может не повезти найти собранные под windows, да и те что есть, обычно требуют ручную установку.. в общем не все там легко автоматизируется, пути загрузок внезапно могут через год другой исчезнуть и пользователи получат проблему.

    Универсально, можете воспользоваться готовой linux подсистемой для windows - cygwin (на столько долгой и качественной поддержки почти всего из мира windows в linux вы не найдете), и таскайте в своем установщике их setup.exe (кстати он всегда доступен для загрузки с сайта по одному и тому же url) в режиме Unattended setup mode (--quiet-mode), вместе с питоном вы получите базовый набор утилит командной строки и кучу еще чего теоретически лишнего, но поверьте, оно не помешает, особенно если вам нужна автоматизация процессов управления установкой на машине клиента.
    Ответ написан
    Комментировать
  • Можно ли отключать часть js кода на чужой html странице?

    @rPman
    в консоли пишите что то типа body.innerHTML и плучаете в виде строки всю сгенерированную страницу
    Ответ написан
    Комментировать
  • Как хранить BTC кошельки пользователей?

    @rPman
    https://github.com/bitcoinjs/bitcoinjs-lib и можете реализовывать полноценный кошелек на клиенте, даже без хранения приватных ключей на сервере.

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

    @rPman
    В linux и в частности в ubuntu нет такого понятия как драйвер, по крайней мере требуется что то искать и доустанавливать на порядок реже а зачастую совсем не требуется. Это в windows устанавливается драйвер для каждой флешки...

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

    Если это железо даже продается с ubuntu то вам вообще беспокоиться о драйверах не придется, устанавливаете штатный iso и все.
    Ответ написан
    3 комментария
  • Почему ноутбук с закрытой крышкой думает дольше?

    @rPman
    Браузеры давно ловят события минимизации окна, неактивной вкладки и закрытие крышки (выключение экрана)... в этом режиме вся работа сайта СИЛЬНО замедляется принудительно или даже останавливается.
    Ответ написан
    3 комментария
  • Как организовать совместную удаленную работу дизайнеров?

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

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

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

    Не пользуйтесь dropbox/google drive/microsoft... это бомба замедленного действия, даже если сейчас их скорости и лимиты вам подойдут, позже вам придется заплатить троекратно только за то чтобы не тратить время и переходить на другую платформу.

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

    @rPman
    С не латиницей работать надо с помощью штатного расширения mbstring
    php.net/manual/ru/book.mbstring.php смотрите методы mb_ereg_... само собой при указании верной кодировки.

    Так же попробуйте штатный модификатор у регулярных выражений u (при использовании utf8)
    php.net/manual/en/reference.pcre.pattern.modifiers.php
    Ответ написан
    Комментировать
  • PGP шифрование?

    @rPman
    Если третья сторона однократно получила как то доступ к приватному ключу, то в последующие разы ввод секретной фразы им естественно не понадобится.

    Секретная/парольная фраза требуется только для того чтобы хранить зашифрованным приватный ключ локально.
    Ответ написан
    2 комментария
  • Как скрыть PHP код на сервере при условии что надо его править?

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

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

    p.s. есть способ, если все файлы проекта, которые вы хотите скрыть, не хранятся на компьютере совсем, а подгружаются через пайпы или перенаправления stdin с другой машины (по ssh например), все интерпретаторы позволяют это делать с помощью ключей командной строки... это не даст абсолютной защиты но сильно усложнит жизнь злоумышленнику, так как для изучения ему понадобится анализировать дампы памяти.
    Ответ написан
    Комментировать
  • Как запретить трафик WiFi без VPN на Mac OS?

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

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

    Я рекомендую использовать прокси вместо vpn, его настройки контролировать проще (например в браузере firefox это делается простым расширением), например купив любой самый дешевый vps (вам нужен доступ по ssh), и не производя никаких настроек, просто запускать соединение ssh клиента с опцией перенаправления портов (-D1080) - это поднимет локальный socks прокси который понимают практически все программы и браузеры.

    а если настроить беспарольную аутентификацию у ssh, это 2-3 команды, гуглятся легко, а затем запускать подключение в бесконечном цикле типа такого:
    @echo off
    :loop
    ssh имя@сервер -p порт -D1080 -N
    goto :loop

    то ваша прокси будет подниматься автоматически при переподключении и будет выключена при отсутствии интернета или недоступности сервиса vps и ваш браузер не будет пытаться подключиться по незащищенному каналу.
    Ответ написан
    Комментировать
  • Почему файловые блокировки между Apache и Samba не работают?

    @rPman
    Какая база данных у вас собирается работать со своими файлами по http O_o? настоятельно рекомендую хорошенько подумать и так не делать, ибо вы создадите головную боль пользователям.

    https://www.oreilly.com/openbook/samba/book/ch05_0...
    If you have a system that understands oplocks, set kernel oplocks = yes in the Samba configuration file. That should eliminate conflicts between Unix processes and Windows users.
    Ответ написан
  • Pygame прямоугольник для выделения юнитов?

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

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

    С точки зрения использования это сложнее чем подключить какой-нибудь интерпретируемый популярный язык типа lua, но зато высокая производительность и гибкость.
    Ответ написан
    Комментировать
  • Как создать простую нейронную сеть на TF, которая сможет управлять игрой через захват экрана?

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

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

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

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

    geometry dash это обычный платформер, если я правильно понимаю там вообще одно действие - прыжок? Эта игра не требует нейронки от слова совсем, все действия рассчитываются простым анализом игрового мира (движения врагов рассчитываются за 3-4 кадра в коротком варианте либо заранее вы сами определяете что вот этот враг двигается по таким правилам) а дальше поиск по 'лабиринту' перебором или поиском в глубину.
    Ответ написан
    Комментировать
  • Как правильно адапттировать single page application под маленькие экраны?

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

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

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

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

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

    @rPman
    у вас NAS занимается раздачей DHCP/DNS/шлюз? немного необычно, но почти наверняка ошибки конфигурации у вас тут.
    Ответ написан
    Комментировать
  • Куда девается картинка в Chrome?

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

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

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

    p.s. возможно вы воспитаны на тормозах http rest архитектуры, где для обмена сообщениями используются периодические опросы вместо постоянно открытого tcp или даже udp соединения?
    Ответ написан
    Комментировать