@jvmchat

Страница 2868 из 2890
Диоген
12.10.2018
11:52:18
С анотацией сам бин чище
Тебе надо ретеншн не рантайм тогда

Павел
12.10.2018
11:52:26
Причем нужно для некоторых бинов несколько типов. Там уже массив

Диоген
12.10.2018
11:52:28
А то вдруг забудешь аннотацию поставить

И хули тогда?

Google
Павел
12.10.2018
11:53:41
Поймаешь ошибку. Не напишешь @RestController над контроллером тоже поймаешь

Странная логика)

Диоген
12.10.2018
11:53:55
В рантайме получишь ошибку

Если ты не заимплементишь метод интерфейса, у тебя код не скомпилится

Павел
12.10.2018
11:55:10
Ну это известный подход старых версий спринга или ejb когда бины имплементили интерфейсы переопределяли доп методы

Павел
12.10.2018
11:56:50


Диоген
12.10.2018
11:56:54
Это новый подход спринга, я так понимаю. Запихать всю инфу в метаданные и ловить ошибки в рантайме?

Павел
12.10.2018
11:56:55
Аля InitializingBean

Который никто не использует уже

И таких достаточно примеров когда раньше имплементили интерфейсы потом перешли на аннотации

Диоген
12.10.2018
11:57:51
Не совсем аля

Alexandr
12.10.2018
11:57:59
Google
Диоген
12.10.2018
11:57:59
Ты чет попутал

он всегда таким был, по крайней мере давно такой, лет 5
я просо не помню, где в рекомендациях написано бизнес логику так писать

