powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Не получается поднять бота на Spring Boot
25 сообщений из 233, страница 9 из 10
Не получается поднять бота на Spring Boot
    #39971336
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
dakeiras

Код: java
1.
if ((!update.hasMessage()) && update.hasCallbackQuery())



Не понимаю проблемы. Сделай себе функцию и пользуйся.
Код: java
1.
hasMessageAndCllback(update)



да. Так и сделаю. Но это получается уже API над API.
...
Рейтинг: 0 / 0
Не получается поднять бота на Spring Boot
    #39971339
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
mayton
пропущено...

Не понимаю проблемы. Сделай себе функцию и пользуйся.
Код: java
1.
hasMessageAndCllback(update)



да. Так и сделаю. Но это получается уже API над API.

Я последние 20 лет этим и занят. Делаю API над API.
А ты как хотел?
...
Рейтинг: 0 / 0
Не получается поднять бота на Spring Boot
    #39971340
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras

Код: java
1.
2.
3.
4.
5.
6.
7.
    public void debug(Marker marker, String format, Object... argArray) {
        filterAndLog_0_Or3Plus(FQCN, marker, Level.DEBUG, format, argArray, null);
    }

    public void debug(Marker marker, String msg, Throwable t) {
        filterAndLog_0_Or3Plus(FQCN, marker, Level.DEBUG, msg, null, t);
    }



Я посмотрел. Это внутренние приватные методы. Тебе их вызывать не надо.

Ты же знаешь что такое инкапсуляция?
...
Рейтинг: 0 / 0
Не получается поднять бота на Spring Boot
    #39971362
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
dakeiras

Код: java
1.
2.
3.
4.
5.
6.
7.
    public void debug(Marker marker, String format, Object... argArray) {
        filterAndLog_0_Or3Plus(FQCN, marker, Level.DEBUG, format, argArray, null);
    }

    public void debug(Marker marker, String msg, Throwable t) {
        filterAndLog_0_Or3Plus(FQCN, marker, Level.DEBUG, msg, null, t);
    }



Я посмотрел. Это внутренние приватные методы. Тебе их вызывать не надо.

Ты же знаешь что такое инкапсуляция?

так и у меня это внутренние методы. Это не отменяет кривизны.
...
Рейтинг: 0 / 0
Не получается поднять бота на Spring Boot
    #39971364
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во что ты предлагаешь это переименовать?
...
Рейтинг: 0 / 0
Не получается поднять бота на Spring Boot
    #39971387
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Во что ты предлагаешь это переименовать?

Тут проблема не переименовании.

А в интерфейсах и null. И ещё большая проблема в интерфейсах самого Slf4j.
В общем криво спроектировано да так что вообще никак это не исправить сохраняя обратную совместимость.
...
Рейтинг: 0 / 0
Не получается поднять бота на Spring Boot
    #39971391
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
mayton
Во что ты предлагаешь это переименовать?

Тут проблема не переименовании.

А в интерфейсах и null. И ещё большая проблема в интерфейсах самого Slf4j.
В общем криво спроектировано да так что вообще никак это не исправить сохраняя обратную совместимость.

Подожди подожди! Ты меня совсем запутал. То мы обсуждали LogBack.

То ты говоришь про null в интерфейсах. Это баг? Он существует в их bug-tracker?

И ты теперь переключаешся на Slf4j, который вообще не логгер а просто некий адаптер или мост
сразу ко ВСЕМ логгерам. В этом его идея. Может ты не понял идею для чего создавался Slf4j?
...
Рейтинг: 0 / 0
Не получается поднять бота на Spring Boot
    #39971415
miroooha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ох, какие тут дискуссии насчет кода.
А мой говнокод безработного недоджуна-trainee уровня сможете оценить, как допилю?

Проблему циклических зависимостей решил путем того, что из всяких handler'ов теперь возвращаю значение/сообщение, которое отправляется уже в главный класс бота. Т.о. нет необходимости инжектить бота в каждый обработчик. ИМХО, стало меньше гибкости, но в принципе терпимо.
...
Рейтинг: 0 / 0
Не получается поднять бота на Spring Boot
    #39971416
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
dakeiras
пропущено...

