Задать вопрос
  • Как сделать одну функцию для всех классов?

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

    универсальное решение - метапрограммирование

    Это часто считается говнокодингом, в других языках типа c++ или c# есть препроцессор, простой язык шаблонизатор, игнорирующий частично или полностью синтаксические особенности базового языка

    Код функции разбивается на части, подобные в разных экземплярах этих функций, а различия вносятся через параметры функций препроцессора.

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

    Лично я когда мне нужно в метапрограммирование, (использую не смейтесь php) добавив вызов своей утилиты в сборку , но ничто не мешает взять готовое, первый же гуглеж выдает filepp или gpp (сишный синтаксис макросов)

    недостатки подхода - исходные файлы до макро могут не поддерживаться IDE и редакторами, сломанный контроль синтаксиса и сложнопонятные сообщения об ошибках могут отпугнуть
    Ответ написан
    Комментировать
  • Где найти бота/софт для NFT покупок на Binance?

    @rPman
    Уверен что разработка бота для торовли на площадке, где нет поддержки api (у бинанса нет), будет стоить 100$?
    это значит работать бот будет в браузере на площадке, где сегдня форма одна, завтра другая, после завтра вылетает выпадающее окошко поверх формы...

    p.s. Это игра в наперстки на площадке наперсточника, с завязанными глазами, когда наперсточник сначала забирает у тебя все деньги из кармана, а потом понемногу тебе их возвращает.. но не все
    Ответ написан
    Комментировать
  • Подключение двух NAS к ПК без коммутатора?

    @rPman
    nas умеет две свои карты в bridge (сетевой мост) объединять? тогда да
    с технической точки зрения он должен уметь, вопрос есть ли эта возможность в интерфейсе
    Ответ написан
    Комментировать
  • Как настроить источник данных в Excel, как файл подключения в сети?

    @rPman
    А если один раз настроить, сохранить файл как шаблон и растиражировать его по пользователям домена например скриптами?
    Ответ написан
    1 комментарий
  • Не работает сенсор на пк с android-x86, что делать (ЗАКРЫТО)?

    @rPman
    на 4pda кто то успешно ставил на этот планшетник какую то древнюю сборку android

    могу предположить что проблема с сенсором в том что новые версии android драйверов ее не поддерживают
    Ответ написан
    Комментировать
  • Сколько хранятся файлы, отправленные в личный приватный канал Telegram?

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

    @rPman
    это не вирусы в файле, это антивирусы у virustotal их 'детектируют', не являясь по факту антивирусными программами

    p.s. популярные 'официальные' торент клиенты содержат куча adware и просто bloatware, даже если их не детектируют нормальные антивирусы, это не значит что этот мусор не вредит пользователям.

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

    @rPman
    Тебе на php нужно симулировать отправку данных html формы?

    Это делается инструментом curl (пример), либо консольной утилитой (команду покажет сам браузер в дев-консоли, на вкладке network правую кнопку на нужном вызове - копировать - curl команду).
    Ответ написан
  • Как получить m3u8 файл с сайта?

    @rPman
    Попробуй сконвертировать m3u8 файл в готовый видеофайл с помощью ffmpeg (он умеет загружать), чтобы не перекодировало указывай кодек -c copy

    Если сайт смотрит на http заголовки, который отправляет плеер/качальщик, и блокирует их, то очевидно их придется вручную подставлять, копируя из девконсоли браузера, один раз скопируй команду загрузки куска видео затем напиши скрипт, загружающий этой командой все куски локально и собирай с помощью ffmpeg
    Ответ написан
  • Проблемы с производительностью Selenium на python?

    @rPman
    Попробуй сменить 'драйвер' с chromium на firefox

    не факт что будет быстрее, может даже медленнее, но почему бы не проверить?
    Ответ написан
  • Какой ноутбук купить для Linux?

    @rPman
    В подавляющем большинстве случаев, проблемы с драйверами в linux у ноутбуков - это проблемы с тачпад (редко, точнее не из коробки но решаемо), bluetooth/wifi (тоже не часто, но бывает что даже не решаемо) и с видеокартой (это боль и страдание в linux, ибо производителям это не надо, а вот палки вставить свободным альтернативам windows - это пожалуйста).

    Если gpu ускорение не требуется, то в подавляющем большинстве случаев проблем нет, intel, nvidia, amd, осообенно не самые старые видеокарты, прекрасно работают в linux, а иногда даже без проблем и 3d-ускорение

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

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

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

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

    Табличный процессор наверное нормальный не найти
    посмотри sc а для математики, графиков и анализа используй сторонние средства типа gnuplot, ну и пиши код на свои задачи анализа с использованием библиотек типа gsl.

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

    Т.е. не пытайся найти универсальную пилюлю на все задачи, linux это путь 'самурая', ой, по программе на задачу а не все включено
    Ответ написан
    Комментировать
  • Средства администрирования серверных компонентов для Linux?

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

    Но вот красивого и удобного графического интерфейса для всего сразу нет.
    Ответ написан
    1 комментарий
  • Высокие цены на видеокарты с нами навсегда?

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

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

    Вот желающим поиграть с большими нейронными сетями (или иными gpgpu вычислениями) плакать крупными слезами еще долго.
    Ответ написан
    2 комментария
  • Как скомпилировать программу через командную строку используя только возможности виндоус?

    @rPman
    Возможностей windows для этого будет мало. В штатной поставке идет наверное только .net компилятор (это c# или js.net/vb.net где то с win8), т.е. с помощью .net можно сгенерировать текст программы и скомпилировать ее командной строке или кодом, получишь exe но для .net виртуальной машины.
    ------------------------
    Для создания своего языка программирования и интерпретатора есть свои инструменты, и много, для питона например lexer, но вот чтобы сразу и компилятор в нативный код получился, уже сложнее, все в основном не заморачиваются бинарным кодом и переводят в си язык с стараясь следовать posix тогда получившаяся программа будет кросплатформенной (или относительно легко таковой сделать) а уже получившийся код компилируют в бинарник.

    Но если речь в принципе о задаче и не важно как она будет решена, наиболее эффективный способ использовать llvm. И хотя тут так же будет не нативный код а байткод для виртуальной машины llvm, это все равно будет лучше, так как благодаря современным технологиям, виртуальная машина многие места программ оптимизирует в процессе выполнения и они могут работать даже быстрее нативного бинарника (сам в шоке, стремовый парсер json у меня на llvm работает чуть ли не в 2 раза быстрее gcc, который быстрее в 2 раза майкрософтовского)
    p.s. ой тяжко тебе будет с windows, не невозможно а просто сложно, речь о создании и настройки окружения для получения результата... даже кросскомпиляция из linux в windows может оказаться проще, поэтому сразу смотри в сторону cygwin или даже wsl подсистемы
    Ответ написан
  • Как сделать что-то если наступил следующий день/неделя/месяц/год на Python?

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

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

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

    @rPman
    направления решения задачи многопользовательского редактирования:

    - нулевое, самое злобное для клиентов, выдавать ошибку, при попытке сохранить документ, если его редактировали, обновлять форму и предлагать ввести все заново, реализуется полем 'last modified time', которое загружается на форму и отправляется с запросом на обновление, если сервер видит их разными - писать ошибку.

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

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

    - третье, наилучшее в современных реалиях, применять изменения и выводить их в тот же момент как они вносятся на форму, как документы google docs, видно в какой ячейке какой пользователь сейчас поставил курсор, можно даже подсвечивать цветами, с затуханием. Рекомендуется, как ни странно достаточно проста в реализации, если интерфейс client side javascript а не генерация html на сервере.

    Все три способа требуют оперативную информацию о наличии блокировок пользователями, что реализуется с помощью вебсокет
    Ответ написан
    Комментировать
  • Не могу вывести результат получаемый от Google recaptcha v2, как это можно сделать?

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

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

    p.s. отладочные логи выводи не в ответ с помощью echo а пиши в файл
    Ответ написан
    Комментировать
  • Какой Линукс пойдет на слабый ноутбук?

    @rPman
    на ноутбуке хочу разместить хостинг мини программы(потребление не менее 3-х % ОЗУ и ядра)
    минимальная конфигурация linux (для deb пакетных менеджеров, это debian/ubuntu/mint/...) можно установить с помощью debootstrap, собственно им пользуется и штатный установщик, но он добавляет 100500 дополнительного софта, а так минимальный конфиг занимает на диске примерно 200мб и в оперативной памяти после загрузки где то десяток другой мб ram

    порядок установки:
    * загружаешься в другой linux (любой, но той же архитектуры что и целевая), можно из виртуалки все делать, если пробросить целевой диск внутрь
    * разбить диск на нужные разделы, если будет использоваться стандартная файловая система ext/btrfs/.. и legacy mbr bios то хватит одного корневого раздела, если есть efi то понадобится еще один раздел fat для efi, если нестандартные файловые системы или конфиг к примеру с raid или шифрованием, то понадобится еще /boot, если используется gpt диск (не mbr) то еще понадобится biosboot раздел на 1мб
    * примонтировать корневой и /boot разделы
    * запустить debootstrap с указанием ос и этого каталога
    * установить grub-install /dev/диск_установки --root-directory=/каталог_с_установкой
    * chroot /каталог_с_установкой
    * настроить пароль для passwd root и /etc/fstab

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

    desktop environment с gui для задач хостинга даже не требуется, если что можно поставить что-нибудь максимально простое awesome, openbox, icewm, eEnlightenment, lxde, xfce,... мало того, по умолчанию с xserver должен ставиться совсем уж минималистичный twm, в оперативной памяти эти вещи будут занимать от силы пару сотен мегабайт (на gentoo я настраивал awesome с последними версиями системы на 50мб ram, на машине с 1гб ram запускал современный браузер)

    если тебе нужна графика чтобы только настраивать но для работы не требуется, то можно подключаться к машине удаленно, используя локально установленные DE (например с windows машины в сети установив cygwin xwinserver), это штатный режим работы xserver (в локальной сети можно даже игры запускать)
    Ответ написан
    Комментировать
  • Как оповещать пользователей?

    @rPman
    штатная консольная утилита samba
    smbclient -M MACHINE_NAME < message.txt
    Ответ написан
    Комментировать