Диоген
12.10.2018
12:01:06
Вобщем рано обрадовался) в таком подходе тоже фигня получаеться так как каждый бин реализует метод интерфейса getType() и дальше этот бойлерплей висит в каждом бине мертвым грузом. ((((

Я щас просто пытаюсь понять, что мне может дать в теории использование аннотаций вместо интерфейсов в моей бузинес логике

Конкретно в таком контексте

Alexandr
12.10.2018
12:03:39
если ты просто получаешь список бинов по типу, то интерфейс норм

Beholder
12.10.2018
13:29:50
кто-нибудь пользуется новым http-клиентом в Идее? у меня там неправильно отображается кодировка в ответном xml

Aleksey
12.10.2018
13:39:15


Митко Соловец?
12.10.2018
13:46:08
Yaroslav
12.10.2018
13:46:41
Refresh File status делал ?

Aleksey
12.10.2018
13:46:57
Yaroslav
12.10.2018
13:47:37
не
VCS -> Refresh File status

не
можно еще просто кэш в idea сбросить , это в 90% случаях помогает

Aleksey
12.10.2018
13:49:36
у меня есть подозрения, что это из за того что другой программист закоммитил из винды через git bash

Google
Sergey
12.10.2018
14:19:58
Всем привет. Немного необычный вопрос задам, не спрашивайте только "зачем оно мне", пусть будет "просто из интереса". Итак: Не подскажет ли кто, каков будет импакт на перфоманс и потребление ресурсов от класса, имплементирующего, скажем, 100 (1000, 10000) интерфейсов, по сравнению с классом, имплементирующим один? Лично мне на ум чето не приходит ничего кроме (возможно) более обильного класслодинга.

Aleksey
12.10.2018
14:24:35
Всем привет. Немного необычный вопрос задам, не спрашивайте только "зачем оно мне", пусть будет "просто из интереса". Итак: Не подскажет ли кто, каков будет импакт на перфоманс и потребление ресурсов от класса, имплементирующего, скажем, 100 (1000, 10000) интерфейсов, по сравнению с классом, имплементирующим один? Лично мне на ум чето не приходит ничего кроме (возможно) более обильного класслодинга.
С точки зрения метаданных -- разница будет в том смысле, что метаданные (классы) для реализованных интерфейсов тоже надо будет куда-то загрузить. А вот сделать invokeinterface от инстанса с 10К интерфейсами -- это будет интересный цирк, учитывая, что в Hotspot он без оптимизаций будет стоить O(n) от числа реализованных интерфейсов.

Aleksey
12.10.2018
14:26:52
Но не понятно, с чем сравнивать кейс: если не 10К интерфейсов, то что тогда? Руками диспатч делать? Map в Method, и рефлекшн? :)

Sergey
12.10.2018
14:27:11
Точняк. Как то про виртуальный вызов я и не вспомнил.

А если предположить что интерфейсы - маркеры?

Aleksey
12.10.2018
14:30:07
Если об них не вызывать ничего, то легче. А если маркеры, то instanceof будет их линейно искать всё равно, и только несколько частых хитов кэшировать, емнип.

Sergey
12.10.2018
14:31:34
Ясно. Спасибо.

Снобяъ
12.10.2018
16:05:42
Часто в работе с yaml сталкиваетесь?

Alexander
12.10.2018
16:06:35
часто

Litesav
12.10.2018
16:29:30
Мб кто сталкивался с аналогичным алгоритмом. Есть строка рода "5+7/9-(6/40)", как из этих исходных данных получить ответ выражения с учётом порядка действий. P.s пытался сам написать алгоритм, разбивая числа на пары и решая каждую пару чисел в отдельности, но возникают проблемы.

Litesav
12.10.2018
16:29:31


У меня получается слишком объёмный алгоритм

Валерий
12.10.2018
16:30:43
Тут на самом деле только 2 нормальных варианта - парсер - преобразование в обратную польскую

Они по сути идентичны

Danila
12.10.2018
16:34:41
Можно ещё в js движке eval сделать. Быстро и мало кода писать.

Ruslan
12.10.2018
16:35:11
Можно ещё в js движке eval сделать. Быстро и мало кода писать.
или удаленным api для вычислений воспользоваться :)

Vladimir
12.10.2018
16:36:36
Кто-нибудь собирал tdlib с jni? Все зависимости установил, версии проверил, путь к OpenSSL указал, но вылетает следующее: Could not find a package configuration file provided by "Td" with any of the following names: TdConfig.cmake td-config.cmake OS X Sierra 10.13.2 Или же кто-нибудь знает аналогичные варианты взаимодействовать с апи телеграма (не боты!) из джавы? Вот эта библиотека: https://github.com/rubenlagus/TelegramApi - заброшена и поломана

Google
Vladimir
12.10.2018
16:39:43
либа живая, у них также есть свой живой канал в телеграме
Именно TelegramAPI? Последний коммит - 3 июня 2017 года

Ruslan
12.10.2018
16:41:10
Именно TelegramAPI? Последний коммит - 3 июня 2017 года
я подумал о https://github.com/rubenlagus/TelegramBots/releases/tag/v4.1

Vladimir
12.10.2018
16:42:38
Да, а именно апи телеграма, которое через MTProto, никто не занимается. На питоне и ноде есть либы, на джаве - нет

Quantum Harmonizer
12.10.2018
16:44:50
Tdlib я тоже завести не смог, и найти того, кто поможет (или кто запускал) - тоже. Крайне странная штука
Вот. У меня даже создаётся подозрение, что API намеренно плохо онисан и плохо документирован.

Admin
ERROR: S client not available

Yury
12.10.2018
16:45:54
Tdlib я тоже завести не смог, и найти того, кто поможет (или кто запускал) - тоже. Крайне странная штука
Интересовался либой, сpp плохо знаю и я туповат, поясните, почему не прописаны сразу native методы для java?

В этой либе

Ruslan
12.10.2018
16:46:07
Что, даже example не работает? https://github.com/tdlib/td/tree/master/example/java

Vladimir
12.10.2018
16:47:01
Yury
12.10.2018
16:48:10
Они там есть. Проблема (лично у меня) - в сборке этой либы + JNI.
Я про ту либу, которая офиц. от телеграма

https://github.com/tdlib/td

Vladimir
12.10.2018
16:48:52
Да, я тоже. Там уже все есть. Собрать и запустить остается

В папке examples

Вообще, есть уже готовый проект с собранными либами - https://github.com/ErnyTech/JTDLib, правда, только для вин и линукса

Yury
12.10.2018
16:51:45
В папке examples
А разве там все есть? Я подумал, что для примера только несколько методов взаимодействия описано

Google
Vladimir
12.10.2018
16:56:20
А разве там все есть? Я подумал, что для примера только несколько методов взаимодействия описано
Да, там, вроде, при сборке генерируется java-файл с нативными методами

Yury
12.10.2018
17:00:44
Ruslan
12.10.2018
17:01:51
Собрал, запустил. Все работает

Ruslan
12.10.2018
17:02:24
arch linux

Vladimir
12.10.2018
17:04:43
И Java-пример запускается и работает?

Nikolay
12.10.2018
17:06:25
И да, алгоритм получится не самый примитивный
Разбор грамматики не может быть примитивным.. Даже польская нотация требует как минимум стека и парсера элемента в контексте

Диоген
12.10.2018
17:12:46
Spring Expression Language Guide | Baeldung https://www.baeldung.com/spring-expression-language

Да вот же, всё уже реализовано

Ну можно любой другой взять, если спринг не нравится

Можно конечно и самому заимплементить, но зачем

Nikolay
12.10.2018
17:22:58
Чтобы разобраться?

Диоген
12.10.2018
17:26:11
Чтобы разобраться?
Да, хороший повод. Но тогда вам потом придётся реализовать свой di, свой http сервер, свою сериализации объектов, свою orm в конце концов

Страница 2868 из 2890