Задать вопрос
  • Как обновить FFmpeg на CentOS 7?

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

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

    Не правильно - выбрать другой, более удобный язык для написания приложений баз данных, мне понравилась Microsoft Visual Studio и .net framework, инструменты работы с базой данных и генерации кода (DataSet, DataBinding,... DataGridView) интерфейс к базе данных клепается щелчками мышки (по крайней мере так было когда вышла 2013 версия и может позже, сейчас среда стала монструознее и глючнее, но наверняка не менее удобной), я мало работал с их штатным механизмом создания веб приложений (наверняка там все будет хорошо завязано на майкрософтовские продукты) если все ок то этот вариант может оказаться даже верным.
    Ответ написан
    Комментировать
  • Как получать сообщения из больших Telegram-каналов?

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

    @rPman
    в комментариях к вопросу все что надо уже сказали.
    Первая проблема - хранение данных (переменные, структуры, объекты), вторая - код.

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

    2 вариант - свести все разнообразие используемых языков программирования к одному (например байткоду), и использовать общий фреймворк, если это позволено, такое есть как для java jvm, так и для .net clr (c#, cpp#, vb#, python#,...) или более современно и предпочтительнее (быстрее, больше возможностей и прочее но и сложнее) - llvm, правда с общим фреймворком будет сложнее.
    В этом варианте код плагинов скорее всего должен будет подгружаться в рантайме используя идеологию dinamic link library, но не обязательно.

    Интересным вариантом может быть линковка во время сборки проекта (не во время выполнения, т.е. потребуется перезапуск, в подавляющем больинстве случаев загрузка плагина на лету не требуется, dll чаще используется как инструмент организации хранения и распространения), отличным примером являются объектные файлы компиляции c/c++ компилятора (на самом деле есть компиляторы и для других языков, даже python с помощью nuitka переводится в c++) и уже на месте с нужной конфигурацией все они собираются линкером в один запускаемый бинарник, и при этом исходные коды не распространяются а процес сборки проходит достаточно быстро (он понадобится при смене конфигурации плагинов или обновлении версии какого либо одного из списка)
    Ответ написан
    4 комментария
  • Как сделать гравитацию между большим количеством объектов на JS?

    @rPman
    Гравитационная задача N тел, лучше на английском

    разобравшись с математикой, реализуй сначала на javascript а потом подумай как бы использовать webgl шейдеры для gpgpu (когда то была реализация opencl, называлась webcl, очень жаль что ее все браузеры забросили) так как ресурсов процессора на это не хватит

    p.s. для задач игровых может хватить простого сложения векторов скоростей гравитационного влияния каждого тела на каждое тело умноженных на очень маленький временной интервал, чем меньше интервал тем точнее будет симуляция (но она по любому будет не точной), трудоемкость m*n^2 где где m - количество этих временных интервалов в секунде а n - количество объектов
    Ответ написан
    Комментировать
  • Что из железа сильнее всего влияет на скорость сайтов?

    @rPman
    Железо до 2010 года (если оно не было топовым) может не потянуть youtube видео, не хватит процессора, проверял (веб клиент на загрузку контента, не на декодирование, тратил все ресурсы). Притом что само видео в формате 480p и даже 720p отдельным плеером смотреть было можно.

    Оперативная память до опеделенного момента важна именно своим объемом, настоятельно рекомендую минимум 4Гб. Я тюнил машину 2007г (asus eeepc900) с 1Гб ram, ставил кастомную сборку linux (awesome de + gentoo = 54мб ram на систему, все остальное браузеру, ubuntu при таком раскладе кушала порядка 250мб), в принципе работать с 1 страницей в firefox (он лучше с оперативной памятью работает) можно было, обязательно отключение рекламы,.. хотя это спорно, на ее отключение тоже тратятся ресурсы.

    В этом случае если оперативной памяти хватает, первым местом для требования - процессор, его кастастрофически не будет хватать, выбор ddr2 или ddr3 очевиден - второе (так как машины того времени по скорости сильно зависели от оперативной памяти), по скорости результат очень сильно отличается, я очень долго (эта машина все еще работает, на ней ребенок играет в не самые старые игры) сидел на машине с dd3 2013г (amd fx 6100), и даже когда я встроенную видеокарту использовал для теста, fullhd видео на ютубе смотреть было можно без проблем (для 60fps уже нужна видеокарта)

    Видеопамять сейчас вообще не критерий, начиная со 128мб выделив встроенной видеокарте будет хватать для офисных задач и веб серфинга

    И не забудь про ssd диск, по деньгам это незначительные траты, но системный диск обязан быть быстрым, это очень сильно влияет на качество работы

    p.s. выбор ОС для твоих описанных задач без вариантов - linux, настоятельно рекомендую xubuntu (точнее xfce de, сменить можно в любой момент так что ставь что угодно ubuntu, kubuntu, хоть edubuntu..), потому что для новичков первая ос от каноникал наилучший выбор, в этом случае тебе может хватит 2гб ram

    windows 10 потребует минимум 4гб, я видел человека который пытался сидеть на 1гб планшете с win10 (оно таким поставлялось), это было садамаза.

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

    p.p.s. при выборе ретромашины, смотри поддержку ее процессором x64 ос, так как 32-битные потихоньку из поддержки уходят, например linux уже не найдешь современный (то не значит что нельзя будет запустить, просто для этого понадобится опыт и силы)
    Ответ написан
    Комментировать
  • Нужна сборка без обновлений, но с магазином, есть такая?

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

    p.s. раз в 1-2 года майкрософт выпускает коммулятивное обновление, которое сбрасывает все твои отключения и надстройки, что по мнению майкрософта неправильные, к тебе вернутся все metro приложения, скайпы, onedrive и прочий шлак...

    как бы ты не старался, компьютер с windows уже не является твоим.
    Ответ написан
    Комментировать
  • Как решить ошибку с подключением Access?

    @rPman
    начиная с этой версии 64-бидт поддержка вроде бы должна быть
    https://www.microsoft.com/en-us/download/details.a...
    или лучше новее
    https://www.microsoft.com/en-us/download/details.a...
    Ответ написан
    Комментировать
  • Бывают ли ограничения в законодательстве на политику тарификации услуг?

    @rPman
    за что?
    сайт твой, правила показа рекламы - твои, какие то условия предоставления рекламы могут быть у рекламных сетей, чьи баннеры ты размещаешь, но на сколько я знаю никаких требований к обязанности показа этой рекламы = нет
    Ответ написан
  • Как убрать gnu grub?

    @rPman
    * Для режима загрузки в биосе legacy boot:
    Для дисков с форматом разделов mbr (dos) grub хранится в первых секторах диска, для его удаления достаточно заменить на другой загрузчик или просто перезаписать. Для дисков формата gpt требуется раздел biosboot размером 1мб, достаточно его удалить.
    Только непонятно зачем, место не занимает есть не просит, достаточно сменить загрузочный диск на другой и ты это не увидишь

    * Для способа загрузки EFI (secure boot):
    Загрузочная область не используется, grub прописывает свою библиотеку в EFI раздел и прописывает в меню загрузки bios, редактируется меню загрузки в самом биосе либо утилитами для редактирования (например linux с помощью efibootmgr)
    Ответ написан
    5 комментариев
  • Как добавить проверку дополнительного значения из базы в конструкцию if?

    @rPman
    неправильно используешь or так как php считает что ты сделал такое (цвет = красный) или (красноватое это истина), любое значение не 0 и не пусто это true поэтому Красное срабатывает

    правильно - if(in_array($apple->color,['Красное','Красноватое'])...

    еще более правильно, если html отличается только цветами или именами классов, то завести массив и подставлять только изменяющиеся значения в шаблон типа так:

    где то определяешь в константах:
    $colors=['Красное'=>'#FF0000','Красноватое'=>'#FF0000',...];

    а в коде подстановки цвета будет что то такое:
    <?php=make_color_html($colors[$apple->color]??UNKNOWN_COLOR); ?>

    либо сразу html шаблон
    <text style="color:<?php = $colors[$apple->color]??UNKNOWN_COLOR; ?>">
    Ответ написан
    1 комментарий
  • Как перевести Tether TRC20 с помощью TronLink?

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

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

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

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

    Чтобы нода заработала как выходная в интернет - это нужно специально включать в настройках, по умолчанию она отключена.
    Ответ написан
    Комментировать
  • ./manage.py dumpdata > dump.json создает пустой файл, как это решить?

    @rPman
    обычно если > xxx не перенаправляет вывод в файл, это значит не тот поток выбран, нужно stderr перенаправить, типа так:
    ./manage.py dumpdata 2> dump.json
    а конкретно тут Сергей Горностаев все правильно сказал, от работы с потоками лучше избавяться, если есть нормальный способ указать как сохранить файл
    Ответ написан
    Комментировать
  • Как сделать сервер без использования VPS?

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

    сейчас это называют облачные услуги, амазон, гугл, майкрософт азуре, в россии яндекс или тот же селектел

    цена за сутки просто vps-ки будет в районе 20-30 рублей
    Ответ написан
    Комментировать
  • Можно ли передать POST запрос на 2 сраницы разом?

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

    @rPman
    Задача не ясна, что значит вычитать максимально много
    наиболее точное значение будет - само число

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

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

    @rPman
    разработка это не только код но и настройка окружения и отладка, без этого ты будешь вставать в ступор при любой проблеме
    попробуй настрой dbg
    Ответ написан
    Комментировать
  • Каким образом защищенный сайт допускает запросы "живых" пользователей, но блокирует запросы Python Requests и аналогов и как это обойти?

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

    Затем смотришь нужные тебе запросы, они могут требовать (в заголовках или в параметрах) некие данные, которые собственно обфусицированным скриптом сайт и генерирует в 99% случаев это не скрытая строка а напрямую запрашиваемая в предыдущих запросах, т.е. ее можно поискать в par файле (лучше не как текст а разбирай json так как там могут быть строки с ковычками). Вместо ручного анализа может оказаться проще писать небольшой скрипт ковыряющийся в этих логах и доступных html/js файлах сайта.

    По уму отладчик в браузере умеет искать по истории запросов (там где есть поиск по url есть кнопка лупа - поиск, ее нажатие открывает еще одно поле поиска уже по данным)

    Работа с логом очень помогает, но сочувствую тебе.

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

    p.s. для тех кто пишет защиту от парсинга - совет, увеличивайте нагрузку на процессор (в т.ч. используя gpu) чтобы всякие selenium потребовали ну очень много ресурсов (грубо говоря фиктивную задачу как в майнинге либо 100500-уровневая раз дешифрация или хеширование)... подбирая такие нагрузки, чтобы рядовой клиент все еще не замечал проблем а вот массовый анализ стал бы затратным.
    Такова селяви.. либо делай данные общими либо создавай проблемы всем.
    Ответ написан
    Комментировать
  • Как реализовать на php экспорт данных вида json из SQL - в csv?

    @rPman
    Ты неправильно создаешь csv, строки в валидном csv могут содержать \n и разделитель (дублируется), используй штатную функцию fputcsv, записывающую строчку в файл (аналогично читать fgetcsv)

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

    p.s. а у тебя в json точно только один уровень? если есть вложенности на это нужно проверку делать и как то реагировать
    Ответ написан
    Комментировать