Задать вопрос
  • Безопасно ли запускать Telegram Бота на компьютере?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    для работы бота виртуалка должна быть доступна со стороны серверов телеграмма.
    А из-за РКН доступность вашего домашнего компа как раз хуже. То есть вместо проблем того, что вы сами не можете попасть на виртуалку будет более плохая ситуация.
    Ответ написан
    Комментировать
  • Как рассмотреть все возможные сочетания во времени случайных событий?

    @WhoMe
    Если я правильно понял пример, то он выглядит довольно линейно.
    Если предположить что X запускается только по событиям А, то логику можно оформить псевдокодом.
    На_Событие_А() {
        if "5 событий C, паузы S секунд и ещё 5 событий C" было меньше P секунда назад {
            X();
        } else if 10 событий B в окне M секунд отменяют было меньше L секунд нада {
            // не запускаем X
        } if (Последний запуск Х был позже 5 сек) или (не было ещё K событий A) {
            Х();
        }
    }


    Графически можно попробовать представить в виде систем переходов.
    680bae0d736a5965525484.png

    Где состояния:
    x_idle - Х не запущен
    x_running - X работает
    x_cooldown - N секунд с запуска X не прошло
    not_yet_K_A - K событий A еще не было
    K_A_occured - K событий A было
    L_cooldown_ON - отмена всех запусков механизма X на следующие L секунд активна
    ...
    ну и т.д.


    Событиями будут, например:
    A
    B
    C
    Запуск X
    Прошло N секунд с запуска X
    K событий A
    10 событий B в окне M секунд
    Прошло L секунд с момента 10 событий B в окне M секунд
    5 событий C, паузы S секунд и ещё 5 событий C
    Прошло P секунд (с момента 5 событий C, паузы S секунд и ещё 5 событий C)

    Соответственно, все возможные сочетания это произведение всех состояний всех систем помноженное на события.

    Т.е берем первую комбинацию
    x_idle, not_yet_K_A, l_cooldown_OFF, green_light_off и проверяем как система реагиурет на каждое событие.
    Это не законченная схема, просто направление мысли.

    Для исчерпывающих тестов также можно попробовать какой-нибудь автоматический верификатор вроде NuSMV, Alloy.
    Ответ написан
    Комментировать
  • Как реализовать функцию для вывода всех ключей объекта, включая ключи его прототипа?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Абсолютно все не получится. Там хитрая таблица.
    Невозможно одновременно получить non-enumerable own и enumerable inherited свойства, а non-enumerable inherited (созданные в родителе через Object.defineProperty) вообще не получить.
    Ответ написан
    Комментировать
  • Как сделать меняющиеся изображение, для WhatsApp, Telegram?

    Steel_Balls
    @Steel_Balls
    Для Telegram легко - делаешь форк отсюда https://github.com/DrKLO/Telegram
    Вносишь свои изменения и ставишь себе на телефон.
    Я так переделал Телеграм под свои нужды - добавил доп. шифрование, которого нет в обычных чатах (шифрование только в секретных чатах, почему-то никто об этом не знает)
    Ответ написан
    Комментировать
  • Как определить свой уровень программирования?

    @Everything_is_bad
    твой уровень программирования "школьник 9го класса, изучающий полгода java"
    Ответ написан
    1 комментарий
  • Как определить свой уровень программирования?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    Если твой код иногда работает, то поздравляю - ты Junior. Если понимаешь, почему не работает, то ты уже на пути в Middle'ы. А если уже ненавидишь себя за выбор пути и задумываешься о домике на берегу реки - добро пожаловать в Senior'ы
    Ответ написан
    8 комментариев
  • Macbook pro M4 и пиратский софт?

    @Yami-no-Ryuu
    Нет ли тут противоречия?
    Вы профессионал? Тогда покупка инструмента и поддержки не такие уж большие траты.
    Вы не профессионал? Тогда точно ли нужен платный Resolve? Он есть и в бесплатном варианте. Ну и ShotCut / OpenShot / CapCut для обучения, если верить Дипсик.
    Напоминает мой универ, где учили на IBM CATIA, потому что украли её.
    Ответ написан
    5 комментариев
  • Почему i? Почему переменную, используемую в циклах, обычно называют именно i?

    @alexalexes
    index. А вообще, индексы элементов массива пришли из математики - i, j, k для первых трех измерений.
    Просто, первыми компухтеры оседлали математики, отсюда и традиция в циклах использовать эти буквы.
    Ответ написан
    2 комментария
  • Как отслеживать геопозицию в реально времени в телеграмм боте?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Бот не может запросить у пользователя Live Location.
    Пользователь должен сам инициировать отправку Live Location, тогда она периодически будет обновляться через сообщения edited_message, пока не пройдёт заданный пользователем период отслеживания или пользователь сам не остановит отслеживание.
    Ответ написан
    Комментировать
  • Регистрация по номеру телефона?

    @knigaman
    Первый запрос = принимаем на сервере номер телефона, генерируем токен (случайная строка длиной, предположим, 64 символа - цифры, буквы большие и маленькие), отправляем его на клиент. Генерируем код доступа, отправляем его смской на телефон. В зависимости от логики можем и не отправлять (если допустим у нас метод для логина а такого юзера еще нет (он еще не зарегистрирован)).

    Второй запрос = отправляем с клиента токен (тот 64 символьный полученный от сервера) и строку с кодом из смс. Проверяем на сервере токен и код из смс, если все ок - пускаем в аккаунт.

    Примечания:
    1) токены и сами попытки входа должны жить определенное количество времени, предположим 5 минут.
    2) попытки ввода кода (неправильные вводы) должны быть ограничены разумным числом (ну допустим 5 попыток)
    3) если можно то лучше код сделать длиннее - хотя бы 6 цифр, а лучше 8 и более.
    4) попытки входа в аккаунт можно ограничить, но тогда будет можно абузить эту "фичу" и блокировать вход чувакам, тут выбираем меньшее из зол исходя из бизнес требований
    5) можно экономить на смсках и доставлять код в последних цифрах номера / голосовой озвучкой, отправлять в вк, ватсап, телеграм, вайбер

    500 айкью примечания для кое какой защиты от слива бюджета:
    1) можно юзать капчу (можно не всегда а когда начинается аномалия по отправке кодов - всплеск количества отправок)
    2) как уже и говорил разделение входа и регистрации
    3) ставим бот защиту от какого нибудь сервиса по защите от ддос/бот атак
    4) иногда можно не отправить код а отправить клиенту респонс что код отправлен, если клиент вводит код - скорее всего это атака. человек же запросит код повторно (потому что он тупо ему не пришел)
    5) иногда можно отправить код не сразу а через предположим, 30 секунд - если ввели код раньше - значит что-то не так
    Ответ написан
    9 комментариев
  • Как сравнить элементы одного массива с элементами другого массива?

    yarkov
    @yarkov Куратор тега JavaScript
    Помог ответ? Отметь решением.
    Методы массива some и every вам помогут
    Ответ написан
    Комментировать
  • Как отправить кружок в телеграм через telethon с помощью file_id?

    @likkkekey Автор вопроса
    Ошибка была в том, что обычный бот перед сохранением file_id отправлял не video_note, а обычное видео, а надо было именно video_note, чтобы потом юзербот, получив именно video_note, а не видео, сохранил file_id, access_hash, file_reference и пользовался ими как video_note
    Ответ написан
    Комментировать
  • Как узнать дату регистрации в вк с помощью питона?

    @alexalexes
    Только косвенным методом.
    Идентификатор в ВК последовательно возрастающий при появлении новых пользователей, поэтому можно оценить появление первых постов (или другого контента) соседей id-1 и id+1 пользователей (или другой окрестности пользователей), чтобы прикинуть, когда появился пользователь id.
    У вас будет две характеристики: не ранее даты X и не позднее даты Y.
    Ответ написан
    Комментировать
  • Загадка "проталкивания оплаты": совпадение, заговор или техническая особенность?

    @alexalexes
    Проблемы с очередью платежей.
    Ограничения API платежного шлюза.
    Блокировки или задержки на стороне сервера или базы данных.
    Конфликты с кэшированием или балансировкой нагрузки.

    Ну, так закажите аудит логов платежной части сайта, до входа в режим оплаты и есть ли возвраты на страницу сайта после оплаты.
    Если до входа нет скриптов трекинга поведения пользователей в браузере, то пусть разработчики прикрутят их, тогда сможете получать логи до самого последнего шага перед оплатой.
    Нет никакой мистики, вы просто не запрашиваете необходимый анализ при аномальных случаях, или не знаете в какой форме хотите получить отчет по логам сервера.
    Но для этого нужно обеспечить необходимый уровень журналирования на сайте (логирование), чтобы проводить такой анализ. Это нужно обговаривать в ТЗ.
    Ответ написан
    3 комментария
  • Как это посчитать?

    wataru
    @wataru Куратор тега Алгоритмы
    Разработчик на С++, экс-олимпиадник.
    Проще всего двигать элементы по одному, справа-налево. Элемент можно сдвинуть, если справа стоит 0 или такой же элемент. Поддерживаем инвариант, что все элементы правее current уже сдвинуты и уплотнены до предела. Двигаем текущий пока можем. Чтобы не было циклов не двигаем нули.
    int n = a.size();
    int current = n-1;
    while (current >= 0) {
        while (a[current] > 0 && current < n-1 && 
              ((a[current+1] == a[current]) || (a[current+1] == 0))) {
          a[current+1] += a[current];
          a[current] = 0;
          ++current;
        }
        --current;
    }
    Ответ написан
    5 комментариев
  • На чём создать прогу для обработки больших данных?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Лучше для чего именно? В общем случае - на том, что знаете или что интересно было бы изучить.
    Ответ написан
    2 комментария
  • Как замаскировать ссылку на телефоне?

    vabka
    @vabka Куратор тега Веб-разработка
    Можно на эту страницу добавить кнопку типа "перейти". Ссылку сделать многоразовой, а переход по кнопке на ней - одноразовый
    Ответ написан
    1 комментарий
  • Почему в команде man echo нет информации об аргументе -e но он работает?

    @rPman
    Потому что man echo говорит про /usr/bin/echo а в bash используется встроенная в bash команда echo (т.е. это команда языка а не утилита), соответственно и документацию нужно смотреть в bash
    https://www.man7.org/linux/man-pages//man1/bash.1.html
    echo [-neE] [arg ...]
                  Output the args, separated by spaces, followed by a
                  newline.  The return status is 0 unless a write error
                  occurs.  If -n is specified, the trailing newline is
                  suppressed.  If the -e option is given, interpretation of
                  the following backslash-escaped characters is enabled.
    Ответ написан
    4 комментария
  • Как загрузится с установочной флешки Arm Debian на M1?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Никак. Mac arm официально поддерживает только MacOS и не поддерживает другие ОС. Есть один полусырой проект линукса - что-то там даже работает, в целом же вообще не юзабельная система. Название не помню, но легко гуглится. Поэтому если хотите запустить арм линукс на маковской арм платформе - используйте докер, VirtualBox, UtmApp или qemu.
    Ответ написан
    Комментировать