• Как сделать закрытый Telegram бот?

    @o5a
    def get_access_status(user_id):
        cursor.execute("SELECT 1 FROM Dostyp WHERE Iduser = %s", (user_id, ))
        return bool(cursor.fetchone())
    
    # сам проверка в функции
    @bot.message_handler(commands=['start'])
    def welcome(message):
        if get_access_status(message.from_user.id):
            # доступ есть, продолжаем
    Ответ написан
    Комментировать
  • Как сделать работу бота бесконечной?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Во-первых, у вас похоже циклический импорт - вы в модуле start импортируете funk, в модуле funk импортируете start.
    Во-вторых, вы в start вызываете Polling, а в Polling вызываете Auth, а в Auth вызываете Polling.
    Винегрет с колбасой какой-то. Исправлять это бесполезно, проще заново написать.

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

    @alexalexes
    Подключиться через любую среду разработки (python, php и др.) к VK API и вычитать содержимое беседы.
    Легче всего будет сохранить результат вычитывания в html формате.
    Ответ написан
    Комментировать
  • Как автоматизировать установку программного обеспечения и настройку windows машины?

    @TheBigBear
    Acronis и загрузочная флешка с ним Вам в помощь
    Установили всё что Вам нужно один раз, настроили драйвера и софт и сделали образ диска
    А потом в любой момент разворачивайте обратно
    Это в разы быстрее чем всё заново устанавливать
    Ответ написан
    1 комментарий
  • Как автоматизировать установку программного обеспечения и настройку windows машины?

    Если машин много и если нужно время от времени что-то менять/добавлять - посмотри в сторону Windows Deployment Services

    Ответ написан
    Комментировать
  • Сохраняются ли публичные репозитории при блокировке GitHub аккаунта?

    @DmitryRed
    При блокировке корпоративного аккаунта сохраняется доступ к данным репозиториев в течение нескольких часов, при блокировке личного — доступ ограничивается сразу.
    Ответ написан
    2 комментария
  • Как автоматизировать установку программного обеспечения и настройку windows машины?

    @lonelymyp
    Живу
    Установить какойнибудь софт для создания/восстановления из образа, партишн меджик например.
    В нужный день заходишь по F8 в загрузочное меню и выбираешь там восстановление из образа.
    Как вариант аналогичный софт но с загрузочной флешки, вставил флешку - раскатал образ. максимум 30 минут если там дофига объём системного диска получается.
    Ответ написан
    Комментировать
  • Почему крупные библиотеки для обработки мультимедиа используют чистый си?

    wataru
    @wataru
    Разработчик на С++, экс-олимпиадник.
    Переносимость и скорость - основные доводы использовать именно Си.
    Ответ написан
    Комментировать
  • Почему крупные библиотеки для обработки мультимедиа используют чистый си?

    firedragon
    @firedragon
    Senior .NET developer
    Просто многие библиотеки зависимости используют си, кроме того это очень близко к железу, что для медиа очень важно и помогает использовать расширенные инструкции процессора напрямую.
    Ответ написан
    7 комментариев
  • Насколько часто в js библиотеках попадаются бэкдоры?

    mizutsune
    @mizutsune
    Frontend & Backend Developer
    Как от этого защититься?


    Лучший способ защититься от подобного - отказаться от использования сторонних библиотек, по крайней мере уменьшить их количество. Однако, это не всегда возможно, так как написание того или иного функционала требует ресурсов и нет гарантии что получится написать качественный код. То есть написанный на коленке код за трое суток, конечно работать будет(возможно), но не так как должен на самом деле.

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

    1. Хранить используемые библиотеки у себя.
    2. Не обновляться без нужды, а если и обновляться, то проводить анализ обновленного кода.
    3. Нужно уметь читать код библиотек, полностью понимать что там написано, что делает каждая функция.
    4. Подключать библиотеки в проекте без использования CDN версий и прочего. Желательно со своего сайта, чтобы строго контролировать используемую версию библиотеки.
    5. Желательно не использовать библиотеки, имеющие кучу внешних зависимостей.
    6. По возможности использовать популярные библиотеки, но не доверять им на 100%. Тот факт что библиотека популярна и имеет сколько-то тысяч звездочек на Github, не гарантирует того, что однажды там не появится какой-нибудь гнилой код, выполняющий не очень хорошие действия. Помним про пункты: 1, 2, 3, 4, 5.

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

    @d-sem
    Правда.

    На фронте из опасного - воровать токены авторизованных пользователей, майнить крипту и переадресовывать на фишинговые сайты.

    На беке - практически всё что угодно. Если вдруг еще и скрипт работает под рутом - тогда практически полный контроль на системой.

    Как защититься? Использовать минимум библиотек и проверенные библиотеки. Тщательно смотреть какие библиотеки подключаются в проект, как они устанавливаются. Чем популярнее и фундаментальнее библиотека тем ниже шанс бекдора. При установке популярных библиотек смотреть что это именно оригинальная библиотека, а не клон. https://www.kommersant.ru/doc/5501418

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

    @mayton2019
    Bigdata Engineer
    Base64 и не создавался для сжатия. Он хранит примерно 4 символа на 3 байта. Вот такая формула.

    Есть другие кодировки наподобие base85 которые просто использую другую формулу укладки байтов в символы. Но все это фигня и экономия на спичках.

    Можно ли просто хранить произвольную бинарную информацию в текстовом виде? Да можно. Но при отображении на экране возникнут следующие проблемы. Есть символы которые имеют разные коды но одинаково отображаются на экране. Это искажает наше восприятие информации. Какова цена ошибки - решайте сами. Есть символы которые имеют некий магический эффект для терминала linux (это диапазон от 00 до 1F (control)). При печати их на экран курсор может начать двигаться в разных направлениях. В некоторых терминалах может быть сбой или зависание. Или терминал может издавать писк. Есть символ 00 который имеет зарезервированное значение например для C++/C - ASCIIZ строк. Он маркирует конец строки. И любая попытка передать такой файл "строкой" вызовет неожиданное поведение для вас.

    При хранении произвольных символов внутри XML или JSON строк могут работать ESC последовательности или экранировка которая увеличивает размер строки. Тоесть эффект может быть обратный в зависимости от того какие байтики будут сохранены.
    Ответ написан
    Комментировать
  • Оптимальный формат хранения изображения в текстовом виде?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Вместо base64 можно использовать условный base65.
    Он тоже "избыточен", но в любом случае всё упирается в ограничения тех текстовых систем, через которые должно проходить изображение в виде текста.
    Например, если все системы поддерживают ASCII, то можно расшириться до условного base127, например. Можно ли использовать спец. символы, какие именно - вам виднее, это будет конкретное ограничение конкретной проблемы, которую вы решаете.

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

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

    Если это PNG, то можно перейти на палитру, 256 цветов достаточно для многих случаев, но можно взять ещё меньше. Если это фото, то JPG в низком качестве. Также есть векторный формат, который конечно не любую картинку заменит, но в некоторых случаях сильно выигрывает у других форматов, не говоря уж о побочном эффекте в виде неограниченной масштабируемости.

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

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

    yakovlev_13
    @yakovlev_13
    Шаманство, экзорцизм и некромантия.
    ну тут по поводу стирания сложно. Полное и основательное стирание, в пределах ПК, занимает прилично времени, т.к. после обычного форматирования данные легко восстановить.

    тут безпроигрышный вариант если после 4-го неверното пина будет срабатывать система повышения напряжения в системе которая выжгет всё железо)) - (фантазия автора ответа)
    Ответ написан
    3 комментария