Тут проблема не переименовании.

А в интерфейсах и null. И ещё большая проблема в интерфейсах самого Slf4j.
В общем криво спроектировано да так что вообще никак это не исправить сохраняя обратную совместимость.

Подожди подожди! Ты меня совсем запутал. То мы обсуждали LogBack.

То ты говоришь про null в интерфейсах. Это баг? Он существует в их bug-tracker?

И ты теперь переключаешся на Slf4j, который вообще не логгер а просто некий адаптер или мост
сразу ко ВСЕМ логгерам. В этом его идея. Может ты не понял идею для чего создавался Slf4j?

Проблема в Slf4j: Throwable можно передать только без других аргументов:
(org.slf4j.Logger)
Код: java
1.
public void error(String msg, Throwable t);



Похоже это попытались обойти в Logback расчитывая что сработает следующее:
(ch.qos.logback.classic.Logger)
Код: java
1.
2.
3.
4.
5.
6.
    public void error(String format, Object... argArray) {
        filterAndLog_0_Or3Plus(FQCN, null, Level.ERROR, format, argArray, null);
    }
    public void error(String msg, Throwable t) {
        filterAndLog_0_Or3Plus(FQCN, null, Level.ERROR, msg, null, t);
    }



(иначе я не знаю как объяснить этот загадочный код)

Но не сработало. Потому что в Яве это так не работает! :)

Тогда эти гениальные разработчики сделали что?

Правильно. Они сделали следующее:
(ch.qos.logback.classic.spi.LoggingEvent)
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
        this.message = message;
        this.argumentArray = argArray;

        if (throwable == null) {
            throwable = extractThrowableAnRearrangeArguments(argArray);
        }

        if (throwable != null) {
            this.throwableProxy = new ThrowableProxy(throwable);
            LoggerContext lc = logger.getLoggerContext();
            if (lc.isPackagingDataEnabled()) {
                this.throwableProxy.calculatePackagingData();
            }
        }



Типа если последний аргумент в массиве Throwable - то его обрабатывать как Throwable.
Это систематические проблемы дизайна, которые даже не пытаются устранять или обсуждать.

Ну и как результат - непонятный код\интерфейсы и наименования методов.
...
Рейтинг: 0 / 0
Не получается поднять бота на Spring Boot
    #39971417
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это возможно. Только ради всех святых (Тьюринга и Дейкстры) не надо сюда печатать простыни.

Кидай ссылку в гитхаб и кто-то посмотрит.
...
Рейтинг: 0 / 0
Не получается поднять бота на Spring Boot
    #39971418
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miroooha
Ох, какие тут дискуссии насчет кода.
А мой говнокод безработного недоджуна-trainee уровня сможете оценить, как допилю?

Проблему циклических зависимостей решил путем того, что из всяких handler'ов теперь возвращаю значение/сообщение, которое отправляется уже в главный класс бота. Т.о. нет необходимости инжектить бота в каждый обработчик. ИМХО, стало меньше гибкости, но в принципе терпимо.

Ты уже оценил его (и правильным образом).

У тебя проблема не с кодом, а с того что ты не набрав опыта Core Java сразу делаешь на Spring.
Это вызовет неправильные привычки.
...
Рейтинг: 0 / 0
Не получается поднять бота на Spring Boot
    #39971419
miroooha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton
Это возможно. Только ради всех святых (Тьюринга и Дейкстры) не надо сюда печатать простыни.

Кидай ссылку в гитхаб и кто-то посмотрит.

Нет проблем, я с гитом дружу :)
...
Рейтинг: 0 / 0
Не получается поднять бота на Spring Boot
    #39971420
miroooha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dakeiras
miroooha
Ох, какие тут дискуссии насчет кода.
А мой говнокод безработного недоджуна-trainee уровня сможете оценить, как допилю?

