Задать вопрос
  • Не удается отправить файл на ftp сервер, в чем может быть причина?

    @rPman
    возможно вам нужно включить passive mode если между вами и сервером фаервол (например за NAT)
    ftp.set_pasv(true)
    Ответ написан
    2 комментария
  • Можно ли использовать Google Drive, как облачную базу данных для Android-приложения?

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

    Неужели вам сложно поднять key-value базу данных и написать (читай скопировать и туториала) простейшую прослойку с авторизацией по токенам? Слабая VPS-ка, способная потянуть нехилый проект, обойдется вам примерно в $1 в месяц, без гарантий, и от $15 с гарантиями (а за 40 можете получить уже не виртуальное железо).

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

    @rPman
    Берете вашу таблицу, добавляете одну колонку слева от ваших двух (старое, новое) и заполняете ее словом rename.
    p.s. Если в именах файлов есть пробелы или символы типа слешей, скобок и прочее (не буквы и цифры) то каждое имя должно быть заключено в двойные ковычки (100 и один способ сделать это).

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

    Должно получиться что то типа:
    rename old.txt new.txt
    rename old2.txt new.txt
    Затем сохраняете этот файл под каким-нибудь именем с расширением .bat (например go.bat) или .cmd в каталог, где лежат файлы.

    Внимание, кодировка файлов должна быть msdos (cp866) если у вас есть русскоязычные символы в именах файлов. Следите чтобы это не была unicode, а точнее чтобы в начале файла ваш редактор не вставил BOM сигнатуру, это не фатально, просто первая строчка тогда будет ошибочной и будет проигнорирована.

    Все, ваша программа по переименовыванию файлов готова, достаточно ее запустить и ваши файлы будут переименованы.

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

    Если файлы лежат в разных каталогах, то можно для каждого указывать либо полный путь типа c:\temp\zzz.txt либо относительный temp\aaa.zzz в этом случае go.bat должен быть размещен в этом начальном каталоге, где размещены все остальные.

    Если первое слово в строке будет move вместо rename, то эта программа переместит файл со старого места на новое, а copy - скопирует, причем в обоих случаях можно вместо нового имени файла указать только целевой каталог.
    Ответ написан
    1 комментарий
  • Какие статистические методы применимы к неслучайным величинам?

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

    Попробуйте с чего то по проще, например криптовалюты.

    p.s. из готовых инструментов, есть неплохой пакет weka, не только интерфейс но и библиотека java.

    99% работы - это подготовка данных, подходящих для анализа выбранным алгоритмом. Т.е. не пытайтесь бездумно скармливать алгоритмы просто потоком котировок.
    Ответ написан
    2 комментария
  • Как в js отловить такой перенос текста?

    @rPman
    Ответ написан
    Комментировать
  • Как сделать собственную сборку Linux дистрибутива для ARM процессора (Rockchip 3399)?

    @rPman
    debian или ubuntu (точнее те что на основе пакетного менеджера .deb) имеют штатный инструмент - debootstrap, он позволяет собрать минимальную сборку порядка 200мб, в которую вы можете доустановить необходимые пакеты. Причем ничто не мешает все манипуляции проводить с ноутбука (т.е. отличная архитектура).

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

    Я не знаю никакой другой системы пакетов (т.е. инструмент, позволяющий обслуживать программные пакеты и их зависимости), которая позволила бы создать сборку на столько эффективной и компактной по использованию ресурсов. Я собирал инсталляцию для eeepc с xserver и awesome de, с затратами оперативной памяти в 50мб (после запуска сразу доступен запуск браузера или просмотр видео mvp), когда как минимальная сборка на базе ubuntu занимала 200 или 300мб (и оставшихся не хватало для комфортной работы браузера).
    Ответ написан
    8 комментариев
  • Какой нужно контейнер виртуализации?

    @rPman
    Для windows платформы не так много вариантов, если нет поддержки виртуализации.

    Самый универсальный но дико не эффективный вариант - программная виртуализация, есть у qemu и того же virtualbox. Использовать только если совсем плохо, так как падение производительности до 6-10 крат (напоминаю, что с поддержкой аппаратной виртуализации потери могут быть не больше 10%-30%), зато поддержка любой операционной системы на любом железе и OS.

    Существуют программы песочницы типа sandboxie, но с вероятностью 99% они потребуют поддержку виртуализации либо будут являться очень ненадежной песочницей (не полностью изолированное окружение).

    Только так вы сможете запускать windoows приложения, все остальные варианты - про linux.

    Если у вас 32-битная ревизия windows (даже если winxp) и нужно виртуализовать linux, то воспользуйтесь colinux, этот проект к сожалению больше не поддерживается и не развивается (а жаль, x64 поддержка была бы кстати) но позволяет запускать приложения вообще без потери производительности, это аналог user mode linux, подменяет вызовы ядра и работает как обычное приложение, даже сеть. Фактически это почти полноценная headless (без монитора) виртуальная машина.

    Есть у вас последние версии windows 10 (pro или ultimate ревизии) то вы можете воспользоваться штатной подсистемой linux for windows (добавляется компонента и устанавливается redhat/ubuntu из штатного магазина), это полная аналогия wine наоборот, позволяет запускать бинарники linux без виртуализации, максимальная производительность и поддержка x86/x64 архитектуры.

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

    И конечно же вместо запуска бинарников linux можно установить полностью windows приложения, собранные из исходников linux и запускать свои приложения в нем (собирать, если нужны бинарники). Есть две независимых проекта - mingw (окружение msys) и cygwin. С точки зрения компиляции, это отдельные архитектуры, как linux-x86_64 или cygwin-x86_64 и даже mingw-x86_x64, взаимно не совместимы (нельзя подключать dll).

    Mingw используется, когда нужно собрать приложение, использующее библиотеки из мира linux, но при этом нотация файловых путей должна быть как в windows, и не только, например проще добиться поддержки opengl/opencl или работать с чисто windows directx...

    Cygwin используется, когда приложение почти не имеет поддержки для сборки под windows, в нем симулируется почти полностью linux окружение, даже пути файлов с обратными слешами и нет букв дисков - используется /cygdrive/c. Симуляция cygwin на порядок качественнее чем у mingw, т.е. можно вообще не тратить никаких усилий для портирования приложения, но скорость работы при использовании mingw выше, так как нет лишней прослойки системных вызовов.

    Оба этих окружения позволят запускать приложения php/perl/python/nodejs и они почти наверняка будут работать как ожидается. У обоих есть пакетный менеджер с готовыми бинарниками (у cygwin полнее база) и вы можете установить (и поддерживать обновления) окружение в пару кликов мыши.
    Ответ написан
    Комментировать
  • Где и как безопаснее хранить свои личные, конфедициальные файлы, пикантные фото, секретные материалы?

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

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

    Если ваши объемы порядка сотен гигабайт или несколько терабайт, лучше своей системы ничего нет. Не обязательно поднимать целый файловый сервер, можно обойтись простыми подключаемыми дисками (пофиг флешки это или жесткие диски), но настоятельно рекомендую использовать не одно устройства а несколько (RAID 1,5,6,...). Поддержка RAID и шифрования есть во всех современных популярных операционных системах, так что в несколько шевелений мышки вы можете настроить то же зеркалирование и поднять шифрование, чтобы для доступа к файлам требовалось ввести пароль.
    Ответ написан
    Комментировать
  • После ввода ПК в домен торомозит Excel 2016?

    @rPman
    Загляните в макросы, в шаблонах например, мало ли что там происходит.

    Тормозит на всех машинах или только на одной конкретной, провести эксперимент с чистой установкой win + офис + подключить в домен? Если глюк тиражируется, то 100% что то в политиках домена напортачили
    Ответ написан
    Комментировать
  • Unity. Тормозит игра при соприкосновении двух коллайдеров?

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

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

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

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

    И уже потом по полученному видео вы можете извлекать с помощью ffmpeg звуковую дорожку.

    p.s. на youtube можно вытаскивать звуковую дорожку отдельным потоком, посмотрите приложение youtube-dl, они очень хорошо отслеживают изменения, кстати умеют работать не только с ними.
    Ответ написан
    3 комментария
  • Отслеживание дыхания с помощью смартфона - почему нет приложений?

    @rPman
    Потому что между исследованиями и выходом на рынок огромная пропасть.

    Отличный пример, года 4 назад был предложен алгоритм, позволяющий на простом и дешевом железе получить 3D-скан на пару порядков точнее, чем это в принципе возможно на сканерах, на основе вебкамер и структурированного света.... необходимость есть, огромная, и где готовые железки?
    https://habr.com/ru/company/ua-hosting/blog/388299/
    web.media.mit.edu/~achoo/polar3D

    А у вас очень узкая область, спроса нет никакого.

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

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

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

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

    python - самая медленная виртуальная машина (правда есть решения по ее ускорению) зато самая крутая поддержка сообществом и библиотеками. Но использовать ее как встраиваемую - сложно, особенно если важна защита от выхода из песочницы.
    Ответ написан
    Комментировать
  • Можно ли выбрасывать исключение в предикатах?

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

    Неужели вы хотите ронять приложение, если пользователь выбрал в настройках не ту директорию? Например была выбрана флешка а потом ее извлекли, ваша программа попытается открыть катало и упадет.
    Ответ написан
    Комментировать
  • Можно ли удаленно ребутнуть виндоус сервер без захода по RDP?

    @rPman
    В сети windows (локальная сеть и когда ваша и удаленная машины авторизованы в домене либо в рабочей группе пользователи с одинаковыми именами и паролями) можно воспользоваться штатной командой:
    Использование: C:\WINDOWS\system32\shutdown.exe [/i | /l | /s | /sg | /r | /g | /a | /p | /h | /e | /o] [/hybrid] [/soft] [/fw] [/f]
    [/m \\компьютер][/t xxx][/d [p|u]xx:yy [/c "комментарий"]]

    Так же вы можете удаленно управлять шедулером с помощью утилиты schtasks или at, или редактировать реестр штатной утилитой regedt32 и т.п.

    В windows вообще много что можно делать по сети, если предварительно настроить права и политики.
    Ответ написан
    Комментировать
  • Есть ли способ подружить win/linux smb ссылки?

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

    Опишите подробнее, где именно у вас и какие ссылки не работают? Точнее не так, в каких приложениях у вас ссылки везде РАБОТАЮТ?

    Мне известно только одно место, где все универсально - http и браузеры. Заведите ваши файловые сервера через http прослойку, и она будет работать везде. Например webdav можно как монтировать в наутилусе/эксплорере, так и открывать через http
    Ответ написан
  • Как скомпилировать код C# без доступа к сторонней используемой библиотеки?

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

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

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

    На самом деле не обязательно покрывать отладочной информацией ВЕСЬ проект, это слишком раздувает файл логов, затрудняя его анализ и замедляя работу приложения. Обычно вы знаете, в каком месте кода у вас проблема, и именно эту часть покрываете отладочной информацией.

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

    p.s. свой колбек на вызов функции в javascript можно зарегистрировать так:
    (function() {
        var call = Function.prototype.call;
        Function.prototype.call = function() {
            console.log(this, arguments);
            return call.apply(this, arguments);
        };
    }());
    Ответ написан
  • Распознование текста в pdf с внедрением его в тот же pdf, возможно ли бесплатно, т.е. даром?

    @rPman
    Почему текст нужно править и распознавать именно в pdf а не ранее, в jpeg?

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

    p.s. 'не прилагая особых усилий' - не получится
    Ответ написан
    1 комментарий