|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
Привет друзья. С пятницей всех. Проголосуйте какие двигатели DI вы использовали в своих проектах и планируете использовать в будущем. Есть опция мульти-выбора. Прошу прощения если я что-то забыл или не упомянул ваш фрейморк. Дополните текстом. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2021, 17:10 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mayton Привет друзья. С пятницей всех. Проголосуйте какие двигатели DI вы использовали в своих проектах и планируете использовать в будущем. Есть опция мульти-выбора. Прошу прощения если я что-то забыл или не упомянул ваш фрейморк. Дополните текстом. С переходом на скалу перестал использовать какие-либо DI в принципе, чему безмерно рад. Хотя там тоже есть один неплохой - macwire, можно юзать вместе с play, когда приложение написано в стиле better-java. Для ФП DI фактически не нужен ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2021, 17:18 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
забыл ник С переходом на скалу перестал использовать какие-либо DI в принципе, чему безмерно рад. А вот я со спарком страдаю. Когда куча логики и надо прокидывать конфиги, пулы к базам, хдфс-у, кафкам - так начинаешь скучать по старому-доброму @Autowired-у ( ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2021, 17:27 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
SpringMan забыл ник С переходом на скалу перестал использовать какие-либо DI в принципе, чему безмерно рад. А вот я со спарком страдаю. Когда куча логики и надо прокидывать конфиги, пулы к базам, хдфс-у, кафкам - так начинаешь скучать по старому-доброму @Autowired-у ( Ну это ваша личная какая-то проблема. 1) dev.conf,prod.conf,uat.conf 2) Config.load($ENV) Когда нужны именно разные имплементации подсистем, то typeclass+ final tagless, вообще никаких проблем ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2021, 17:31 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
В настоящий момент будем использовать Dagger для амазонских сервисов. О кваркусе - наслышан но ни разу не использовал. Интересно посмотреть как они обеспечивают быстрый старт. Возможно за счет спец плагинов компилляции в натив. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2021, 17:42 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
Даже без native компиляции стартует значительно быстрее spring. ИМХО просто потому, что в отлиции от spring, injection происходит compile time, а не runtime. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2021, 10:27 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
kolchanov Даже без native компиляции стартует значительно быстрее spring. ИМХО просто потому, что в отлиции от spring, injection происходит compile time, а не runtime. а как это? я вот в спринге пишу в одном модуле что-то в духе: Код: java 1. 2.
в надежде, что в другом модуле будет реализация, а тут как? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2021, 08:35 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mayton Привет друзья. С пятницей всех. Проголосуйте какие двигатели DI вы использовали в своих проектах и планируете использовать в будущем. Есть опция мульти-выбора. Прошу прощения если я что-то забыл или не упомянул ваш фрейморк. Дополните текстом. кваркус это ж жее древнючий. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2021, 11:28 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mayton В настоящий момент будем использовать Dagger для амазонских сервисов. О кваркусе - наслышан но ни разу не использовал. Интересно посмотреть как они обеспечивают быстрый старт. Возможно за счет спец плагинов компилляции в натив. я написал сервис из нескольких модулей (штук 6). оно стартует секунд 30-40. думаю на спринге было бы ровно тоже самое. всё что он делает - гребет с кафки данные складывает в эластик и по апишке юзерам данные из эластика выдает. и стартует оно не особо быстро. срезал всё что можно. стало быстрее. но быстрее чем выше не получилось. у кварка просто удобные плюшки которые сразу делают модные докеримаджи (которые без бубнов один хер работают только ровно как в мануале написано. шаг влево-вправо - ищи бубен) которые там даже сразу куда то пушатся. а так тот же спринг. пока еще худенький и с детскими багами. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2021, 11:32 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
гуис емнип в плее юзается. проголосовал за кварк и за гуис. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2021, 11:32 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
andreykaT mayton Привет друзья. С пятницей всех. Проголосуйте какие двигатели DI вы использовали в своих проектах и планируете использовать в будущем. Есть опция мульти-выбора. Прошу прощения если я что-то забыл или не упомянул ваш фрейморк. Дополните текстом. кваркус это ж жее древнючий. Какие ваши доказательства? (с) Черный Трудяга Шварценбрухер. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2021, 12:45 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
>а как это? я вот в спринге пишу в одном модуле что-то в духе: >в надежде, что в другом модуле будет реализация, а тут как? https://quarkus.io/blog/quarkus-dependency-injection/ Все тоже самое, @Inject ищет compile time имплементацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2021, 12:26 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
kolchanov https://quarkus.io/blog/quarkus-dependency-injection/ Все тоже самое, @Inject ищет compile time имплементацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2021, 14:35 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
Конечно на стороне Спринга ентерпрайзное превосходство. Но наверное кваркус возник как попытка превзойти Спринг в части минимального футпринта на микросервис по количеству классов и по размеру артифакта. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2021, 17:05 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mayton Конечно на стороне Спринга ентерпрайзное превосходство. Но наверное кваркус возник как попытка превзойти Спринг в части минимального футпринта на микросервис по количеству классов и по размеру артифакта. всем известно, что футпринт изменяется в деньгах. Можете расчеты привести, чтобы можно было увидеть как ограниченность технологии со всеми вытекающими (баги, проблемы с кадрами, проблемы с поддержкой) приносило бы ощутимую экономию? А то может ну ево нах эту жаву и пора все на C писать. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2021, 17:29 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
Я не могу. Да и мне пока кваркус не нужен. Но возможно кто-то ковырял его для server-less архитектур. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2021, 17:45 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mayton Я не могу. Да и мне пока кваркус не нужен. Но возможно кто-то ковырял его для server-less архитектур. т.е. преимущество непонятно в чем, но оно точно есть Если посмотреть кто этот кваркус делает, то выяснится, что это те же самые бракоделы из редхата разработчики jboss, которые умеют делать так, что приложение, прекрасно работаютщее в коте и сфере в их поделку даже не деплоится. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2021, 19:04 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
Я не защищаю кваркус, если что. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2021, 20:14 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mayton какие двигатели DI вы использовали в своих проектах и планируете использовать в будущем Weld ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2021, 21:26 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
Spring boot рулит! нахер ваши конфиги и xml портянки разрабам и так хватает жести с докером и кубернетис ,всеми этими облачными деплоями и тд ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2021, 21:39 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
>всем известно, что футпринт изменяется в деньгах. Можете расчеты привести, чтобы можно было увидеть как ограниченность технологии со всеми вытекающими (баги, проблемы с кадрами, проблемы с поддержкой) приносило бы ощутимую экономию? А то может ну ево нах эту жаву и пора все на C писать. Для нас в клаудных проектах критическим фактороми стали именно время старта, потребление CPU во время старта и память на поду. Настолько критическим, что часть сервисов переписали на go, часть на с, там где это невохможно - quarkus. Spring boot стал de-facto legacy. Для in-house разработки, может это и не было проблемой, но приходится конскурировать с теми, у кого "микросервис" не стартует пару минут и не потребляет 250 Mb памяти на поду только на фреймворк. Т.е. это вопрос продаж а не cost cutting. Баги есть у всех, и spring boot в новых версиях тоже приносил ошибки и обратную несовместимость. Поддерживать все равно прходится самим. проблемы с кадрами - эксперимент показал, что за две недели разработчик осваивает quarkus c сохранением уровня. мидл отается мидлом, сеньер - сеньером. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2021, 01:00 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
asv79 разрабам и так хватает жести с докером и кубернетис ,всеми этими облачными деплоями и тд Ты как всегда... Принёс в топик свой гнев и горе. Что у тебя там за жесть с докером? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2021, 01:20 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
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, и все в таком духе) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2021, 05:42 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mayton asv79 разрабам и так хватает жести с докером и кубернетис ,всеми этими облачными деплоями и тд Ты как всегда... Принёс в топик свой гнев и горе. Что у тебя там за жесть с докером? да там все понятно что за треш и угар у него, вот с моей точки зрения есть некий bottom line, который говорит о том, нормально проект организован или нет: - удаляем ~/.m2 или ~/.gradle - читаем README.md из проекта, выполняем, что там написано (при этом команды mvn или gradle(w) запускать нельзя) - открываем IDE - находим тест (лучше интеграционный) и запускаем его из IDE (без компиляций и остальных прелюдий, кроме описанных в README.md) если тест успешно завершился, то проект живой, нет - говно. Стасу же наверняка еще в проект понапихали докеров без возможности отладки и без информации о версиях того, что там крутится. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2021, 06:18 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
>Может у вас там где-то явный косяк в инфраструктуре/архитектуре Проблема в самом слабом звене - людях. 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. На другой исходной кодовой базе с другими программистами эта пропорция будет другой. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2021, 08:44 |
|
|
start [/forum/topic.php?fid=59&msg=40057520&tid=2120454]: |
0ms |
get settings: |
19ms |
get forum list: |
5ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
36ms |
get topic data: |
2ms |
get forum data: |
0ms |
get page messages: |
401ms |
get tp. blocked users: |
0ms |
others: | 364ms |
total: | 829ms |
0 / 0 |