Проблему циклических зависимостей решил путем того, что из всяких handler'ов теперь возвращаю значение/сообщение, которое отправляется уже в главный класс бота. Т.о. нет необходимости инжектить бота в каждый обработчик. ИМХО, стало меньше гибкости, но в принципе терпимо.

Ты уже оценил его (и правильным образом).

У тебя проблема не с кодом, а с того что ты не набрав опыта Core Java сразу делаешь на Spring.
Это вызовет неправильные привычки.

Не соглашусь. У меня нет опыта в построении архитектуры приложения, потому что не было проектов. А Java Core я изучал прошлой осенью и этой зимой и чувствую себя там довольно комфортно (за исключением реальной многопоточки типа Fork Join Pool'a) для своего уровня.
...
Рейтинг: 0 / 0
Не получается поднять бота на Spring Boot
    #39971422
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miroooha
mayton
Это возможно. Только ради всех святых (Тьюринга и Дейкстры) не надо сюда печатать простыни.

Кидай ссылку в гитхаб и кто-то посмотрит.

Нет проблем, я с гитом дружу :)

Где ссылка?
...
Рейтинг: 0 / 0
Не получается поднять бота на Spring Boot
    #39971423
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторFork Join Pool

Что?
...
Рейтинг: 0 / 0
Не получается поднять бота на Spring Boot
    #39971425
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miroooha
dakeiras
пропущено...

Ты уже оценил его (и правильным образом).

