Задать вопрос
  • Что так с моим кодом?

    shurshur
    @shurshur
    xfnxfn, указатели по-прежнему нужны, просто сфера их применения сильно сократилась. Также часть функциональности указателей теперь можно исполнить с помощью ссылок &.

    При использовании std::vector и других структур STL вообще не нужно задумываться, например, о размере выделенной памяти. Добавляешь сколько угодно элементов - класс сам решит все вопросы. Как - его проблемы. И при удалении объекта деструктор сам всё за собой подчистит, не нужно забивать этим себе голову.

    На самом деле для общего развития рекомендую попробовать релизовать парочку задач на чистом C, чтобы сравнить ощущения. Вот там особенно заморочиться придётся с указателями и выделениями памяти. В том числе самому считать нужный размер в байтах.
    Написано
  • Что так с моим кодом?

    shurshur
    @shurshur
    xfnxfn, матрицы обычно лучше передавать не двумерными массивами, а одномерными, с вычислением индекса по формуле i*n+j. Тогда и выделять память многократными операциями не нужно, и обращение к элементу массива не будет требовать двух операций с указателями.

    Но совет использовать STL - он полезный. Повсеместное использование указателей в C++ - это практика из конца прошлого века.
    Написано
  • Что так с моим кодом?

    shurshur
    @shurshur
    И в чём вопрос? Не компилируется? Не работает?
    Написано
  • Как появляется телеграм бот при переходе по ссылке в канал?

    shurshur
    @shurshur
    Это такая фича. Раньше бот мог писать только тем пользователям, которые по своей инициативе ему сами написали. С некоторых пор бот может писать подписчикам канала, в котором бот добавлен как админ.

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

    shurshur
    @shurshur
    Елена, такси, доставка и даже неведомое "прочее" позволяют указывать точки куда приехать и куда привезти. Я даже больше скажу - это ещё и точнее работает. Давать доступ к своему местоположению вообще необязательно.
    Написано
  • Какой лимит лайков через VK API?

    shurshur
    @shurshur
    Если использовать API с токеном пользователя, то это всё равно, что пользователь сам лайкает, так что лимиты такие же. Но если начать слишком активно ботоводствовать действия пользователя, то реально можно нарваться на бан.
    Написано
  • Возможно ли создать асинхронную функцию чтобы отправлять в неё данные постепенно без await?

    shurshur
    @shurshur
    RINCODE, не надо верить любым сказкам, которые рассказывает нейросеть. В современной версии телебота есть класс AsyncTelebot, который как раз асинхронный.

    Однако разбираться потом, что там сломается при замене класса на асинхронный, может быть не очень просто. И вполне возможно окажется, что проще переписать всё на более развитую асинхронную библиотеку aiogram либо даже на сам pyrogram, раз уж он тоже предполагается к использованию.
    Написано
  • Баг с FSM с telebot?

    shurshur
    @shurshur
    0xsetup, я go не знаю и поэтому опишу "на пальцах".

    Предствим себе, у нас есть "состояние" - это может быть строка, а может быть класс с полями. Самый простой способ хранить состояния - это массив:

    user_states[user_id] = state

    Но это имеет недостатки: мы вынуждены обходиться одним процессом, а также теряем состояние при падении/перезапуске. Ещё на это требуется память, при большой аудитории это может оказаться важно.

    Ещё одна проблема может быть с множественным доступом в многозадачных реализациях, особенно если выполняемое действие не атомарно. Ну, там надо это средствами языка учитывать, например, использовать блокировки на чём-нибудь типа мутексов.

    Довольно частая ошибка новичков - они хранят state в одной переменной без учёта конкретного пользователя. Тогда если между запросами одного пользователя влезает другой (третий и так далее), случаются очевидные проблемы.

    Вот, и вместо массива состояний можно класть/брать в базу или в key-value.

    В данном случае видимо используется redis. Но если состояния путаются, то я полагаю там что-то путается в ключах. Например, может быть stateKey не только userId использует, но и как-то зависит от других внешних сущностей, которые успевают поменяться между запусками?

    Повторю, я go не знаю, рассказываю общие вещи.
    Написано
  • Есть ли смысл учить абсолютно все элементы HTML?

    shurshur
    @shurshur
    Есть тэги, которые в наше время даже использовать нет смысла, не то что учить. Например, embed или marque.
    Написано
  • Возможно ли реализовать это в телеграмм-боте?

    shurshur
    @shurshur
    monelot, обычно делают по-другоу: бот - точка входа для пользователя, и сообщения боту пересылаются администратору, причём администратор их видит также внутри диалога с бото. Ну там ещё всякие кнопки, переключающие диалоги, работа с историей итд. Позволяет не раскрывать владельца. Можно сделать, чтобы человеку могли отвечать несколько операторов, пусть даже не сейчас, а в будущем (на вырост решение).

    Если же надо, чтобы пользователь всего лишь попадал напрямую в диалог с владельцем, то просто делаем url-кнопку с ссылкой на телеграмный профиль владельца.
    Написано
  • Bitrix. Mysql жрет процессор как не в себя. Куда копать?

    shurshur
    @shurshur
    У меня был случай, сайт на битриксе начал дико лагать. Поиски привели к тому, что проблему создавала каруселька на главной, в ротации которой были уже удалённые файлы. Так как файл не находился, вместо него показывался 404.php, который грузил ядро битрикса и отдавал контент довольно медленно. У сайта хватало пассивных посетителей с крутящейся каруселькой, чтобы создавать из-за этого бессмысленную нагрузку.

    Я наскоро решил это, завернув 404 по расширениям типа .png .jpg .gif в 404fast.php, который битриксовое ядро не грузил. Конечно, правильнее было бы нормально класть статику в каталог, в котором не используется 404.php вообще, но там за годы существования файла такй бардак в файлах был, что решать его мне совсем не хотелось...

    Даже вот так бывает, буквально на пустом месте...
    Написано
  • Возможно ли реализовать это в телеграмм-боте?

    shurshur
    @shurshur
    Какому ещё "другому пользователю"?

    Если речь о том, что бот вешает сообщение с кнопками, а нажатие на кнопку посылает сообщение владельцу бота, то не вопрос, легко можно. Если же это какой-то произвольный пользователь, то боты не могут писать пользователям, не удовлетворяющим некоторым условиям (пользователь должен нажать Start в боте или быть подписан на канал, где бот добавлен админом).
    Написано
  • Баг с FSM с telebot?

    shurshur
    @shurshur
    Если "состояние ушло другому пользователю", то это изначально ошибочная реализация.

    Состояние должно в ключе иметь id пользователя. От количества пользователей бот может перестать справляться, но взять по id одного пользователя состояние другого пользователя - никак.
    Написано
  • Не работает отправка фото в Aiogram 3 Python, что делать?

    shurshur
    @shurshur
    Раз проблема решена, имеет смысл написать его в ответы и отметить решением.
    Написано
  • Не удаётся подключиться к google play store, что делать?

    shurshur
    @shurshur
    habib_habib, не только в России орудуют "блокировщики".
  • Хочу поднять свои ipv6 прокси на своем vps сервере при помощи скрипта какого то, но не могу найти рабочий скрипт, скинете?

    shurshur
    @shurshur
    "Готовые скрипты" это хрень, вместо этого следует ставить конкретный софт и учиться его правильно настраивать.
  • Как обрабатывать исключения?

    shurshur
    @shurshur
    tukreb, я так понимаю у него не сервер, а клиент. И автор хочет делать что-то приличное, а не просто вываливаться с ошибкой...
  • Как вывести редактор CHTMLEditor с помощью ajax?

    shurshur
    @shurshur
    dom12, ну вообще класс CHTMLEditor, скорее всего, просто пихает в страницу javascript. Вот надо его выявить и засунуть самому. Может, там даже метод есть готовый для этого? Рекомендую описание класса почитать, может быть там всё очевидно.
  • Будет ли работать Google play игры если пользователь установит игру через rustore?

    shurshur
    @shurshur
    miXtik789, да, конечно, покупка там влияет только на возможность скачать игру, но её точно так же можно скачать и мимо гугла.
  • Как сделать кликабельную ссылку с копированием в буфер обмена?

    shurshur
    @shurshur
    Вот пример функции, которая копирует в буфер:

    function fallbackCopyTextToClipboard(text) {
      var textArea = document.createElement("textarea");
      textArea.value = text;
      
      // Avoid scrolling to bottom
      textArea.style.top = "0";
      textArea.style.left = "0";
      textArea.style.position = "fixed";
    
      document.body.appendChild(textArea);
      textArea.focus();
      textArea.select();
    
      try {
        var successful = document.execCommand('copy');
        var msg = successful ? 'successful' : 'unsuccessful';
        console.log('Fallback: Copying text command was ' + msg);
      } catch (err) {
        console.error('Fallback: Oops, unable to copy', err);
      }
    
      document.body.removeChild(textArea);
    }
    
    function copyTextToClipboard(text) {
      if (!navigator.clipboard) {
        fallbackCopyTextToClipboard(text);
        return;
      }
      navigator.clipboard.writeText(text).then(function() {
        console.log('Async: Copying to clipboard was successful!');
      }, function(err) {
        console.error('Async: Could not copy text: ', err);
      });
    }


    А далее просто можно сделать a href="javascript:copyTextToClipboard('нужный текст');" (не забывая экранировать символы, чтобы не сломать js и разметку!), но лучше повесить на ссылку событие onclick, которое в итоге вызовет эту функцию.