Задать вопрос
  • Что произойдет с кабелем usb 3.0 если в нем будет оборвана жила? Он опустится до 2.0 или в принципе откажется работать?

    VoidVolker
    @VoidVolker Куратор тега Железо
    Dark side eye. А у нас печеньки! А у вас?
    Зависит от того, какая именно жила - там их целый пучок. Если раньше диск определялся как 3.0, а теперь как 2.0 - то да, такое вполне возможно. Замените кабель и проверьте результат.
    Ответ написан
    Комментировать
  • Нужно правильно отформатировать текст в программе notepad++, был бы очень благодарен за помощь?

    @dodo512
    Найти: (\S)\r?\n(\S)
    Заменить на: $1 $2

    https://regex101.com/r/WE1miV/1
    Ответ написан
    Комментировать
  • Какой переводчик типа Google Translate, но удобнее мне использовать?

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

    Только gpt ии от топов типа openai может лучше, но и там лучше агента запилить, так как у вас требования сохранения разметки, а никто не умеет из каропки
    Ответ написан
    5 комментариев
  • Как устроен вызов классов в Python?

    Vindicar
    @Vindicar
    RTFM!
    Насколько я это понимаю:
    1. Вызов класса транслируется в обращение к метаклассу, т.е. klass.__class__.__call__()
    2. По умолчанию метакласс обращается к klass.__new__(). Если класс не определяет этот метод, он ищется по предкам. Задача __new__() - вернуть экземпляр класса, который был "сконструирован". Это не обязательно новый экземпляр, у нас может быть синглтон или ещё что-то.
    3. Получив экземпляр instance, метакласс обращается к instance.__class__.__init__(), чтобы проинициализировать возвращённый экземпляр. Вроде где-то упоминалось, что если __new__() возвращает экземпляр другого класса, то и __init__() будет вызван от этого другого класса.
    4. После того, как экземпляр был проинициализирован, klass.__class__.__call__() его возвращает программе
    Это подтверждается таким тестовым кодом:
    class MetaTest(type):
        def __call__(self, *args, **kwargs):
            print('MetaTest.__call__() is being called...')
            instance = super().__call__(*args, **kwargs)
            print(f'MetaTest.__call__() returning {instance=}')
            return instance
    
    class Test(metaclass=MetaTest):
        def __new__(cls):
            print('Test.__new__() is being called...')
            instance = super().__new__(cls)
            print(f'Test.__new__() returning {instance=}')
            return instance
        
        def __init__(self):
            print(f'Test.__init__() has been called on instance = {self}')
    
    
    t = Test()

    И вот результат выполнения:
    MetaTest.__call__() is being called...
    Test.__new__() is being called...
    Test.__new__() returning instance=<__main__.Test object at 0x0000028EC8E41700>
    Test.__init__() has been called on instance = <__main__.Test object at 0x0000028EC8E41700>
    MetaTest.__call__() returning instance=<__main__.Test object at 0x0000028EC8E41700>
    Ответ написан
    7 комментариев
  • Как сконвертировать список в JSON?

    NeiroNx
    @NeiroNx
    Программист
    a = ['A', 123, 'B', 321, 'C', 1234]
    b = [dict(zip(a[::2],a[1::2]))]
    Ответ написан
    Комментировать
  • Как сконвертировать список в JSON?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    from itertools import batched
    
    a = ['A', 123, 'B', 321, 'C', 1234]
    b = dict(batched(a, 2))
    Ответ написан
    Комментировать
  • Почему низкий FPS и задержка при передаче изображения с камеры робота?

    chupasaurus
    @chupasaurus
    Сею рефлекторное, злое, временное
    Гонять MJPEG по 802.11n - заранее гиблое дело, т.к. только в идеальных условиях скорости хватит. MiniUSB там ненастоящий и для переходника в RJ-45, да.
    Ответ написан
  • Почему низкий FPS и задержка при передаче изображения с камеры робота?

    @rPman
    video трансивер имеет жалкий процессор, похоже его не хватает просто передавать данные, не важно что там usb2 (до 30мбайт/с) и 72мегабита wifi, они не будут нагружены на полную, потому что процессор данные не успевает передать, трансивер заворачивает кадры в mjpeg, а на это нужны вычислительные ресурсы, которых нет... попробуйте найти способ отключить mjpeg и передавать raw трафик, возможно станет лучше

    И да, mjpeg это очень широкий канал с низким качеством изображения (соотношение качество/канал очень низкое) у него только одно достоинство - относительно низкие требования к вычислениям, модуль сжатия jpeg как я понимаю дешевле (и лицензионно чище) чем видеокодеки
    Ответ написан
    Комментировать
  • Getaddrinfo failed: почему Python не может найти localhost?

    @Zerg89
    PostgreSQL работает и доступен (в Docker-сети всё ок)

    Если я правильно понял у вас postgres в докер контейнере
    Тогда вам не на localhost надо подключатся а к ip контейнера или по днс имени контейнера
    Localhost это внутренний адрес самой машины а вам надо подключится к виртуальной сети этой машины
    Ответ написан
    Комментировать
  • Как называется такая структура данных?

    GavriKos
    @GavriKos
    Микропетпроджект - домашнее облако homeCloud
    Хеш-таблица )
    Ответ написан
    1 комментарий
  • На Q&A пробираются рекламные боты?

    TosterModerator
    @TosterModerator Куратор тега Хабр Q&A
    Модератор Хабр Q&A
    Возможно криминал, по коням!

    Что делать?
    Ничего не надо делать, все под колпаком и эти боты прекрасно видны модераторам. Но поскольку ресурсов на системное решение проблемы пока не выделяют, они неспешно обрабатываются руками.
    Ответ написан
    Комментировать
  • У меня не получается спарсить ссылку на фото с сайта, help?

    @rPman
    Не нужно ничего там парсить, сайт предоставляет официальный механизм для автоматизации - rss
    https://new-science.ru/search/%D0%B3%D0%BB%D0%BE%D...
    <?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
            xmlns:content="http://purl.org/rss/1.0/modules/content/"
            xmlns:wfw="http://wellformedweb.org/CommentAPI/"
            xmlns:dc="http://purl.org/dc/elements/1.1/"
            xmlns:atom="http://www.w3.org/2005/Atom"
            xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
            xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
            >
    
    <channel>
            <title>Вы искали глобальное потепление | New-Science.ru</title>
            <atom:link href="https://new-science.ru/search/%D0%B3%D0%BB%D0%BE%D0%B1%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5+%D0%BF%D0%BE%D1%82%D0%B5%D0%BF%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5/feed/rss2/" rel="self" type="applica
    tion/rss+xml" />
            <link>https://new-science.ru</link>
            <description>Актуальные новости научных открытий, высоких технологий, электроники и космоса.</description>
            <lastBuildDate>Sat, 05 Apr 2025 17:04:46 +0000</lastBuildDate>
            <language>ru-RU</language>
            <sy:updatePeriod>
            hourly  </sy:updatePeriod>
            <sy:updateFrequency>
            1       </sy:updateFrequency>
            <generator>https://wordpress.org/?v=6.7.2</generator>
    
    <image>
            <url>https://new-science.ru/wp-content/uploads/2019/08/favicon.png</url>
            <title>Вы искали глобальное потепление | New-Science.ru</title>
            <link>https://new-science.ru</link>
            <width>32</width>
            <height>32</height>
    </image>
    ...
                    <item>
                    <title>Атмосферные реки мигрируют к полюсам, изменяя климат планеты</title>
                    <link>https://new-science.ru/atmosfernye-reki-migrirujut-k-poljusam-izmenyaya-klimat-planety/</link>
    
                    <dc:creator><![CDATA[New-Science.ru]]></dc:creator>
                    <pubDate>Wed, 27 Nov 2024 07:20:47 +0000</pubDate>
                                    <category><![CDATA[Природа]]></category>
                    <guid isPermaLink="false">https://new-science.ru/?p=47504</guid>
    
                                            <description><![CDATA[<img width="1200" height="525" src="https://new-science.ru/wp-content/uploads/2024/11/865-6.jpg" class="webfeedsFeaturedVisual wp-post-image" alt="" st
    yle="display: block; margin-bottom: 5px; clear:both;max-width: 100%;" link_thumbnail="" decoding="async" loading="lazy" srcset="https://new-science.ru/wp-content/uploads/2024/11/865-6.jpg 1200w, https://new-scienc
    e.ru/wp-content/uploads/2024/11/865-6-768x336.jpg 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" />Атмосферные реки, мощные потоки водяного пара, взвешенного в атмосфере, уже несколько десятилетий движутся
    неожиданным образом, изменяя характер осадков и климат в глобальном масштабе. Что такое атмосферная река? Атмосферные реки — это огромные потоки водяного пара, которые циркулируют в атмосфере и переносят количеств
    о влаги, сравнимое с крупнейшими реками на Земле, такими как Миссисипи. Эти небесные реки &#8230;]]></description>
    
    
    
                            </item>
            </channel>
    </rss>
    Ответ написан
    Комментировать
  • Как эту задачу решить по другому?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Немножко аналитики в уме и решение сводится к
    print(31.5 / 3 * 4)
    Ответ написан
    Комментировать
  • Как эту задачу решить по другому?

    @dim5x
    ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
    Очевидно не перебирать все варианты, а решить систему уравнений:
    import numpy as np
    
    A = np.array([[5, 3], [3, 3]])
    B = np.array([46.2, 31.5])
    
    # Решаем систему уравнений
    x, y = np.linalg.solve(A, B)
    print(round(x, 2), round(y, 2))
    Ответ написан
    Комментировать
  • Софт для сканирования и мониторинга локальной сети?

    MaxLK
    @MaxLK
    сети, виртуализация, СХД...
    Вижу два решения:
    1. Нанять того кто знает и умеет и платить ему.
    2. Пойти таки учиться.
    Оба эти варианта дадут решение более надёжное и быстрое чем ответы от та их же горемык, которые принципиально не хотят делать правильно и хорошо потому что "это реальный мир"...
    Ответ написан
    2 комментария
  • Софт для сканирования и мониторинга локальной сети?

    hint000
    @hint000
    у админа три руки
    Куда вы собираетесь ставить такой софт? Чтобы "было видно какого рода трафик гуляет по локалке и кто в какой мере нагружает сеть", требуется, чтобы весь этот трафик проходил через компьютер с предполагаемым мониторинговым софтом. Локальная сеть работает не так. Трафик по локальной сети ходит через свитчи. Да, вы можете каждого посадить в отдельный VLAN и сделать ваш ПК маршрутизатором между всеми VLAN'ами, но рискуете этим сильно затормозить работу локальной сети.
    Если свитчи умеют по SNMP рассказывать про счётчики траффика на отдельных портах, то это был бы оптимальный вариант. Тогда нужно выбрать подходящий софт, умеющий собирать данные по SNMP и генерировать отчёты. Возможно, Zabbix, но он монструозный. А возможно, вам хватит зайти в интерфейс управляемого свитча и просто глазами посмотреть счётчики трафика по портам, вы увидите, кто в данный момент нагружает больше, без всякого дополнительного софта (если свитчи неуправляемые, то придётся заменить их на управляемые).

    Вообще, трафик в локальной сети редко вызывает какие-то проблемы. Рассуждения про "конфликты" даже странно слышать. Могут быть конфликты адресов, если вы будете назначать адреса вручную и при этом забывать, какие уже назначили. На практике таких конфликтов не встречал десятки лет, 90% адресов выдаёт DHCP, небольшое количество прописанных статически вручную нетрудно учитывать. Что касается "конфликтов" в виде L2-петель в топологии, то их на уровне настроек управляемых свитчей можно обнаруживать и предотвращать. За всё время раза два видел петли: один раз лет 10 назад сам сделал во время настройки (через несколько минут заметил косяк), другой раз лет 5 назад при аварийном вызове обнаружил чужой косяк в виде петли. Вот и все "конфликты", а для постоянного мониторинга хватает пингов в Nagios.
    Если же интересует трафик между локальной сетью и интернетом, то как раз желательно иметь ПК-маршрутизатор.
    Ответ написан
    3 комментария
  • Недоступность серверов Aeza?

    MvcBox
    @MvcBox
    Software Engineer [C/C++/JS(for Node.js)/etc]
    Как говорится: "Добро пожаловать" :)
    У Aeza всю их историю существования вечные проблемы, поэтому давно от них свалил. Не надейтесь, что станет лучше.

    #offtop
    Немного исторической справки. Aeza - это бывший MskHost, который взломали и который остался должен денег своим клиентам.
    Но вместо того, чтобы компенсировать клиентам убытки, они просто переоткрываются под новой вывеской и продолжают вести "бизнес" дальше.
    Ну и как вишенка на торте:
    - https://www.kommersant.ru/doc/7624577
    - https://t.me/mash/62931
    Ответ написан
    12 комментариев
  • Я сломал виртуальный коммутатор для WSL. Как исправить?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    Вам нужно удалить виртуальный коммутатор TESTDEL.
    Можно из оснастки Hyper-V, можно из Powershell.
    Можно еще потом сделать запрос в гугле "how to reset wsl network"
    и сделать что советуют типа winsock reset и т.п.
    В крайнем случае можно сделать wsl --reset, wsl-uninstall, потеряв текущие данные и переустановить с нуля.

    "Я хотел пробросить на WSL все TCP-порты от 1024 до 65535" - вы же в курсе, что у WSL и хостовой Windows общий localhost и проброс в общем и целом не требуется.

    P.S. Не слушайте не осиливших выше и не понимающих, какие удобные особенности интеграции дает WSL для разработки.
    Ответ написан
  • Как правильно обрабатывать ошибки при чтении файла?

    Vindicar
    @Vindicar
    RTFM!
    Тебе правильно написали про with, а я добавлю в чём проблема:
    # допустим, это наш код
        try:
            file = open("config.json", "r")  # исключение может произойти тут
            config = json.load(file)  # или тут
            print(config)
        except FileNotFoundError:
            print(">>> Файл не найден!")
        except PermissionError:
            print(">>> Доступ запрещен!")
        finally:
            print(">>> Файл закрылся!")
            file.close()

    У тебя две разные ошибки, на которые требуются разные реакции.
    Если исключение произойдёт в open(), то переменная file не будет создана, так как до присваивания дело просто не дойдёт. Если же исключение произойдёт в load(), то переменная file будет существовать, файл бдует открыт, и его нужно будет закрыть. Таким образом, тебе нужно или обработать эти ошибки отдельно, или использовать другие средства (вроде оператора with) для закрытия файла.
    Ответ написан
    Комментировать
  • Как с помощью Selenium на Python найти элемент html страницы, который расположен в #shadow-root (open)?

    Mike_Ro
    @Mike_Ro Куратор тега Python
    Python, JS, WordPress, SEO, Bots, Adversting
    How to automate shadow DOM elements using selenium?

    Если коротко, то порядок следующий:
    1. Сначала нужно найти в основном dom тот элемент, к которому прикреплен shadow root.
    2. У п1. нужно получить свойство .shadow_root.
    3. И вот уже у п2. нужно вызывать его собственный метод find_element, чтобы найти нужный элемент внутри него.

    Или так:
    Локатор не находит элемент на сайте, хотя набран верно, пробовал разные варианты, не помогает, в чём проблема?
    Ответ написан
    3 комментария