Задать вопрос
  • Эффективный long polling запрос Telegram API каа правильно сделать?

    AshBlade
    @AshBlade Куратор тега C#
    Просто хочу быть счастливым
    Для чего нужен "timeout" в строке запроса?

    long polling - это когда делаешь запрос и ждешь пока произойдет окончание операции. в данном случае, окончание означает то, что какое-то событие произошло и получены обновления.
    И тут возникает вопрос - сколько ждать?
    Например, ты просто хочешь узнать есть ли новые сообщения - тут ждать не надо, ответ сразу, или это фоновый поток, который должен реагировать на каждое сообщение - тогда надо ждать пока не получишь сообщение, т.е. ждать можешь долго.
    Таймаут - это время, которое будет затрачено на эту операцию. Здесь оно выставляется в секундах.
    Если таймаут превышен, то соединение разрывается и ответа ты не получаешь, иначе в теле ответа будут нужные данные.
    Для твоего случая, ставь таймаут побольше, например, 300 - ждешь 5 минут.
    Лучше не ставить бесконечное время ожидания, т.к. что-то может сломаться, а ты об этом не узнаешь и по-факту будешь ожидать ничего
    Ответ написан
    2 комментария
  • Как собрать JSON из класса?

    AshBlade
    @AshBlade Куратор тега C#
    Просто хочу быть счастливым
    Ты не инициализируешь основной массив. Это таким образом делается.
    Rootobject rootobject = new Rootobject();
    rootobject.keyboard = new string[2][];
    Ответ написан
    1 комментарий
  • Как сформировать Json из массива?

    AshBlade
    @AshBlade Куратор тега C#
    Просто хочу быть счастливым
    Ты записываешь данные в неинициализированные массив.
    Т.е. у тебя каждый элемент внешнего массива - null.

    Просто инициализируй их:
    var keyboard = new Inline_Keyboard[3][];
    keyboard[0] = new Inline_Keyboard[1];
    keyboard[1] = new Inline_Keyboard[2];
    keyboard[2] = new Inline_Keyboard[2];
    rootobject.inline_keyboard = keyboard;


    P.S. но лучше замени на List
    Ответ написан
    6 комментариев
  • Как сформировать Json из массива?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Вы не инициализуете сами массивы (не содаете для них объекты типа Inline_Keyboard[]) нижнего уровня: rootobject.inline_keyboard[0] и rootobject.inline_keyboard[1]. Ну, и rootobject.inline_keyboard[2] тоже стоило бы создать IMHO.
    Ответ написан
    Комментировать
  • Как лучше сохранять результаты логирования приложения NET?

    AshBlade
    @AshBlade Куратор тега C#
    Просто хочу быть счастливым
    1. Про NLog давно не слышал - больше про Serilog (стильно, модно, молодежно)
    2. Если это системное какое-нибудь приложение, то лучше используй системный журнал, либо пиши в файл отдельный
    3. Если есть внешний сервер логов (ELK стек, Graylog и т.д.), то отправляй туда (посмотри в сторону агрегаторов логов, )
    4. Если это контейнерное (докер, например) приложение, то логируй в stdout/stderr, а потом собирай логи у самого контейнера. Также, докер можно настроить на формат хранения логов и место хранения (можно локально хранить, а можно и отправлять по сети)

    P.S. фреймворк по большей части не важен, но рекомендую связку Microsoft.Extensions.Logging + Serilog:
    - Первый - предоставляет интерфейс для логирования
    - Второй - бэкэнд логирования
    Ответ написан
    8 комментариев
  • Как лучше сохранять результаты логирования приложения NET?

    Nlog

    Кмк, он немного переусложнён.
    Я бы посмотрел в сторону стандартного Microsoft.Extensions.Logging или Serilog (но из кода всё равно обращаться к M.E.L.Abstractions)

    SQLite

    Зачем? Какую проблему ты хочешь решить применяя для логов полноценную субд, с которой к тому же не будут нормально интегрироваться другие инструменты для просмотра логов?

    На линуксе уже есть встроенная служба для логов - syslog, ей и пользуйся.

    Хотя опять же зависит от того, что за приложение и что за логи.
    Ответ написан
    2 комментария
  • Как скачать microchip studio?

    @Drno
    открыть через забугорный впн, через личный VPN (он же уже у всех вроде должен быть, с такими то блокировками) к примеру. ну или вон ТОР подсказывают)
    Ответ написан
    1 комментарий
  • Как в Cmake папку с срр добавить целиком?

    xzripper
    @xzripper
    0xC0000005
    Используйте перебор файлов. IE:
    file(GLOB ModelsCPPS "models/*.hpp")
    Ответ написан
    5 комментариев
  • Как в Cmake папку с срр добавить целиком?

    @dima20155
    you don't choose c++. It chooses you
    Насколько знаю, добавляют cpp руками.
    Вот пример (почти три сотни исходников) https://github.com/oatpp/oatpp/blob/master/src/CMa...
    При правильном подходе вы делаете это лишь 1 раз, так что никакой проблемы это представлять не должно.
    Ответ написан
    Комментировать