• Почему datetime.fromtimestamp приводит UTC в локальный naive?

    @Everything_is_bad
    Ну почему сначала не почитать доки, а не бежать сюда, там же явно пишут что "return the local date" https://docs.python.org/3/library/datetime.html#da... и там же явно пишут что есть utcfromtimestamp
    Ответ написан
    2 комментария
  • Qrencode, как сгенерировать qr код на каждую новую строку?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    while read p; do
      qrencode "$p"
    done <file.txt
    Ответ написан
    2 комментария
  • Можно ли установить личность?

    r3n0
    @r3n0
    // _ AppSec // Bug Bounty / Legal Hacking
    Привет.

    Можно ли установить личность?

    Можно, зависит от вычисляющего, его доступов/используемого ПО и политики безопасности компании. Подключаясь к вашей рабочей точке, смартфон сообщает: а) имя устройства; б) MAC-адрес модуля Wi-Fi. При других сценариях, можно анализировать трафик и выцеплять из него интересующую информацию. В совокупности этого будет достаточно для идентификации.

    Бесконтрольное подключение личных девайсов к рабочим сетям есть плохая практика.
    Ответ написан
    Комментировать
  • Настройка 2FA ADFS в NEXTCLOUD?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    А настроили ли вы на стороне ADFS передачу утверждения (claim) о членстве в группе , по которой вы фильтруете пользователей?
    Пример настройки утверждения членства в группе есть в документации AD FS.

    PS Имя группы на скриншоте ищите сами: я его вижу, но мне его руками набивать лень, а скопировать-вставить со скриншота нельзя. Надеюсь это вас убедит в следующий раз вставлять информацию по вопросу текстом.
    Ответ написан
    2 комментария
  • У меня ошибка TypeError: 'list' object is not callable Что делать?

    Vindicar
    @Vindicar
    RTFM!
    Всё перепробовал, а прочитать внимательно - не пробовал.
    Почему ты вообще трогаешь message_handlers, это не декоратор, а список установленных обработчиков. Даже по названию можно догадаться - handlers во множественном числе.
    Тебе нужен message_handler.
    Смотри официальные примеры.
    Ответ написан
    Комментировать
  • Видит ли провайдер к какому порту сервера я подключаюсь при использовании протокола SSH?

    CityCat4
    @CityCat4 Куратор тега VPN
    //COPY01 EXEC PGM=IEBGENER
    Может и увидит и что из этого? Провайдеру насрать на твой трафик, вся нужная инфа уже сама слилась в СОРМ. А если надо - придут, вежливо ввынесут дверь и спросят :)
    Ответ написан
    Комментировать
  • Синхронизация двух директорий через ssh?

    saboteur_kiev
    @saboteur_kiev Куратор тега SSH
    software engineer
    Мне постоянно советуют rsync

    Неужели такая странная хотелка, что нет готового решения?

    Так тебе и советуют готовое отличное решение.

    , но это же просто продвинутая замена scp. Там даже для обратной синхронизации надо его запускать второй раз с другим направлением.

    Нет, это не замена scp. То, что используется тот же протокол не значит что работает одинаково. rsync умеет обновлять файлы частично, экономит трафик.

    Вот пишу я какой-то код на ноуте. А запускаю на сервере. Как мне самым простым способом синхронизировать две директории — локальную и серверную?

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

    В твоих требованиях противоречия.
    То тебе нужно, чтоыб какие-то файлы не синкались. То есть уже нужно поддерживать список исключений и возможно настраивать его на каждом сервере.
    Потом у тебя день поработать на каком-то сервере, а завтра на другом. То есть ситуация, когда у тебя 5-10 серверов и ноут будут синкаться друг с другом?
    Потом ты хочешь "готовое решения", но не хочешь ставить его на каждый сервер/ноут и настраивать. Ну вот есть какой-нить unison, который синкает в обе стороны за один запуск, но его нужно будет и ставить и настраивать как и synthing, который ты не хочешь ставить или настраивать.

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

    Или уж настрой тот же synthing, а настройку добавь себе в гитхаб, чтобы можно было скриптом скачать готовый сетап и все.
    Ответ написан
    8 комментариев
  • Откуда эта функция берет эти файлы?

    честно, сам не знаю откуда там pdf файлы, но у тебя есть явные ошибки в коде.
    ты открываешь файл в режиме для записи («w»). если ты хочешь читать то нужно открывать в режиме для чтения («r»).
    до:
    file = ZipFile(archives[i], 'w')


    после:
    file = ZipFile(archives[i], 'r')


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

    код цикла до:
    #Работа с архивами
        for i in range(len(archives)):
            file = ZipFile(archives[i], 'w')
            content = file.read("discord.txt")
            print(content)


    код цикла после:
    #Работа с архивами
        for archive in archives:
            file = ZipFile(archive, 'r')
            content = file.read("discord.txt")
            print(content)
    Ответ написан
    1 комментарий
  • Можно ли использовать ОС, созданную в hyper-v, как основную?

    Задался недавно вопросом: можно ли создать виртуальную машину в hyper-v, пробросить в неё свою видеокарту и использовать данную гостевую ОС как основную (то есть работать/играть на данной системе)?

    Да, можно, эта фича Hyper-V называется Discrete Device Assignment.
    И какая Windows понадобится для этого (имеется ввиду, можно ли использовать Win 10 или нужна Win server)?

    На хосте - серверная Винда, в качестве гостя вполне сгодится клиентская Винда.
    И если пробрасывать видеокарту в виртуальную машину, то понадобится второй видеоадаптер для хост машины?

    В данный момент - да, понадобится второй адаптер, т.к. устройство пробрасывается целиком. В Windows Server 2025 появится GPU partitioning, но пока хз с какими видяхами и материнками это будет работать.

    Да, кстати, насчёт оборудования. Всё это замечательно, но вам на вашей материнке скорее всего понадобится поддержка SR-IOV, ну и соответственно IOMMU на матери и процессоре.

    Во-вторых, далеко не все видяхи официально поддерживаются технологией DDA, обычно для этого тестируются только pro-шные линейки карт. Может оно будет работать и с вашей картой. Драйвера карт потребительского сегмента могут блокировать запуск карты, проброшенной в виртуальную машину, или просто работать некорректно (блокируют запуск, т.к. не поддерживают сценарий проброса). Например, сейчас для работы ряда AMD-шных карт с пробросом в ВМ нужен костыль vendor-reset (это линуксовый модуль ядра, для Hyper-V не годится). И NVidia относительно недавно начала поддерживать проброс линейки GeForce в виртуалку (и то непонятно, как там с Hyper-V DDA).

    Я сам использую подобный сетап и пишу прямо сейчас с него, но у меня в качестве гипервизора KVM (использую дистр Proxmox), и материнка ASRock Rack ROMED8-2T, где есть вышеуказанные плюшки (кстати, в качестве адаптера для хоста прокатывает встроенный в мать ASPEED AST2500, поэтому полноценная карточка у меня только одна). В гостевую виртуалку с Windows 11 проброшена карточка Radeon RX 5500 XT, с учётом вышеупомянутого костыля в целом работает. Есть некоторая нестабильность, плюс иногда приходится вместе с виртуалкой перезагружать весь хост. Но это следствие того, что AMD не поддерживает для этих карт работу в пробросе (хотя и не блокирует искусственно), с нвидией возможно было бы получше.

    Ищите информацию по ключевым словам VFIO и PCI passthrough, на Реддите есть неплохое коммюнити. И да, готовьтесь копать много информации и перепроверять её (например мой ответ тоже стоит перепроверить, всё довольно быстро меняется) и покупать оборудование сильно дороже потребительского (если у вас его ещё нет). По Hyper-V DDA информации тоже не так много, советую рассмотреть дистры с KVM, если вам не так принципиально.
    Ответ написан
    1 комментарий
  • Как правильно списывать ИТ оборудование в компании?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    ЕМНИП, сейчас лимиты такие, что практически всё компьютерное железо можно списывать как малоценку безо всяких обоснований. Но, вообще, списанием должна заниматься бухгалтерия, а не сисадмин.
    Ответ написан
    4 комментария
  • SQLite не хочет добавлять данные, введенные пользователем в тг боте в базу данных, что делать?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    INSERT INTO result(name) VALUES (ilya)
    Вы пытаетесь вставить в колонку name значение из колонки ilya. Строки должны быть в кавычках.
    Для защиты от SQL-инъекции нужно использовать плейсхолдеры
    - cur.execute(f'INSERT INTO result(name) VALUES ({data["Name"]})')
    - db.commit()
    - cur.execute(f'INSERT INTO result(name) VALUES({data['School_class']})')
    + cur.execute('INSERT INTO result(name, class) VALUES (?, ?)', (data["Name"], data['School_class']))
    Ответ написан
    Комментировать
  • Как запустить полноценный эмулятор?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Подключите настоящий телефон через ADB.
    Ответ написан
    Комментировать
  • Как дешифровать текст с ключом?

    Lynn
    @Lynn
    nginx, js, css
    $ echo -n 'hello habr' | openssl enc -a -aes-256-ecb -K 4446323738323245364331303639424446323738434435393532324536333130
    GoMz9XzmRJ3m5QKwxuIceA==


    $ echo  'GoMz9XzmRJ3m5QKwxuIceA==' | openssl enc -a -aes-256-ecb -K 4446323738323245364331303639424446323738434435393532324536333130 -d
    hello habr


    У вас ключ хоть и написан как будто это HEX, но на самом деле это обычные буквы и их надо привести в HEX для openssl

    Например вот так:
    $ echo -n DF27822E6C1069BDF278CD59522E6310 | xxd -pu -c 32
    4446323738323245364331303639424446323738434435393532324536333130
    Ответ написан
    3 комментария
  • Почему возникает ошибка при создании Telegram бота?

    Vindicar
    @Vindicar
    RTFM!
    Открываем официальные примеры, находим простейший эхобот, и начинаем с него.
    В частности, смотрим, каким методом запускается работа бота.
    Спойлер
    bot.infinity_polling()
    Ответ написан
    Комментировать
  • Как в докере смотреть процессы, запущенные на хост системе?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Ваш P. S. не канает - пересмотрите свои хотелки и не городите фигню. Хотите управлять другими контейнерами - прокиньте внутрь сокет Докера, но на этом в общем-то всё.
    Ответ написан
    Комментировать
  • Как решить проблему с сертификатами веб-сервера в домене?

    @NortheR73
    системный инженер
    у этих сертификатов в поле Subject Alternative Names что указано?

    For Chrome 58 and later, only the subjectAlternativeName extension, not commonName, is used to match the domain name and site certificate. So, if you are missing the Subject Alternative Name in your certificate then you will experience the NET::ERR_CERT_COMMON_NAME_INVALID error.
    Ответ написан
    1 комментарий
  • Как получить данные с сайта росреестра?

    NeiroNx
    @NeiroNx
    Программист
    для безграмотных парсеров поиск росреестра:

    https://pkk.rosreestr.ru/api/features/?text=52.929979122449325+87.97534995053527&tolerance=2&types=[2,3,4,1,21,5,10]


    вернет он:
    {
      "total": 5,
      "results": [
        {
          "sort": 42120102004,
          "type": 2,
          "center": {
            "y": 6970386.423234693,
            "x": 9794346.776440643
          },
          "attrs": {
            "cn": "42:12:0102004",
            "id": "42:12:102004"
          },
          "extent": {
            "xmax": 9795238.11208436,
            "ymin": 6969855.0191011,
            "ymax": 6971012.594670494,
            "xmin": 9793163.65570717
          }
        },
        {
          "sort": 4212,
          "type": 3,
          "center": {
            "y": 6950818.390114815,
            "x": 9810172.497224698
          },
          "attrs": {
            "cn": "42:12",
            "id": "42:12",
            "name": "Таштагольский"
          },
          "extent": {
            "xmax": 9934125.20280487,
            "ymin": 6829546.777098134,
            "ymax": 7049761.803853536,
            "xmin": 9674999.04333556
          }
        },
        {
          "sort": 42,
          "type": 4,
          "center": {
            "y": 7328079.667631133,
            "x": 9706880.109152177
          },
          "attrs": {
            "cn": "42",
            "id": "42",
            "name": "Кемеровский"
          },
          "extent": {
            "xmax": 9952694.29980072,
            "ymin": 6829546.774971992,
            "ymax": 7726492.011682568,
            "xmin": 9401209.32240626
          }
        },
        {
          "sort": 4212010200400025,
          "type": 1,
          "center": {
            "y": 6970070.760976506,
            "x": 9793366.321078256
          },
          "attrs": {
            "address": "Кемеровская область, р-н. Таштагольский, пгт. Шерегеш, ул. Лесная, д. 3",
            "cn": "42:12:0102004:25",
            "id": "42:12:102004:25"
          },
          "extent": {
            "xmax": 9793403.39482761,
            "ymin": 6970010.120180669,
            "ymax": 6970129.685452594,
            "xmin": 9793328.57189643
          }
        },
        {
          "sort": 4212010200401338,
          "type": 5,
          "center": {
            "y": 6970067.466684912,
            "x": 9793370.470713653
          },
          "attrs": {
            "address": "Российская Федерация, Кемеровская область-Кузбасс, Таштагольский муниципальный район, Шерегешское городское поселение, пгт. Шерегеш, ул. Лесная, дом 3",
            "cn": "42:12:0102004:1338",
            "id": "42:12:102004:1338"
          },
          "extent": {
            "xmax": 9793387.58929377,
            "ymin": 6970050.160377153,
            "ymax": 6970087.472030083,
            "xmin": 9793353.0083641
          }
        }
      ]
    }

    парсится такое на раз-два.

    надеюсь пояснять про то какое поле что значит не надо?
    Ответ написан
    3 комментария
  • Как настроить вход в систему только после активации сети?

    @NortheR73
    системный инженер
    Computer Configuration -> Administrative Templates -> System -> Logon -> Always wait for the network at computer startup and logon
    Ответ написан
    1 комментарий
  • Чем делать резервное копирование?

    @Drno
    например...
    https://www.bacula.org/
    Ответ написан
    Комментировать
  • ИИ - хороший помошник в обучении?

    ИИ — приемлемый помощник в работе опытного программиста, позволяющий немного снизить количество рутины.
    Начинающим же генераторы текста противопоказаны, так как их использование помешает формированию необходимых в реальной работе навыков.
    Ответ написан
    2 комментария