Гость
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Тяпничный список инжекторных движков / 25 сообщений из 130, страница 1 из 6
26.03.2021, 17:10
    #40057226
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тяпничный список инжекторных движков
Привет друзья. С пятницей всех.

Проголосуйте какие двигатели DI вы использовали в своих проектах и планируете использовать в будущем.
Есть опция мульти-выбора. Прошу прощения если я что-то забыл или не упомянул ваш фрейморк.

Дополните текстом.
...
Рейтинг: 0 / 0
26.03.2021, 17:18
    #40057231
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тяпничный список инжекторных движков
mayton
Привет друзья. С пятницей всех.

Проголосуйте какие двигатели DI вы использовали в своих проектах и планируете использовать в будущем.
Есть опция мульти-выбора. Прошу прощения если я что-то забыл или не упомянул ваш фрейморк.

Дополните текстом.

С переходом на скалу перестал использовать какие-либо DI в принципе, чему безмерно рад. Хотя там тоже есть один неплохой - macwire, можно юзать вместе с play, когда приложение написано в стиле better-java. Для ФП DI фактически не нужен
...
Рейтинг: 0 / 0
26.03.2021, 17:27
    #40057235
SpringMan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тяпничный список инжекторных движков
забыл ник

С переходом на скалу перестал использовать какие-либо DI в принципе, чему безмерно рад.

А вот я со спарком страдаю. Когда куча логики и надо прокидывать конфиги, пулы к базам, хдфс-у, кафкам - так начинаешь скучать по старому-доброму @Autowired-у (
...
Рейтинг: 0 / 0
26.03.2021, 17:31
    #40057238
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тяпничный список инжекторных движков
SpringMan
забыл ник

С переходом на скалу перестал использовать какие-либо DI в принципе, чему безмерно рад.

А вот я со спарком страдаю. Когда куча логики и надо прокидывать конфиги, пулы к базам, хдфс-у, кафкам - так начинаешь скучать по старому-доброму @Autowired-у (

Ну это ваша личная какая-то проблема.
1) dev.conf,prod.conf,uat.conf
2) Config.load($ENV)
Когда нужны именно разные имплементации подсистем, то typeclass+ final tagless, вообще никаких проблем
...
Рейтинг: 0 / 0
26.03.2021, 17:42
    #40057242
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тяпничный список инжекторных движков
В настоящий момент будем использовать Dagger для амазонских сервисов.

О кваркусе - наслышан но ни разу не использовал. Интересно посмотреть как они обеспечивают
быстрый старт. Возможно за счет спец плагинов компилляции в натив.
...
Рейтинг: 0 / 0
27.03.2021, 10:27
    #40057343
kolchanov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тяпничный список инжекторных движков
Даже без native компиляции стартует значительно быстрее spring.
ИМХО просто потому, что в отлиции от spring, injection происходит compile time, а не runtime.
...
Рейтинг: 0 / 0
28.03.2021, 08:35
    #40057505
Андрей Панфилов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тяпничный список инжекторных движков
kolchanov
Даже без native компиляции стартует значительно быстрее spring.
ИМХО просто потому, что в отлиции от spring, injection происходит compile time, а не runtime.


а как это? я вот в спринге пишу в одном модуле что-то в духе:

Код: java
1.
2.
@Autowired(required=false)
private List<Service> services;


в надежде, что в другом модуле будет реализация, а тут как?
...
Рейтинг: 0 / 0
28.03.2021, 11:28
    #40057518
andreykaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тяпничный список инжекторных движков
mayton
Привет друзья. С пятницей всех.

Проголосуйте какие двигатели DI вы использовали в своих проектах и планируете использовать в будущем.
Есть опция мульти-выбора. Прошу прощения если я что-то забыл или не упомянул ваш фрейморк.

Дополните текстом.

кваркус это ж жее древнючий.
...
Рейтинг: 0 / 0
28.03.2021, 11:32
    #40057519
andreykaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тяпничный список инжекторных движков
mayton
В настоящий момент будем использовать Dagger для амазонских сервисов.

О кваркусе - наслышан но ни разу не использовал. Интересно посмотреть как они обеспечивают
быстрый старт. Возможно за счет спец плагинов компилляции в натив.

я написал сервис из нескольких модулей (штук 6). оно стартует секунд 30-40. думаю на спринге было бы ровно тоже самое. всё что он делает - гребет с кафки данные складывает в эластик и по апишке юзерам данные из эластика выдает. и стартует оно не особо быстро. срезал всё что можно. стало быстрее. но быстрее чем выше не получилось.

у кварка просто удобные плюшки которые сразу делают модные докеримаджи (которые без бубнов один хер работают только ровно как в мануале написано. шаг влево-вправо - ищи бубен) которые там даже сразу куда то пушатся. а так тот же спринг. пока еще худенький и с детскими багами.
...
Рейтинг: 0 / 0
28.03.2021, 11:32
    #40057520
andreykaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тяпничный список инжекторных движков
гуис емнип в плее юзается. проголосовал за кварк и за гуис. :)
...
Рейтинг: 0 / 0
28.03.2021, 12:45
    #40057523
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тяпничный список инжекторных движков
andreykaT
mayton
Привет друзья. С пятницей всех.

Проголосуйте какие двигатели DI вы использовали в своих проектах и планируете использовать в будущем.
Есть опция мульти-выбора. Прошу прощения если я что-то забыл или не упомянул ваш фрейморк.

Дополните текстом.

кваркус это ж жее древнючий.

Какие ваши доказательства?

(с) Черный Трудяга Шварценбрухер.
...
Рейтинг: 0 / 0
29.03.2021, 12:26
    #40057741
kolchanov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тяпничный список инжекторных движков
>а как это? я вот в спринге пишу в одном модуле что-то в духе:
>в надежде, что в другом модуле будет реализация, а тут как?

https://quarkus.io/blog/quarkus-dependency-injection/
Все тоже самое, @Inject ищет compile time имплементацию.
...
Рейтинг: 0 / 0
29.03.2021, 14:35
    #40057801
Андрей Панфилов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тяпничный список инжекторных движков
kolchanov
https://quarkus.io/blog/quarkus-dependency-injection/
Все тоже самое, @Inject ищет compile time имплементацию.
На вопрос "как" отвечают скорее не там, а в том месте, где рассказывают про AoT и GraalVM, однако в спринге тоже якобы все есть: https://docs.spring.io/spring-native/docs/current/reference/htmlsingle/ и не нужно пользоваться убогим наследником CDI
...
Рейтинг: 0 / 0
29.03.2021, 17:05
    #40057884
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тяпничный список инжекторных движков
Конечно на стороне Спринга ентерпрайзное превосходство.

Но наверное кваркус возник как попытка превзойти Спринг в части минимального футпринта
на микросервис по количеству классов и по размеру артифакта.
...
Рейтинг: 0 / 0
29.03.2021, 17:29
    #40057900
Андрей Панфилов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тяпничный список инжекторных движков
mayton
Конечно на стороне Спринга ентерпрайзное превосходство.

Но наверное кваркус возник как попытка превзойти Спринг в части минимального футпринта
на микросервис по количеству классов и по размеру артифакта.


всем известно, что футпринт изменяется в деньгах. Можете расчеты привести, чтобы можно было увидеть как ограниченность технологии со всеми вытекающими (баги, проблемы с кадрами, проблемы с поддержкой) приносило бы ощутимую экономию? А то может ну ево нах эту жаву и пора все на C писать.
...
Рейтинг: 0 / 0
29.03.2021, 17:45
    #40057912
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тяпничный список инжекторных движков
Я не могу. Да и мне пока кваркус не нужен. Но возможно кто-то ковырял его для server-less архитектур.
...
Рейтинг: 0 / 0
29.03.2021, 19:04
    #40057949
Андрей Панфилов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тяпничный список инжекторных движков
mayton
Я не могу. Да и мне пока кваркус не нужен. Но возможно кто-то ковырял его для server-less архитектур.


т.е. преимущество непонятно в чем, но оно точно есть Если посмотреть кто этот кваркус делает, то выяснится, что это те же самые бракоделы из редхата разработчики jboss, которые умеют делать так, что приложение, прекрасно работаютщее в коте и сфере в их поделку даже не деплоится.
...
Рейтинг: 0 / 0
29.03.2021, 20:14
    #40057972
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тяпничный список инжекторных движков
Я не защищаю кваркус, если что.
...
Рейтинг: 0 / 0
29.03.2021, 21:26
    #40057990
Kachalov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тяпничный список инжекторных движков
mayton
какие двигатели DI вы использовали в своих проектах и планируете использовать в будущем

Weld
...
Рейтинг: 0 / 0
29.03.2021, 21:39
    #40057995
asv79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тяпничный список инжекторных движков
Spring boot рулит!
нахер ваши конфиги и xml портянки

разрабам и так хватает жести с докером и кубернетис ,всеми этими облачными деплоями и тд
...
Рейтинг: 0 / 0
30.03.2021, 01:00
    #40058045
kolchanov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тяпничный список инжекторных движков
>всем известно, что футпринт изменяется в деньгах. Можете расчеты привести, чтобы можно было увидеть как ограниченность технологии со всеми вытекающими (баги, проблемы с кадрами, проблемы с поддержкой) приносило бы ощутимую экономию? А то может ну ево нах эту жаву и пора все на C писать.

Для нас в клаудных проектах критическим фактороми стали именно время старта, потребление CPU во время старта и память на поду.
Настолько критическим, что часть сервисов переписали на go, часть на с, там где это невохможно - quarkus.
Spring boot стал de-facto legacy.

Для in-house разработки, может это и не было проблемой, но приходится конскурировать с теми, у кого "микросервис" не стартует пару минут и не потребляет 250 Mb памяти на поду только на фреймворк. Т.е. это вопрос продаж а не cost cutting.