У тебя проблема не с кодом, а с того что ты не набрав опыта Core Java сразу делаешь на Spring.
Это вызовет неправильные привычки.
(за исключением реальной многопоточки типа Fork Join Pool'a) для своего уровня.

Это и хорошо. Представь каких дров ты там наломаешь если тебе дать задание с взаимодейтсвием более чем 1 потока.
И модульные тесты кстати не доказывают правильность мультипоточи. Вообще не доказывают даже на кейсах.
И все равно синьоры за тебя будут все переделывать поэтому давать тебе многопоточное задание нет смысла.
Поживи спокойно так. Реальное понимание многопоточки только с опытом приходит. Т.к. кроме Java надо
еще копнуть в архитектуры железа. Без этого просто не будет понимания.
...
Рейтинг: 0 / 0
Не получается поднять бота на Spring Boot
    #39971426
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
miroooha
пропущено...
(за исключением реальной многопоточки типа Fork Join Pool'a) для своего уровня.

Это и хорошо. Представь каких дров ты там наломаешь если тебе дать задание с взаимодейтсвием более чем 1 потока.
И модульные тесты кстати не доказывают правильность мультипоточи. Вообще не доказывают даже на кейсах.
И все равно синьоры за тебя будут все переделывать поэтому давать тебе многопоточное задание нет смысла.
Поживи спокойно так. Реальное понимание многопоточки только с опытом приходит. Т.к. кроме Java надо
еще копнуть в архитектуры железа. Без этого просто не будет понимания.

с многопоточности надо начинать. Это самые фундаментальные основы любого программирования, особенно веб приложений.
...
Рейтинг: 0 / 0
Не получается поднять бота на Spring Boot
    #39971428
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
mayton
пропущено...

Это и хорошо. Представь каких дров ты там наломаешь если тебе дать задание с взаимодейтсвием более чем 1 потока.
И модульные тесты кстати не доказывают правильность мультипоточи. Вообще не доказывают даже на кейсах.
И все равно синьоры за тебя будут все переделывать поэтому давать тебе многопоточное задание нет смысла.
Поживи спокойно так. Реальное понимание многопоточки только с опытом приходит. Т.к. кроме Java надо
еще копнуть в архитектуры железа. Без этого просто не будет понимания.

с многопоточности надо начинать. Это самые фундаментальные основы любого программирования, особенно веб приложений.

А ты попробуй на джунские вопросы по мультипоточке ответить. Там будет сразу анекдот
про то как 1 глупец 100 мудрецов закопает. И спор про указатели С++ на массивы покажется
просто детским мультиком по сравнению с мультипоточкой.
...
Рейтинг: 0 / 0
Не получается поднять бота на Spring Boot
    #39971431
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
с многопоточности надо начинать. Это самые фундаментальные основы любого программирования, особенно веб приложений.
это типа как утверждение что SimpleDateFormat thread-safe, да?
...
Рейтинг: 0 / 0
Не получается поднять бота на Spring Boot
    #39971432
miroooha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton
miroooha
пропущено...

Нет проблем, я с гитом дружу :)

Где ссылка?

Позже на днях скину сюда, там надо допилить ещё код.
dakeiras
авторFork Join Pool


Что?
Что?
Ну вот, из первого попавшегося поста на stackoverflow:

- ExecutorService имеет общую очередь задач и некоторое количество потоков, которые забирают по очереди таски и выполняют их.
- ForkJoinPool имеет некоторое количество потоков, но при этом еще имеет очередь тасков для каждого потока. Поток в процессе работы может дробить задачу на несколько тасков, одну он добавляет к себе в очередь а другую выполняет и это может рекурсивно повторяться. Если другой поток опустошил свою очередь, то он может взять задачи у другого потока, с конца очереди. Описанный механизм называется work-stealing. Это и является ключевым моментом различающим данные thread-pool'ы.
...
Рейтинг: 0 / 0
Не получается поднять бота на Spring Boot
    #39971433
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Благослави Господь стековерфлоу. И зачем нам кастомер еще доллары платит? Пускай пишет туда вопросы
и ИИ ему выдает готовые артифакты....
...
Рейтинг: 0 / 0
Не получается поднять бота на Spring Boot
    #39971449
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
dakeiras
с многопоточности надо начинать. Это самые фундаментальные основы любого программирования, особенно веб приложений.
это типа как утверждение что SimpleDateFormat thread-safe, да?

хорошо что помните.
...
Рейтинг: 0 / 0
Не получается поднять бота на Spring Boot
    #39971450
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miroooha
mayton
пропущено...

Где ссылка?

Позже на днях скину сюда, там надо допилить ещё код.
dakeiras
пропущено...


Что?

Что?
Ну вот, из первого попавшегося поста на stackoverflow:

- ExecutorService имеет общую очередь задач и некоторое количество потоков, которые забирают по очереди таски и выполняют их.
- ForkJoinPool имеет некоторое количество потоков, но при этом еще имеет очередь тасков для каждого потока. Поток в процессе работы может дробить задачу на несколько тасков, одну он добавляет к себе в очередь а другую выполняет и это может рекурсивно повторяться. Если другой поток опустошил свою очередь, то он может взять задачи у другого потока, с конца очереди. Описанный механизм называется work-stealing. Это и является ключевым моментом различающим данные thread-pool'ы.


Round robin что-ли?
...
Рейтинг: 0 / 0
Не получается поднять бота на Spring Boot
    #39971581
miroooha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton
Кидай ссылку в гитхаб и кто-то посмотрит.

Собственно, решил не затягивать.

Вот сам проект: https://github.com/vonoriMMM/SpringBot-test
Где-то на время оставил заглушки (типо return null), буду дорабатывать.

Если кто-то посмотрит, буду благодарен за конструктивную критику. Это первый небольшой, но полноценный проект (до этого были только задачки javarush/codewars/leetcode) в моей пока еще не начавшейся карьере. И вообще что-то первое с использованием Spring'a. Можно улучшать и увеличивать функциональность, потенциал есть, но и сейчас это полностью работающая версия.
...
Рейтинг: 0 / 0
Не получается поднять бота на Spring Boot
    #39971757
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В pom.xml желательно указать явно версию JDK и компиллятора которым ты это собирал.
...
Рейтинг: 0 / 0
25 сообщений из 233, страница 9 из 10
Форумы / Java [игнор отключен] [закрыт для гостей] / Не получается поднять бота на Spring Boot
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]