• Что не так с Wifi адаптером и подключением к сети?

    @Voland69
    Что чат-гопота насоветовала не в курсе, поэтому расскажу со своей колокольни, как надо.
    1. запускаем VirtualBox
    2. подключаем USB WiFi adapter
    3. пробрасываем USB адаптер вирт машине (ЕМНИП можно настроить фильтр машине, чтобы она всегда его забирала)
    4. запускаем на вирт машине Live Ubuntu
    5. проверяем видится ли адаптер lsusb, определил ли его Network Manager, можно ли подключиться к сети
    6. если все ок, то ставим интересующий дистр (с проброшенным, т.е. подключенным адаптером) и проверяем там
    7. если все ок, то радуемся, если не ок - вывод lsusb, ip a сюда в комменты, и разбираемся


    Почему так сложно?
    Задача бьется на две, а точнее три задачи:
    • корректно прокинуть девайс в виртуалку
    • завести его в линуксе в принципе
    • завести его в том конкретном линуксе, который вам нужен


    Почему ставим с подключенным девайсом?
    Так проще, в случае если адаптер требует каких-то дополнительных, возможно проприетарных пакетов, о которых знает установщик, он вам их может поставить и сконфигурировать.

    P.S. на скрине в Available networks видите ваши сети и можете ли подключиться?
    Ответ написан
    4 комментария
  • Ошибка при использовании grep на сервере?

    deepblack
    @deepblack
    С чего ты взял что он "не идет дальше" ?
    По твоему скрину можно сделать вывод что grep продолжил работать.

    Подожди пока он отработает, это бывает не быстро.
    Ответ написан
    Комментировать
  • При каких обстоятельствах запущен данный процесс python-программы?

    Vindicar
    @Vindicar
    RTFM!
    Я бы попробовал использовать аудит-хук.
    Многие функции питона генерят события аудита, на которые можно подписаться.
    Есть полная таблица событий для CPython, но тебя будут интересовать события типа subprocess.Popen, os.system, os.spawn, os.startfile, os.exec, os.fork и так далее.
    Внутри хука можешь попробовать вызвать traceback.format_stack() чтобы узнать текущий стек вызовов, и записать его в какой-нибудь журнал работы.
    import sys
    import traceback
    # хук который ловит событие импорта модуля
    def hook(event, args):
        if event != 'import':
            return
        name, filename = args[0], args[1]
        callstack = traceback.extract_stack(limit=None)
        print(event, name, filename)
        for item in traceback.format_list(callstack):
            print('    ', item.strip())
    
    sys.addaudithook(hook)
    
    import json
    
    print('Done')


    Это сработает только если процессы спавнятся средствами питона, а не каким-нибудь скомпилированным расширением.

    Также можешь поискать использование модуля multiprocessing, это тоже вероятный кандидат.
    Ответ написан
    1 комментарий
  • Как использовать re.findall?

    @maximq
    QA Engineer
    Используйте backslash:
    re.findall(r"\b[A-Z0-9a-z\-\+\_]{8}\b", message.text)
    Ответ написан
    Комментировать
  • Какие есть лёгкие альтернативы у стандартного средства просмотра фотографий windows?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Используйте IrfanView - он работает еще быстрее стандартного вьюера, скорости света и вообще открывается раньше, чем даже на кнопку нажмете или откроете файл. Ничего лучше не придумали и уже не придумают.
    Ответ написан
    4 комментария
  • Как реализовать поиск координат пересечения трех окружностей, если даны координаты радиусов этих окружностей и их радиус?

    Vindicar
    @Vindicar
    RTFM!
    Сначала решить систему уравнений чтобы найти точки пересечения двух окружностей. Примем xi, yi за центр, а Ri за радиус. Тогда получим:
    (x - xA)^2 + (y - yA)^2 = RA^2
    (x - xB)^2 + (y - yB)^2 = RB^2
    Раскрываем скобки, вычитаем первое уравнение из второго, получаем квадратное уравнение. 2 корня - 2 точки пересечения, 1 корень - одна точка касания, нет корней - окружности не пересекаются.
    Потом эти точки (1 или 2) проверить на принадлежность третьей окружности, т.е. убедиться что выполняется условие (x - xС)^2 + (y - yС)^2 = RС^2. Проверку выполнения нужно проводить с некоторой точностью, т.е. сравнение делать не a == b, а скорее в духе abs(a - b) < 0.000001.
    Вот и всё.

    Если можно использовать sympy, то можешь попробовать сразу задать систему из трёх уравнений в нём.
    Ответ написан
    8 комментариев
  • Как увидеть список и типы разделов на вставленной, но неподмонтированной флешке?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    как пример можете взять вывод утилиты lsblk за основу
    $ lsblk -o NAME,RM,TRAN,SIZE,TYPE,PTTYPE,FSTYPE,PARTTYPENAME,MOUNTPOINTS,MODEL | awk 'NR==1 || $2 == 1'
    NAME        RM TRAN     SIZE TYPE PTTYPE FSTYPE  PARTTYPENAME       MOUNTPOINTS                  MODEL
    sda          1 usb     14,7G disk dos    iso9660                                                 Transcend 16GB
    ├─sda1       1          789M part dos    iso9660 Empty              /run/media/admin/ARCH_202309 
    └─sda2       1           15M part dos    vfat    EFI (FAT-12/16/32)

    где RM это флаг съёмного устройства, 1 съёмное а 0 не съёмное, TRAN device transport type в общем тип устройства usb, ssd, nvme ..., с остальными параметрами думаю боле-мене ясно, их можно убавить по желанию.
    С помощью `awk` мы отфильтруем(`$2 == 1`) тока съёмные устройства, ну и заодно оставим шапку(`NR==1`) для информативности.
    При желании это можно вывести более кратко
    $ lsblk -o NAME,RM,FSTYPE,MOUNTPOINTS | awk '$2==1{$2="";print}'
    sda  iso9660
    ├─sda1  iso9660 /run/media/admin/ARCH_202312
    └─sda2  vfat

    где наличие третьего столбца у раздела говорит о его смонтированности

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

    п.с.2
    может быть такая ситуация когда файловая система записана напрямую на весь диск без таблицы разделов, тогда вывод будет выглядеть примерно так:
    $ lsblk -o NAME,RM,TRAN,SIZE,TYPE,PTTYPE,FSTYPE,PARTTYPENAME,MOUNTPOINTS,MODEL | awk 'NR==1 || $2 == 1'
    NAME        RM TRAN     SIZE TYPE PTTYPE FSTYPE PARTTYPENAME     MOUNTPOINTS MODEL
    sda          1 usb     14,7G disk        ext4                                Transcend 16GB

    значение в PTTYPE будет отсутствовать

    п.с.3

    можно даже так с отфильтрованным и отформатированным выводом через json
    $ lsblk -Jpo PKNAME,NAME,RM,FSTYPE,MOUNTPOINTS | jq -r '.blockdevices[] | select(.rm == true) | .children[] |select(.mountpoints[] == null) | "Съёмное устройство \(.pkname) имеет не смонтированный раздел \(.name) с файловой системой \(.fstype)"'
    Съёмное устройство /dev/sda имеет не смонтированный раздел /dev/sda2 с файловой системой vfat

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

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Если моно звук, 1 голос, меандр - то любая ардуинка или хоть какой-то контроллер.
    Можно использовать библиотеки, можно сделать самому. Ля первой октавы - 440Гц, в октаве 12 полутонов, от октавы до октавы разница в частоте - 2 раза.
    Т.е. полтона вверх - это
    частота_ноты*(1+2^(1/12) )
    Полтона вниз - это
    частота_ноты*(1-2^(1/12) )

    Другой вариант - был проект известного китайского товарища на восьминогой тиньке (45/85), которая имеет в составе PLL и может wav файлы проигрывать.

    А по факту - есть готовые платы (непрограммируемые, ищите на Али по "Звуковой модуль «сделай сам»"), и уж с новогодней мелодией там точно что-то найдётся.
    Ответ написан
    Комментировать
  • Использование HTTP/2 ускорит процесс передачи/принятия ответа от api сервера?

    @Everything_is_bad
    практически не повлияет, оптимизация твоего апи может дать на порядок больше ускорения.
    Ответ написан
    1 комментарий
  • Как проверить скорость доступа к сети достоверно?

    Daemon23RUS
    @Daemon23RUS
    speedtest.net - чем не устроил ?
    2й вопрос это то, что Вы называете "скорость доступа к сети"
    Я приведу пример, например провайдер предоставляет вам 500Mbs, есть некий сервер, который отдает контент на скорости 1Gbs, предположим что 10 клиентов одномоментно получают контент, на каждого придется по 100Mbs, Ваш тест в этом случае покажет всего 100Mbs.
    Как я могу достоверно проверить скорость доступа к сети (скачка, отдача) на протяжении нужного мне времени, к примеру, минуты или часа?

    Попробуйте Iperf, но вам потребуется 2й сервер в сети (например VPS) с которым вы будете тестить скорость соедениния
    Ответ написан
    2 комментария
  • Стоит ли хранить HTML документ в базе?

    nykakdelishki
    @nykakdelishki
    Системный аналитик
    Практика хранить html в базе данных - нормальная.

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

    Стоит провести тестирование на 30 млн записей со средним размером А4, если результаты устроют, то ОК, если подумайте над партиционированием/шардированием.

    Ну а уже после тестирования если результаты неудовлетворительные(в чем сомневаюсь 30 млн записей, это не очень много) можете попробовать Postgres + S3/mongo
    Ответ написан
    Комментировать
  • По какой причине может не работать локалка?

    NeiroNx
    @NeiroNx
    Программист
    раз вы пришли сюда то вы абсолютно не понимаете что там за сеть, как она должна работать. 2 волокна оптики на этаж - говорят о сложной сети - достал из коробки и воткнул - не прокатит.

    В любом случае должна быть документация на все это. Начните с ее поиска и чтения.
    Сделайте "простую" сетку - чтобы она хоть как то работала(один линк на этаж), а потом уже включайте вторые линки, зная что они точно работают.
    Ответ написан
  • Можно ли ослабить процессор понижением таймингов?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Можно, но эффект незначительный. Лучше понижать напряжение и частоту проца.
    Ответ написан
    Комментировать
  • Как сделать нумерацию начинающуюся с нуля каждый год?

    @nApoBo3
    Зависит от требований. Можно, как вариант, на каждый год создавать свою sequence с именем содержащим год. Создание этой sequence впихнуть в триггер на таблицу с документами,
    CREATE SEQUENCE IF NOT EXISTS, и дальше брать из нее значение.
    Ответ написан
    1 комментарий
  • В каком приложении программировать на Python?

    AlexNest
    @AlexNest
    Работаю с Python/Django
    Я только начал учиться программированию

    Я бы остановился на одном из этих:
    • Sublime text
    • Notepad++

    Плюсы:
    • Есть подсветка кода;
    • Крайне "легкие" в плане ресурсов;
    • Минимум лишних функций;

    Есть и другие, по типу:
    Pycharm, VS Code

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

    vabka
    @vabka
    Токсичный шарпист
    При использовании TCP стека (Ethernet, IP, TCP) не гарантируется сохранение целостности.

    Гарантируется.
    Ответ написан
    7 комментариев
  • Как раздать блочное устройство с linux-компьютера через usb-c порт?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Ответ написан
    Комментировать
  • Как раздать блочное устройство с linux-компьютера через usb-c порт?

    @rPman
    jcmvbkbc дал отличный ответ

    я же предлагаю альтернативный вариант для расширения горизонтов, на steamdesk нужно установить istgt - демон для публикации дисков по протоколу iscsi, для загрузки по сети поддерживается в т.ч. и windows, для загрузки понадобится еще настройка DHCP сервера и разместить где то EFI загрузчик по протоколу tftp либо при должном красноглазии можно по http.

    p.s. для бездисковой linux машины (ты же не сказал что собираешься загружать) для загрузки по сети существует тьма тьмущая других вариантов, основа та же DHCP и tftp для ядра и initramfs, но вот сам диск можно монтировать практически по любому протоколу от nbd (блочное устройство но проще чем iscsi) до nfs
    Ответ написан
    1 комментарий
  • Какая схд будет лучше для обучения?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Виртуальная. Ставить домой серверное железо имеет смысл только если оно вам досталось задаром и есть в наличии отдельный чулан с вентиляцией и звукоизоляцией (сервера шумят не хуже пылесосов). Ставите виртуал бокс, далее в нем легко ставите любой линукс с любым софтом и любой конфигурацией дисков или тот же FreeNAS. И можно проводить любые эксперименты и играться сколько влезет. Кроме того, точки зрения железа во всех NAS и серверах плюс-минус одно и то же. Каких-то специальных навыков для сборки-разборки там не требуется - везде все одинаково. На любой работе, связанной со сборкой-разборкой серверного железа на месте все покажут, расскажут и даже дадут потренироваться на старой железке, а то и целой стойке. А еще есть мануалы и интернеты, где оно показано все в картинках и расписано по шагам.
    Ответ написан
    3 комментария
  • Повредит ли электродвигателю пониженное напряжение?

    pindschik
    @pindschik
    ФЫВА ОЛДЖ
    Если вы будете отбирать на валу соответственно и меньшую мощность, то проблемы нет (ну кроме случая, когда двигатель встанет, а вы его оставите под напряжением).
    А вот если отбираемая мощность та же, то обмотки будут греться в 2 раза сильнее. Рискуете сжечь.
    Ответ написан
    Комментировать