Баги есть у всех, и spring boot в новых версиях тоже приносил ошибки и обратную несовместимость.
Поддерживать все равно прходится самим.

проблемы с кадрами - эксперимент показал, что за две недели разработчик осваивает quarkus c сохранением уровня.
мидл отается мидлом, сеньер - сеньером.
...
Рейтинг: 0 / 0
30.03.2021, 01:20
    #40058048
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тяпничный список инжекторных движков
asv79
разрабам и так хватает жести с докером и кубернетис ,всеми этими облачными деплоями и тд

Ты как всегда... Принёс в топик свой гнев и горе.

Что у тебя там за жесть с докером?
...
Рейтинг: 0 / 0
30.03.2021, 05:42
    #40058052
Андрей Панфилов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тяпничный список инжекторных движков
kolchanov,

а не могли бы вы как-то ширше чтоли тему раскрыть? Я ранее ссылку на spring aot приводил, там пишут что без aot характерное время старта 1500ms, а с aot 100ms, вот другая: https://spring.io/blog/2018/12/12/how-fast-is-spring - там речь идет про 1-2 секунды, вы же утверждаете что на спринге получаются минуты, с моей точки зрения минуты может занимать БД запустить или такой добротный монолит - у меня в текущем проекте сборка монолита и запуск тысячи интеграционных тестов с подъемом 2 БД, 10 спринговых контекстов и прогоном миграций liquibase занимает 5 минут (мавен показывает 4:46 на сборку с интеграционными тестами и 54s просто на сборку), поэтому здесь я склонен верить тому, что пишут в интернетах про старт в пару секунд, нежели вашим минутам. Может у вас там где-то явный косяк в инфраструктуре/архитектуре при котором вы видите что на кваркусе можно получить какое-то преимущество, а на буте - нет (ну там сеньоры на самом деле не сеньоры, DevOps - совсем не DevOps, и все в таком духе)
...
Рейтинг: 0 / 0
30.03.2021, 06:18
    #40058054
Андрей Панфилов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тяпничный список инжекторных движков
mayton
asv79
разрабам и так хватает жести с докером и кубернетис ,всеми этими облачными деплоями и тд

Ты как всегда... Принёс в топик свой гнев и горе.

Что у тебя там за жесть с докером?


да там все понятно что за треш и угар у него, вот с моей точки зрения есть некий bottom line, который говорит о том, нормально проект организован или нет:
- удаляем ~/.m2 или ~/.gradle
- читаем README.md из проекта, выполняем, что там написано (при этом команды mvn или gradle(w) запускать нельзя)
- открываем IDE
- находим тест (лучше интеграционный) и запускаем его из IDE (без компиляций и остальных прелюдий, кроме описанных в README.md)

если тест успешно завершился, то проект живой, нет - говно.

Стасу же наверняка еще в проект понапихали докеров без возможности отладки и без информации о версиях того, что там крутится.
...
Рейтинг: 0 / 0
30.03.2021, 08:44
    #40058071
kolchanov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тяпничный список инжекторных движков
>Может у вас там где-то явный косяк в инфраструктуре/архитектуре

Проблема в самом слабом звене - людях.
Spring boot очень мощный и вариабельный, и позволяет декларативно для run-time стадии описыывать кучу вещей.
Я 100% уверен, что хороший программист, который понимает что стоит за каждой аннотацией, и как она влияет на производительность сможет написать на spring boot сервис, который будет стартовать приемлемо быстро.

Но в "кровавом enterprise", где тысяи разработчиков всегда приходит ОН, разработчик уровня:

>разрабам и так хватает жести с докером и кубернетис ,всеми этими облачными деплоями и тд

Я видел реальный spring-boot код (не могу его показать по юридическим причинам), в котором только в одном Configuraton классе аннотоации занимали целый экран.
- Никто не понимает как это работает
- Никто не может быстро туда внести изменения

Есть известная фраза - хороший фреймворк позволяет легко делать правильные вещи, и тяжело неправильные.
Когда я только узнал о существовании spring (не помню, был это уже 1.0 или нет), он позиционировался как non-intrusive фреймворк. В коде приложения не должно быть упомнинания spring, только внешний DI. И это было очень круто.

Сейчас spring-boot из-за большого количества фич и возможностей просто провоцирует писать приложения, которые стартуют 1-2 минуты, и бороться с этим очень сложно.
Проще выбрать другой фреймворк, в котором тяжелее писать неправильные вещи, или даже другой язык, где не может быть spring из-за особенностей языка.

Наш опыт на наших реальных микросервисах, а не на "сферическом коне в вакууме", показывает улучшение время старта в 10-30 раз на quarkus.
На другой исходной кодовой базе с другими программистами эта пропорция будет другой.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Тяпничный список инжекторных движков / 25 сообщений из 130, страница 1 из 6
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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