Задать вопрос
  • Как отслеживать геопозицию в реально времени в телеграмм боте?

    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.
    Ответ написан
    Комментировать
  • Как правильно прописать IP?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Убираете гигабитный коммутатор, соединяете сетевые карты напрямую, прописываете адреса из сети, отличной от сети на 100-мегабитном коммутаторе. Например, 192.168.2.1/24 и 192.168.2.2/24. Настраиваете обмен не по именам, а по IP-адресам.
    Ответ написан
    3 комментария
  • Как правильно прописать IP?

    Massacre_Rage
    @Massacre_Rage
    На гигабитной сетевке пропиши адрес 192.168.2.1/24 и 192.168.2.2/24 на втором сервере, шлюз не нужен.

    И тупой хаб лучше убери, соедини сервера напрямую друг с другом.
    Ответ написан
    5 комментариев
  • Как найти связанные элементы объекта?

    Alexandroppolus
    @Alexandroppolus
    кодир
    Ответ написан
    Комментировать
  • Какой алгоритм можно применить при проверки числа на простое ли оно?

    @Mercury13
    Программист на «си с крестами» и не только
    Если нужно проверить а) точно, и б) одно; в) не очень большое число (миллион тоже небольшое) — ничего нет лучше, чем проверка нечётных чисел до корня из n. То есть до 1000.

    Если точно, много и небольшие — то придётся держать список простых чисел, пополняя его, когда попадётся слишком большое число. Список тоже до корня из n. Допустим, если предел — int4 (≈4 млрд), то нужно держать только список до 65535, это пара тысяч чисел.

    Если число совсем небольшое и может быть где-то в списке — ищем его хитрой разновидностью поиска: проверяем 1-е число, 2-е, 4-е и т.д., пока не определим диапазон, где может быть число. И в этом диапазоне ищем двоичным поиском.

    В криптографии востребован неточный поиск — «число, скорее всего, простое». Но об этом не будем, вы не настолько круты. Тут уже основано на том, что держим таблицу небольших простых чисел и делим на них, а затем гоняем неточные тесты.

    PERFECT number — это СОВЕРШЕННОЕ число. Это не то (сумма всех делителей равняется самому числу), и для теста на совершенное число тоже надо проверять до корня из n — если a делится на b, то добавляем и b, и a/b (кроме случаев, когда b=1 и b²=a, разумеется). Если есть простые числа до корня из n — тоже можно разбить на простые множители (один из множителей может быть больше корня из n!) и подключить комбинаторику, чтобы заполучить остальные.
    Ответ написан
    2 комментария
  • Как в Python удалить текст до определённых символов?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    import re
    re.search(r'.*(https{0,1}://.*)', "57-09-71 МегаФонe-mail: ? vy:juf , h 5555y676hr965 silava.a@ttgr :  https://loads.ru").group(1)
    # 'https://loads.ru'
    Ответ написан
  • Почему не работает JSON.parse?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    - let text = `{"content":"<svg width=\"133\" height=\"510\" viewBox=\"0 0 133 510\">"}`
    + let text = '{"content":"<svg width=\\"133\\" height=\\"510\\" viewBox=\\"0 0 133 510\\">"}'

    Как получить правильный JSON:
    console.log(JSON.stringify({content: '<svg width="133" height="510" viewBox="0 0 133 510">'}))
    // '{"content":"<svg width=\\"133\\" height=\\"510\\" viewBox=\\"0 0 133 510\\">"}'
    Ответ написан
    2 комментария
  • Какой облегчённый мониторинг существует?

    @Komrus
    CIO
    PRTG
    Ответ написан
    Комментировать
  • В чем заключается ошибка этой логики рекурсии?

    WblCHA
    @WblCHA
    Ты не ту функцию вызываешь. У тебя мгновенно вешается красный после зелёного, естественно ты не увидишь разницы.
    document.body.style.backgroundColor = "red";
    document.body.style.backgroundColor = "green";
    // delay
    document.body.style.backgroundColor = "red";
    document.body.style.backgroundColor = "green";
    // delay
    ...


    Тебе disco вызывать надо.
    Ответ написан
    1 комментарий
  • Можно ли видео на сайте без сохранение на диск показывать в меньшем разрешении?

    kawabanga
    @kawabanga
    На хостинге есть видео. Размер видео 100 Мб.

    Установите ffmpeg и просто базовым запросом перекодируйте в тот же размер что у вас есть. Удивитесь сокращению размера раза в два.

    Видео запускается через тег video

    Используйте библиотеки, типа videojs. они действительно имеют больше возможностей.

    На смартфонах такое разрешение не нужно.

    Настройки пользователя или конфиги пользователя в вашей системе.

    К примеру, на десктопах показываем исходник = 1080, на планшетах = 720, на смартфонах = 560.

    Изначально нужно закодировать. ffmpeg перегоняет очень быстро файлы в разные форматы на m1 макбуках (4x от изначального 1080 файла), думаю современные процессоры умеют так же.
    В любом случае придется хранить все 3 версии, но тут нюанс -
    576 - может весить 5-10мб
    1080 - 20-30 мб
    720 - около 15.

    В итоге все 3 версии готовые - меньше вашего изначального файла. Продумайте им названия и внедрите в систему.
    Ответ написан
    Комментировать