• Как исправить ошибку чтения аргумента?

    @va_k
    Вы потеряли в функции возвращаемое значение. Надо так
    def __getattribute__(self, name):
          print(name)
          return super().__getattribute__(name)
    Ответ написан
    3 комментария
  • Как заблокировать нежелательный dhcp сервер?

    @SunTechnik
    DHCP работает через broadcast: client dhcp шлет всем пакет с запросом на конфигурацию, в ответ dhcp сервер шлет конфиг.
    То-есть, что бы заблокировать dhcp сервер - он должен оказаться в отдельной физической подсети и нужен router, который обеспечит доступ для нлрмального трафика.
    Чем о делять и чем маршрутизировать - зависит от того, что у Вас есть.
    1. Можно использовать vlan и L3 коммутатор.

    2. Компьютер, в который поставить 2 сетевые карты. ( одна - поделбчена к принтеру, другая - в сеть. На компьютере настроен forward пакетов)

    3. Существующий роутер, у которого есть свободный порт.

    Но сама постановка задачи звучит странно. Что за модель принтера, может можно сбросить настройки и получить доступ к администрированию?
    Ответ написан
    4 комментария
  • Как исправить ошибку чтения аргумента?

    Vindicar
    @Vindicar
    RTFM!
    __getattribute__() вызывается ДО проверки содержимого __dict__. В большинстве случаев нужен __getattr__().
    А вообще, что ты пытаешься сделать?
    Ответ написан
    3 комментария
  • Почему aiogram не выводит фото?

    febday
    @febday
    Просмотри документацию одним глазком

    В твоём случае нужно использоваться FSInputFile
    Твой код будет примерно такой:
    @router.message(F.text == "/lesmat")
    async def lesmat(msg: Message):
        await msg.answer_photo(FSInputFile("lesmat/lit1.png"))
    Ответ написан
    Комментировать
  • Как web.telegram.org сделал, что не видно в Network запросов?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Веб-разработка
    Он в websocket-соединении, которое было создано до открытия вами DevTools (или до удаления истории).
    Ответ написан
    Комментировать
  • Может ли роутер выступать в качестве ретранслятора внешнего трафика?

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

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

    ValdikSS
    @ValdikSS
    На сайте используется TLS Fingerprint (вероятно, JA3) как один из индикаторов сессии в системе перед веб-сервером, вероятно, это анти-DDoS.
    Так как браузер и curl используют разные SSL-библиотеки и передают разные наборы шифров, сервер предлагает вам пройти challenge.
    Ответ написан
    5 комментариев
  • Как измерить площадь фигуры?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Есть алгоритм Монте-Карло. Ты просто кидаешь рандомные точки на экран и считаешь попадает ли точка в фигуру или нет. Соотношение попаданий к общему число бросков даст тебе соотношение площади фигуры и площади области бросков (экрана).

    Данный метод универсален. Быстр и позволяет аппроксимипровать площать (выдавать приближенное значение) еще до того как будут посчитаны все точки).

    Решение о попадании можно принимать по цвету пиксела.

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

    solotony
    @solotony
    покоряю пик Балмера
    from PIL import Image, ImageDraw, ImageFont, ImageFilter
    
    # Откройте исходное изображение
    img = Image.open('3.png')
    
    # Создайте копию изображения
    img_copy = img.copy()
    
    # Создайте изображение с текстом на черном фоне
    mask = Image.new('L', img.size, 0)
    draw = ImageDraw.Draw(mask)
    font = ImageFont.truetype('3.ttf', size=54)
    text_position = (297, 553)
    draw.text(text_position, 'Your Text', font=font, fill=255)
    
    # Размойте маску
    blurred_mask = mask.filter(ImageFilter.GaussianBlur(10))  # Измените радиус размытия по вашему усмотрению
    
    # Примените размытие к фону
    img_copy.paste(img_copy.filter(ImageFilter.GaussianBlur(10)), (0, 0), blurred_mask)
    
    # Наложите текст на размытый фон
    draw = ImageDraw.Draw(img_copy)
    draw.text(text_position, 'Your Text', font=font, fill=('#00bc44'))
    
    # Сохраните результат
    img_copy.save('output.png')
    Ответ написан
    Комментировать
  • Не могу изменить разрешение экрана на Ubuntu 22.04.03 LTS Как решить проблему?

    smorman
    @smorman
    When In Rome do as The Romans do...
    Используешь Wayland поди?
    С ним не дружат почти все железяки пока ещё.
    Перейти на Xorg и должно всё работать, тем паче с этой карточкой.
    У меня, ну почти такая и все параметры доступны.
    Ответ написан
    5 комментариев
  • Как отправлять api-запросы из браузера?

    Selenium или playwright
    https://playwright.dev/java/

    Любой запрос нужно будет посылать из контекста страницы при помощи js.
    На стороне Java можно будет потом модифицировать запрос и прочитать ответ, сразу как он придёт
    Ответ написан
    Комментировать
  • Как записать информацию из вывода в файл с неизвестным названием?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    как перенаправить информацию из вывода команд в файл, который создается в процессе проверки командой
    #touch $( date '+%Y-%m-%d_%H-%M' )

    Записать имя файла в переменную и дальше везде использовать её. Например:
    …
    file=$( date '+%Y-%m-%d_%H-%M' )
    touch "$file"
    …
    echo -e "               Product Name : $PN_FRU" >> "$file"
    …
    Ответ написан
    Комментировать
  • Правильная и красивая замена if?

    Vindicar
    @Vindicar
    RTFM!
    В комментариях уже написали простое решение, а я его чуток разовью.

    import typing as tp
    
    Func = tp.Callable[[], None]  # функция без апарметров, возвращает None
    
    class FuncMap:
      def __init__(self):
        self.map: tp.Dict[str, Func] = dict()
    
      def register(self, key: str) -> tp.Callable[[Func], Func]:
        def decorate(f: Func) -> Func:
          self.map[key] = f
          return f
        return decorate
      
      def get(self, key: str) -> Func:
        return self.map[key]
      
      def run(self, key: str):
        return self.map[key]()
    
    # а вот так этот класс используется
    fmap = FuncMap()
    
    @fmap.register('11')
    def test():
      print('This is test()')
    
    fmap.run('11')
    Ответ написан
    2 комментария
  • Как правильно вести "документацию"/ заметки сис админу?

    Lopar
    @Lopar
    системный администратор
    Раз в несколько лет вы будете кочевать туда сюда. Блокнот, Обсидиан, Ноушен, Докувики, Эксель\Ворд, Блокнот в клеточку. Постоянно мигрируешь туда-сюда потому что задачи меняются, старые записи устаревают и удаляются, новые записи подпадают под новые требования - что-то для себя, что-то на отдел расшарить итд. Были пароли в Кипасс, не хватало шашечек, переехал на битварден, пока переезжал и привыкал, за пару тройку лет шашешчки подъехали и в кипасс, теперь думаешь про обратный переезд.

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

    wataru
    @wataru
    Разработчик на С++, экс-олимпиадник.
    Никак. Единствнный способ гарантированно защититься от нелицензионного копирования - это вынести ключевую часть функционала на сервер. Любая остальная защита - лишь усложнение реверс инжениринга и взлома. Всегда можно каленым железом вырезать любую проверку ключа из исполняемого кода.

    Активация ключа по телефону/интернету исключает лишь самый тривиальный способ "взлома" - просто копирование одной и той же лицензии по куче компьютеров без модификации исполняемых файлов.

    А так, берете какую-нибудь крипто библиотеку, выдаете сертификат, в котором подписываете своим приватным ключем "Лицензия выдана ООО рога и копыта". В программе зашит ваш публичный ключ. Программа проверяет файл лицензии, что он подписан вашим ключем. Но любой "хакер" умнее вас просто вырежет эту проверку из программы.
    Ответ написан
    4 комментария
  • Какой есть софт для каталогизации файлов?

    @kavabangaungava Автор вопроса
    Всем спасибо!

    Нашел вот такое кроссплатформенное решение -- filelistcreator
    Ответ написан
    Комментировать
  • Восстановление файлов linux?

    @Bwana
    В общем случае никак. Если файл удаляется, блок, где хранились его метаданные (inode), перемещается в пул свободных и связь между ним и блоками хранения данных разрывается. В inode хранится расположение блоков файла на диске. Что именно хранится в блоках данных, котороые найдет какая-либо утилита, файловая система не знает -- все файлы, включая файлы каталогов для нее просто массивы байт (каталоги -- это файлы специального типа, хранящие только имена и ссылки на inоde.
    Ответ написан
    Комментировать
  • Возможно ли эмулировать данные о компьютере отдельно для определённой программы?

    Griboks
    @Griboks
    Для чтения данных о компьютере программа использует системные библиотеки. Для эмуляции надо эти системные вызовы подменить. Сделать это можно разными способами: модифицировать библиотеки, модифицировать системные вызовы внутри программы и тп. Гуглить, наверное, проще в сторону dll inject.
    Ответ написан
    1 комментарий
  • Перекодирование в HEVC - формула зависимости битрейта от размера кадра?

    @grarchangel Автор вопроса
    Сам спросил сам отвечаю. По сути степенная функция.
    Инфу взял отсюда

    Грубо говоря берется эталонный битрейт на нужном разрешении и далее применяется степенная функция от X^0.5 до X^0.75 для получения нужного битрейта в другом разрешении при сохранении исходного качества.

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

    651a97bc5f195424956020.jpeg

    Все что имеет меньший битрейт в исходнике можно скипать из обработки, т.к. качество уже потеряно. С 5.2Тб освободилось 1.5Тб
    Ответ написан
    Комментировать