Задать вопрос
  • Как сделать шифрованный расширяемый контейнер в файле в linux?

    gbg
    @gbg Куратор тега Linux
    Любые ответы на любые вопросы
    encfs. Маунтите одну папку в другую, в результате все что записано в первую папку, появляется во второй папке в шифрованном виде.

    Так как эта штука работает на уровне папок а не дисков, она занимает на диске ровно столько, сколько вы в нее положили

    Cryptomator - аналогично
    Ответ написан
    Комментировать
  • Где ошибка в регулярном выражении?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Не помню, как в JS, но в PHP точно должно быть \s.

    И - (тире) должен быть последним символом в строке, то есть после него должна идти уже закрывающая скобка, либо надо ескейпить \-. А в таком виде тире говорит все символы от "/" и до "_", включительно, а это не много ни мало 49 символов, в том числе и "@" (см. таблицу ASCII).

    P.S. И символ ^ (каретки) у вас именно разрешён, прямо в самой строке.
    Ответ написан
    Комментировать
  • Что за папка /root/mdb103/?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Сделай из под root

    lsof -n | grep root/mdb103

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

    В каталоге лежат deb-пакеты, они после установки не нужны. В подкаталоге лежат исходники сервера скомпилированные. В зависимости от того, как они установлены, они могут быть также не нужны. Если их ставили через make install без префикса в /root, то сервер должен, скорее всего, стоять в /usr/local. Если через сборку пакетов с помощью debian/rules (при этом готовые пакеты кладутся в вышестоящий каталог, что весьма логично), то тоже не нужны - они должны быть затем установлены в систему.

    В конце концов, необязательно файлы сразу удалять. Можно попробовать переименовать этот каталог, перезагрузить базу или даже весь сервер и убедиться, что всё работает.
    Ответ написан
    1 комментарий
  • Когда в проектах оптимально использовать ORM, а когда чистый SQL?

    AlexNest
    @AlexNest
    Работаю с Python/Django
    У вас появились ситуации, в которых возможностей ORM недостаточно, или он работает ощутимо медленнее чистого sql (притом медленнее не субъективно, а на основе данных профилирования)? Если нет, в чем я более чем уверен, то не вижу необходимости в отказе от из основных фишек джанги.
    Ответ написан
    Комментировать
  • Как искать файлы по части имени в Python?

    @swimmwatch
    Python software engineer
    Можете воспользоваться модулем pathlib, в частности Path.glob(pattern):
    path = Path('some_dir')
    abc = path.glob('ABC#[0-9].png')
    def_ = path.glob('DEF#[0-9].png')
    Ответ написан
    1 комментарий
  • Как использовать оперативную память для хранения словаря Python?

    Dr_Elvis
    @Dr_Elvis Куратор тега Python
    В гугле забанен
    Ответ написан
    Комментировать
  • Как получить последний элемент столбца?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    В sql нет понятия первый/последний. Есть понятие сортировки по определенному параметру, ограничение количества получаемых строк и соответствующие методы получения строк в модуле.
    Все это является основами работы с БД и вам стоит самому в этом разобраться c помощью учебника по sql/документации по модулю sqlite (именно документация, не видосы на ютубе. Максимум статьи/w3school) - там очень много примеров.
    Ответ написан
    Комментировать
  • Как поменять направление вращения электродвигателя?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Вдовесок к всему сказанному - порекомендую easyelectronics.ru
    Ответ написан
    Комментировать
  • Как управлять яндекс-лампочкой в обход апи яндекса?

    @justslipknot Автор вопроса
    Как выяснилось, яндекс лампочки - это ребрендированная Tuya лампочка. У Tuya есть локальный протокол и модуль для Home Assistant. Но я решил вопрос немного иначе:
    1. Устанавливаем приложение Smart Life или Tuya Home (оба совместимы с яндекс лампами)
    2. Сбрасываем настройки лампочек и добавляем их в приложении Smart Life / Tuya Home
    3. Регистрируем приложение на платформе Tuya. Инструкция есть в этом репозитории.
      Пояснение
      Этот шаг нам нужно проделать, чтобы получить Local Key, который требуется для шифрования и расшифровки запросов (Local Key, как я понял, обновляется после сброса настроек). Инструкция, как быстро добавить устройства в приложение платформы Tuya так же представлено в репозитории

    4. Выбираем библиотеку для работы с Tuya local api. Я выбрал вот эту библиотеку для C#. На GitHub странице этой библиотеки есть инструкция по работе с Tuya local api.
    5. Реализуем нужный нам функционал


    Небольшой топорный пример из моего тестового проекта:
    Поиск устройств Tuya в сети

    // Эти данные можно получить на странице вашего приложения на платформе Tuya.
    var accessId = "<access id>";
    var apiSecret = "<api secret>";
    
    // Сканируем сеть на наличие доступных устройств Tuya. 
    // Хранение найденных устройств реализуется как душе угодно
    
    var scanner = new TuyaScanner();
    scanner.OnNewDeviceInfoReceived += (sender, info) =>
    {
       // логика сохранения найденных устройств 
    };


    Получение Local Key


    Самый важный этап.
    Пример взят из репозитория библиотеки
    var api = new TuyaApi(region: TuyaApi.Region.CentralEurope, accessId: ACCESS_ID, apiSecret: API_SECRET);
    var devices = await api.GetAllDevicesInfoAsync(anyDeviceId: DEVICE_ID);
    foreach(var device in devices)
    {
        Console.WriteLine($"Device: {device.Name}, device ID: {device.Id}, local key: {device.LocalKey}");
    }


    Отправка команд устройству

    var device = new TuyaDevice("<IP адрес>", "<local key>", "<device id>");
    
    // Пример команды включения лампочки
    // Метод FillJson автоматически подставляет нужные параметры, поэтому сразу пишем запрос.
    // Про методы DPS можно почитать в официальной документации Tuya
    var onCommand = device.FillJson("{\"dps\":{\"20\":true}}");
    
    var request = device.EncodeRequest(TuyaCommand.CONTROL, onCommand );
    
    // Посылаем сигнал. Если устройство не ответит, то падает исключение 
    var encodedResponse = await device.SendAsync(request);
    var response = device.DecodeResponse(encodedResponse);



    Далее остаётся разобраться с кодами команд и можете контролировать лампы как вам угодно.
    Ответ написан
    3 комментария
  • Как сделать сервер на Линукс для телеграм бота?

    krax1337
    @krax1337
    личинка Девопса
    Один из вариантов это Docker

    Попробуй докеризировать своих ботов, и далее уже запускать их в отдельные Docker контейнеры. Так ты сможешь их изолировать, а еще они сами будут подниматься при ловле исключений и запуске компьютера (--restart always). Еще с помощью Docker легко будет пробросить API ключи в переменное окружение.
    Ответ написан
    Комментировать
  • Как скачать файл по ftp?

    @AVKor
    Примерно так:
    import ftplib
    
    HOST = 'server'
    USER = 'ftpuser'
    PASSWD = 'ftppass'
    FILE = 'file.ext'
    FTP_DIR = 'dir'
    
    with ftplib.FTP(HOST) as ftp:
        try:
            ftp.login(user=USER, passwd = PASSWD)
            ftp.cwd(FTP_DIR)
            with open(FILE, 'wb') as fp:
                ftp.retrbinary('RETR ' + FILE, fp.write)
        except ftplib.all_errors as err:
            print('FTP error:', err)
    Ответ написан
    4 комментария
  • Есть ли какие-то онлайн компиляторы кода Python?

    @alexbprofit
    Junior SE
    Replit
    Ответ написан
    Комментировать
  • Есть ли какие-то онлайн компиляторы кода Python?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    Есть. Называются VDS (серваки, простыми словами). Арендуете, подключаетесь по ssh и кодите на здоровье.
    Вариантов - тьма. Гуглятся легко
    Ответ написан
    Комментировать
  • Достать данные гироскопа и акселерометра из экшен камеры или видео?

    @LiteWeb
    Добрый день!
    Если актуально - есть open-source программа для стабилизации видео - GyroFlow, весь исходный код опубликован на GitHub
    Вот статья-описание программы https://djilab.ru/gyroflow-rc2/
    Для некоторых камер данные пишутся в файл видео. В коде программы есть получение этих данных.
    Ответ написан
    Комментировать
  • Нужна помощь с сохранением данных в json файл в discord bot на базе discord.py. Как это сделать?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    Очевидно, что пойти на фриланс. Вы толком не описали задачу (или сами толком не понимаете, чего хотите), не попытались погуглить, не попытались сделать сами. Здесь вам вряд-ли помогут. Разве что советом:
    1.Откладываете попытки делать ботов.
    2.Читаете документацию/уроки по python
    3.Когда изучите основы, анализируете, что именно вам нужно и раскладываете необходимую задачу на минимально-возможные подзадачи.
    4.Реализуете каждую из них.
    5.Если не получается что-то конкретное - задаете вопрос.
    Ответ написан
    Комментировать
  • Что такое монада?

    pazukdev
    @pazukdev
    Java Dev
    Монада - это абстракция над цепочкой связанных вычислений. Контейнер, который принимает текущее состояние и функцию, которая принимает это состояние в качестве аргумента и возвращает новое состояние. Этот контейнер инкапсулирует среду (контекст) выполнения вычислений с учетом возможных исключений; на выходе только ожидаемые значения. Вобщем, just a monoid in the category of endofunctors (c).
    Ответ написан
    Комментировать
  • Как можно убрать лишние строки в TXT?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Ну так не записывайте эти строки.
    Что тут еще без кода можно посоветовать...
    Ответ написан
    Комментировать
  • Как исправить проблемы с памятью, Python?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Попробуйте создать своп. К примеру как тут описано:
    https://linuxize.com/post/how-to-add-swap-space-on...
    https://www.digitalocean.com/community/tutorials/h...u
    Ответ написан
    Комментировать
  • Почему пятно света от лазерной указки выглядит зернистым?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    https://en.wikipedia.org/wiki/Speckle_(interference)
    Если вкратце - то из-за интерференции когерентного света лазера.
    Ответ написан
    3 комментария
  • Как ускорить работу скрипта в python?

    @deliro
    Зачем здесь вообще питон?

    comm -12 <(sort --parallel=4 1.txt) <(sort --parallel=4 2.txt) > some_output_file.txt


    Где 4 - количество ядер / 2 (две сортировки идут одновременно), parallel не может быть больше 8 и является опциональным.

    sort умеет не вылезать за пределы ОЗУ (но если нужно жёстко ограничить, то -S 100M например). Если нужно, засовываешь это в питоне через subprocess

    Подробнее здесь https://en.m.wikipedia.org/wiki/External_sorting
    Ответ написан
    2 комментария