|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#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 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
kolchanov, >аннотоации занимали целый экран. Разве они секретны? Был бы интересен пример абстрактный. На посмотреть. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2021, 10:03 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
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. На другой исходной кодовой базе с другими программистами эта пропорция будет другой. ну вот кварка и появился на этой теме. типа спринг жирный на те вам на микропрофайле новый будущий спринг. юзайте пока холестерином не покрылся. )) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2021, 12:33 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
Нда. А прошло то от поклонов спрингу и микроХХХ, пара тройка лет. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2021, 12:52 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
А сколькой фреймворков было похоронено? А кто вообще помнит JSF? У меня есть такая теория что программный продукт останавливается в развитии как только костяк разработчиков (обычно это несколько человек) утрачивает к нему интерес. И дальше - смерть. Хотя продукт может покрываться багофиксами - ничего больше интересного с ним не будет происходить. А этот костяк просто переходит на новую задачу. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2021, 13:27 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mayton asv79 разрабам и так хватает жести с докером и кубернетис ,всеми этими облачными деплоями и тд Ты как всегда... Принёс в топик свой гнев и горе. Что у тебя там за жесть с докером? да я тут решил немного разобораться с докером и кубернетис вообщем что сейчас нужно - есть простое спринг бут приложение с бд постгрес нужно чтобы все это дело крутилось в докер контейнере с помощью докер файла я сделал образ приложения а вот что дальше - смотрю по гайдам не очень получается делаю как тут 1 в 1 https://medium.com/@isurunuwanthilaka/docker-zero-to-hero-with-springboot-postgres-e0b8c3a4dccb и после запуска docker-compose up получаю ошибку ERROR: for postgres Cannot create container for service postgres: Conflict. The container name "/postgres" is already in use by container "97107d0e2c1735bc1d77ac7e79349c1cbb5e8e07de736db60767839882e165da". You have to remove (or rename) that container to be able to reuse that name. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2021, 17:16 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
После того как ты поработал с контейнером - его надо остановить. Код: java 1.
И после этого запускать новый и опционально указывать имя. Код: java 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2021, 17:19 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mayton А сколькой фреймворков было похоронено? А кто вообще помнит JSF? Ну я помню. На JSF базируется ADF, т.ч. долгая (и нудная) жизнь ADF-JSF'у гарантированна ))) Десятки компаний из Fortune-500 не могут ошибаться ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2021, 17:27 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mayton После того как ты поработал с контейнером - его надо остановить. Код: java 1.
И после этого запускать новый и опционально указывать имя. Код: java 1.
я все делал как там написано -создал конейнер с постгрес- создал там бд и получаю эту ошибку ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2021, 17:29 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
asv79, Мастер ты из топика про СПИСОК балаган превращать. В любую тему: "я тут картошку выращиваю.... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2021, 17:30 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, не переживай так. Я же сам его спросил. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2021, 17:35 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
asv79 mayton После того как ты поработал с контейнером - его надо остановить. Код: java 1.
И после этого запускать новый и опционально указывать имя. Код: java 1.
я все делал как там написано -создал конейнер с постгрес- создал там бд и получаю эту ошибку Так дай ему новое имя. Или имя-счетчик. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2021, 17:36 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mayton asv79 пропущено... я все делал как там написано -создал конейнер с постгрес- создал там бд и получаю эту ошибку Так дай ему новое имя. Или имя-счетчик. ничего не понял - кому имя новое дать?контейнеру в котором лежит постгрес? а как же тогда вот этого докер - композ? Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2021, 17:46 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
Для компоуза насколько я помню имя не надо. Указывается репозитарий и тег. Для последнего постгреса это будет "postgres:latest". И для твоего несчастного приложения "springbootapp:latest" И компоуз поднимается не через docker start а как-то по другому не помню щас как. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2021, 18:01 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mayton Для компоуза насколько я помню имя не надо. Указывается репозитарий и тег. Для последнего постгреса это будет "postgres:latest". И для твоего несчастного приложения "springbootapp:latest" И компоуз поднимается не через docker start а как-то по другому не помню щас как. как это не надо - а кто базу то создат? https://medium.com/@isurunuwanthilaka/docker-zero-to-hero-with-springboot-postgres-e0b8c3a4dccb вот делаю все по шагам 1 в 1 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2021, 18:04 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mayton И компоуз поднимается не через docker start а как-то по другому не помню щас как. docker-compose up но не понятно при чем тут вообще это ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2021, 18:08 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
Компоуз поднимает сразу пачку докеров. Причем с определенной логикой зависимостей. Но тебе наверное для учебных задач компоуз еще рано брать в руки. Разбери просто последовательную работу с постгресом и твоим приложением в ящике. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2021, 18:12 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mayton Компоуз поднимает сразу пачку докеров. Причем с определенной логикой зависимостей. Но тебе наверное для учебных задач компоуз еще рано брать в руки. Разбери просто последовательную работу с постгресом и твоим приложением в ящике. не совсем так докер композ пазволяет управлять несколькими контейнерами ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2021, 18:18 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
Ну раз ты все знаешь - то тогда и знаешь куда положить скрипты для создания БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2021, 18:31 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mayton Ну раз ты все знаешь - то тогда и знаешь куда положить скрипты для создания БД. скрипты для создания таблиц - это флайвей/ликвибейс так же можно прописать инит sql в композе но я вот ковыряю сейчас реальный проект с боя и не вижу нигде ни слова про то как создается сама база ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2021, 19:55 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
В постгресе база создается командой от суперпользователя postgres: Код: java 1. 2. 3. 4. 5.
дальше - под подльзователем БД. Код: java 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2021, 20:10 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mayton В постгресе база создается командой от суперпользователя postgres: Код: java 1. 2. 3. 4. 5.
дальше - под подльзователем БД. Код: java 1.
так а куда это прописать то? у меня есть образ моего приложения и образ постггерс запуская композ он стартует два контейнера и понятное дело что в контейнере с постгрес не будет нужной вам бд- нужно при инициализации судя по всему ее создать - вопрос как это сделать если это так или как это вообще происходит - ни на примере который я ссылку давал нет ничего этого ,ни слова о том кто бд создает вот эти скрипты на создание юзера и самой бд - куда и когда их прописать? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2021, 20:41 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
Есть две стратегии куда складывать твою базу. В файловую систему докера. Или во внешнюю ФС. Куда ты хочешь? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2021, 20:42 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mayton Есть две стратегии куда складывать твою базу. В файловую систему докера. Или во внешнюю ФС. Куда ты хочешь? в докер конечно ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2021, 20:55 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
Попробуй вот эту инструкцию. https://stackoverflow.com/questions/26598738/how-to-create-user-database-in-script-for-docker-postgres Но докер-файловая система не очень быстрая. Могут быть performance issues. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2021, 21:01 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mayton Попробуй вот эту инструкцию. https://stackoverflow.com/questions/26598738/how-to-create-user-database-in-script-for-docker-postgres Но докер-файловая система не очень быстрая. Могут быть performance issues. никуа не получается- пишут что надо инит файл я сделал как там - ошибка нет такой базы при запуске докер композ сама ошибка Код: java 1. 2. 3. 4. 5.
сам файл init.sql Код: java 1. 2. 3. 4.
а это кусок докер -композа Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2021, 22:06 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
asv79 Код: java 1. 2. 3.
А это зачем ты так сделал? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2021, 22:24 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
kolchanov Наш опыт на наших реальных микросервисах, а не на "сферическом коне в вакууме", показывает улучшение время старта в 10-30 раз на quarkus. На другой исходной кодовой базе с другими программистами эта пропорция будет другой. Ну на моем опыте единственное, что тормозит в Spring это Hibernate :-) Поднятие контекста Hibernate занимает всё время поднятие контекста Spring. Но за счет кучи синтаксического сахара и множества декларативных аннотаций небольшие "прикладушки на коленке" пишутся на нем быстро. Быстрее, возможно, только на Python. При этом эту "прикладушку" при минимуме усилий можно превратить в самонастраиваемую библиотеку. Которая будет работать при добавлении её как зависимость в другое приложение. Единственное Hibernate всё портит. Но отказаться от Spring-Data-Jpa очень трудно. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 05:50 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mayton asv79 Код: java 1. 2. 3.
А это зачем ты так сделал? помоему это для того что бы там дата хранилась,в примере из ссылки такое есть и на бою ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 09:17 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mayton,самое интересное что я сейчас защел в консоль контейнера с пострегрес и посмотрел - может там нет базы ,которая создается в init.sql ,но база есть. получается приложение не может его увидеть потому что смотрит не туда- вопрос где что я не так прописал - может в application.yml фиг его знает ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 10:16 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
Ты говорил что хочешь постгрес в докерную файловую систему. А здесь ты фактически выводишь ее БД из области докера в свой локальный диск. Я не говорю что это неправильно. Просто это немного переворачивает постановку начального развертывания БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 11:46 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mayton Ты говорил что хочешь постгрес в докерную файловую систему. А здесь ты фактически выводишь ее БД из области докера в свой локальный диск. Я не говорю что это неправильно. Просто это немного переворачивает постановку начального развертывания БД. не ,там все вообще не так - никто ничего никуда не выводит - все в докере крутится вообщем прикол в том,что докер компос делает все за нас- ему не нужны никакие инит файлы достаточно прописать юзера и он создаст одноименню с ним базу я убрал инит файл,добавил application.yml в эту строчку url: jdbc:postgresql://${DB_SERVER_HOST:localhost}:${DB_SERVER_PORT:5432}/${DB_NAME:testdb} и в композе Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
И Все заработало-ошибка была в том ,что я пытался в инит файле создать базу и в апл.ямл прописал к ней путь а в это время докер композ создал бд с именем идентичным POSTGRES_USER=testdb это конечно не очень правильно наверно - скорей всего если убрать environment: то тогда подхватится init.sql ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 12:31 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
У тебя инициализация БД должна происходить каждый раз при compose up или тебе надо 1 раз в жизни создать объекты и с ними жить. Это очень разные постановки и от этого надо исходить. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 12:37 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mayton У тебя инициализация БД должна происходить каждый раз при compose up или тебе надо 1 раз в жизни создать объекты и с ними жить. Это очень разные постановки и от этого надо исходить. мне просто нужно сделать пример как тут https://medium.com/@isurunuwanthilaka/docker-zero-to-hero-with-springboot-postgres-e0b8c3a4dcc ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 12:47 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
вроде разобрался с докер копомз теперь непонятно другое - я дропаю базу контейнер - потом создаю заново но у меня там уже есть данные в базе и база новая не создается- это какой то прикол докера или в чем проблема? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 13:48 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
Это то о чем я тебе говорил. У тебя база будет спокойно переживать убийство контейнера. Потому что она - физически лежит на твоем диске. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 15:00 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
Попробуй убери вообще эту желтую строчку что я выделил маркером. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 15:54 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mayton Это то о чем я тебе говорил. У тебя база будет спокойно переживать убийство контейнера. Потому что она - физически лежит на твоем диске. ну в принципе это нормально- вопрос в том как очистить это все - я не вижу таких директорий у себя ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 16:54 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
Ну если ты напишешь так Код: java 1.
То это будет абсолютный путь. Тогда и найдешь. Абсолютные пути для баз данных это нормально. Не намусоришь случайно нигде. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 17:05 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
все таки ты не прав майтон нет на диске такой директории- нет у меня постгреса локально и директорий таких тоже нет все облазил сейчас а вот как раз в докер контейнере с постгрес такая директория присуствует откуда берется БД и как сохраняются значения после удаления контейнера - большой вопрос - похоже это что то типо кеша докеровского или же что то типо гита - других мыслей у меня нет пс.если эту строчку убрать ты не сможешь бд созадть - эта команда прописывает путь где сторить бд у тебя в контейнере ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 17:12 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mayton Ну если ты напишешь так Код: java 1.
То это будет абсолютный путь. Тогда и найдешь. Абсолютные пути для баз данных это нормально. Не намусоришь случайно нигде. нет у меня такой директории как database-data я не знаю может это особенности какие то облачные- я работаю не на компе ,а на удаленном сервере( взял на отпуск помучать яндекс.клауд) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 17:23 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
asv79 mayton Ну если ты напишешь так Код: java 1.
То это будет абсолютный путь. Тогда и найдешь. Абсолютные пути для баз данных это нормально. Не намусоришь случайно нигде. нет у меня такой директории как database-data я не знаю может это особенности какие то облачные- я работаю не на компе ,а на удаленном сервере( взял на отпуск помучать яндекс.клауд) Windows? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 17:28 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mayton asv79 пропущено... нет у меня такой директории как database-data я не знаю может это особенности какие то облачные- я работаю не на компе ,а на удаленном сервере( взял на отпуск помучать яндекс.клауд) Windows? линукс конечно- спецом и взял чтобы немного знаний поднять по линукс и девопсятине) короче нашел я где эта дичь лежала в докере в volumes нужно сделать Код: java 1.
и будет счастье ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 17:35 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
Это очистка образов. Ты уверен что правильно понял что ты делаешь и зачем? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 17:52 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mayton Это очистка образов. Ты уверен что правильно понял что ты делаешь и зачем? это не очистка образов это удаление всего всех контейенеров,образов,нетворков,волумов,билд кешей вот так будет правильней звучать пс.вроде да разобрался что к чему 1.файл инит не нужен - база будет создана из того что пропишешь при создании контейнера 2.инит файл нужен для таких вещей как напрмиер create extension if not exist "uuid-ossp" 3.нужно правильно прописиывать переменные окружения в application.yml и в докер- композе 4.волум - сторит нашу дату- что в приницпе логичено не каждый же раз ее дропать при рестарте контейнера где физически лежит волум - в нашем случае постгрес дата - судя по всему в докере ,но вне контейнеров( но это не точно- тут нужно мнение профессионалов- я таких директорий на своем серваке не нашел - причем понятно что смотрел все и скрытые) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 18:09 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
по волумам вот такой ответ Volumes are stored in a part of the host filesystem which is managed by Docker ( /var/lib/docker/volumes/ on Linux). Non-Docker processes should not modify this part of the filesystem. Volumes are the best way to persist data in Docker ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 18:32 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
Я не знаю как устроено яндек-облако. Но если сравнивать его с AWS, то для докеров там делается отдельная услуга. Вобщем ты на одной VirtualPrivateService или EC2 поднимаешь весь оркестр. А так не делается. Дорого для ресурсов. Должна быть отдельная услуга наподобие ECS, и ты после компилляции образа его туда заливаешь Код: java 1. 2.
Там отдельный репо создается. Креды к нему и прочее. Для тебя его полезный эффект будет в виде еще одного экспоуз сетевого порта и все. Больше ничего не будет. Ни операционки. Ни bash консоли. Ну а виртуальный приватный хост будет уже чисто для твоего приложения. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 18:35 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mayton Я не знаю как устроено яндек-облако. Но если сравнивать его с AWS, то для докеров там делается отдельная услуга. Вобщем ты на одной VirtualPrivateService или EC2 поднимаешь весь оркестр. А так не делается. Дорого для ресурсов. Должна быть отдельная услуга наподобие ECS, и ты после компилляции образа его туда заливаешь Код: java 1. 2.
Там отдельный репо создается. Креды к нему и прочее. Для тебя его полезный эффект будет в виде еще одного экспоуз сетевого порта и все. Больше ничего не будет. Ни операционки. Ни bash консоли. Ну а виртуальный приватный хост будет уже чисто для твоего приложения. в моем случае яндекс .облако - обычная виртуалка ,которую я использую в качестве сервака для докера в мое конкретном случае там нет ничего -так как это триал версия - взял погонять чтобы вкусить весь путь от пуша до развертывания на кубернетис - чо то меня прям это все увлекло ,да так что в отпуске залипаю на 12 часов у компа) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 18:50 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
Попробую смигрировать один проект с Guice на Dagger2. У задачи нет сроков. Она - игрушечная поэтому могу играться с ней бесконечно. Без лимитов по времени. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2021, 14:31 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
Почему в опросе нет трушного CDI ? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2021, 18:30 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
Dmitry Eliseev Почему в опросе нет трушного CDI ? Потому что поциент скорее мертв, чем жив?! <:o) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2021, 15:30 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
Я вроде писал что извиняюсь если я кого-то забыл. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2021, 18:07 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
ну что там с кваркусом то? решили где гэ а где не гэ? имхо. для себя сделал вывод, где аннотации - там гэ. где аннотации размером с жирафа (в экран не влезают) - это гэ в факториале. опять же вопрос - как вы используете свой фреймворк. если весь ворох свистелок трынделок это одно. а если только как диай контейнер а остальное сами-сами то это совсем другое. все эти спринги кварки хибернейты отличные штуки если дают возможность без переделок и закапываний в потроха решить конкретно твою задачу. если надо лезть в потроха - уже появляются вариации. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2021, 18:43 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
andreykaTвсе эти спринги кварки хибернейты отличные штуки если дают возможность без переделок и закапываний в потроха решить конкретно твою задачу. если надо лезть в потроха - уже появляются вариации.Ну Spring DI и Hibernate решают задачи очень разной сложности. Spring DI решает очень простую задачу, которую и вручную не то чтоб сложно решить. Поэтому и на его изучение/применение в идеале не должно уходить усилий (чему всякое гэ типа Spring Boot'а не способствует). Hibernate же решает очень сложные проблемы которые вручную тоже трудно решить. Поэтому если его изучение и применение будут сложными - это ожидаемо. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2021, 18:51 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
сказанное выше это в разрезе того что мы говорим о фреймворках в целом. и спринг и хибер - это в первую очередь фреймворки. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2021, 18:56 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mad_nazgul Dmitry Eliseev Почему в опросе нет трушного CDI ? Потому что поциент скорее мертв, чем жив?! <:o) Разве может стандарт JEE умереть ? Кроме того существует достаточно много фреймворков и серверов приложений которые его поддерживают. То что люди не пользуются а тащат туда спринг, утяжеляя приложение - личное дело каждого. Тот же Quarkus, участвующий в опросе пишет на своём сайте: Quarkus DI solution (also called ArC) is based on the Contexts and Dependency Injection for Java 2.0 specification . However, it is not a full CDI ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2021, 19:09 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
Dmitry EliseevРазве может стандарт JEE умереть ?А вот и умер (ну в смысле поменял хозяев и переименовался), теперь это Jakarta EE :) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2021, 19:27 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev Hibernate же решает очень сложные проблемы которые вручную тоже трудно решить. Поэтому если его изучение и применение будут сложными - это ожидаемо. Hibernate решает сложные проблемы, которые сам себе в начале создал. Из-за отображения ООМ на РМД. Простые вещи он усложняет до невозможности. Вместо, того, чтобы делать нормальный DTO ручками. Приходиться скрещивать ужа с ежом, чтобы получить пони. <:o) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2021, 06:43 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mad_nazgulHibernate решает сложные проблемы, которые сам себе в начале создал. Сложные проблемы которые он решает и которые сам себе не создавал - это ленивая загрузка и поддержка больших графов объектов, dirty check'и, каскады, поддержание PersistenceContext'a и т.п. mad_nazgulПростые вещи он усложняет до невозможности. Вместо, того, чтобы делать нормальный DTO ручками. Приходиться скрещивать ужа с ежом, чтобы получить пони. Простые штуки вроде вернуть DTO можно сделать как с Hibernate'ом: - с помощью select new - создание более удобных сущностей под задачу, которые мапятся на те же таблицы, но по-другому - маппинг на вьюшки Так можно решать их и без него, никто не мешает миксовать Hibernate и JDBC - это вполне себе подход. Простым проблемам - простой инструмент. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2021, 10:16 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
OFF Не мойму против кого тут. Против ОРМ, реализации в хибере или против загибания DTO))….....? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2021, 10:35 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev mad_nazgulHibernate решает сложные проблемы, которые сам себе в начале создал. Сложные проблемы которые он решает и которые сам себе не создавал - это ленивая загрузка и поддержка больших графов объектов, dirty check'и, каскады, поддержание PersistenceContext'a и т.п. Вот! Нафиг они нужны не в рамках контекста Hibernate?! Все эти проблемы притащил с собой Hibernate. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2021, 14:50 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mad_nazgul, Странный ты. Говори конкретнее! Хибер притащил ленивость? Но без ОРМ ленивость ты делал руками писав JOIN поляневсеакоторыенужны ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2021, 15:10 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mad_nazgul, Странный ты. Говори конкретнее! Хибер притащил ленивость? Но без ОРМ ленивость ты делал руками писав JOIN поляневсеакоторыенужны Да хибер притащил понятие ленивость. Что значит ленивость? Это когда вместо реального объекта посдтавляется прокси, при обращении к которому, делается запрос и подтягиваются данные. Без ОРМ никакой "ленивой" загрузки не надо. Запросом вытаскиваешь данные и раскладываешь по объектам. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2021, 15:26 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mad_nazgul, >Запросом вытаскиваешь данные и раскладываешь по объектам. = хорош трындеть. ПОКАЖИ. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2021, 16:05 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
Нужен-ли хибер микросервисам? Вот еще интересный вопрос. Я думаю - нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2021, 16:56 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
Создал отдельную тему для этого обсуждения: Нужен ли нам ORM? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2021, 18:05 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mayton Нужен-ли хибер микросервисам? Вот еще интересный вопрос. Я думаю - нет. Спринг бут тянет jpa, а он хибер ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2021, 18:08 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev, Баян. Уже даже порванный ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2021, 18:09 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton Нужен-ли хибер микросервисам? Вот еще интересный вопрос. Я думаю - нет. Спринг бут тянет jpa, а он хибер Ну если использовать для хранения данных БД. Но можно использовать, какиой-нибудь Mongo или Redis. <:o) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 06:50 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Stanislav Bashkyrtsev, Баян. Уже даже порванный Ну ПТ закрыли. А так с 2013 года ничего не поменялось :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 06:52 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton Нужен-ли хибер микросервисам? Вот еще интересный вопрос. Я думаю - нет. Спринг бут тянет jpa, а он хибер Ахаха! А нужен ли бут микросервисам? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 07:18 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mayton, И микросервисы тут никто не видел) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 08:25 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mad_nazgul PetroNotC Sharp пропущено... угу. Спринг бут тянет jpa, а он хибер Ну если использовать для хранения данных БД. Но можно использовать, какиой-нибудь Mongo или Redis. <:o) Лечение головной боли гильотиной. Разумеется ОРМ не нужен если второй буквы из трех нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 08:27 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mad_nazgul пропущено... Ну если использовать для хранения данных БД. Но можно использовать, какиой-нибудь Mongo или Redis. <:o) Лечение головной боли гильотиной. Разумеется ОРМ не нужен если второй буквы из трех нет. Дык РМД, это просто одна из моделей хранения данных. Если её не использовать, то она и не нужны. ;-) <:o) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 09:14 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton, И микросервисы тут никто не видел) Э-э-э ИМХО все таки лучше говорить за себя. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 09:16 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mad_nazgul PetroNotC Sharp mayton, И микросервисы тут никто не видел) Э-э-э ИМХО все таки лучше говорить за себя. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 09:48 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mad_nazgul, Тогда вопрос зачем ОРМ без рсубд не имеет смысла. Ты его выше задал. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 09:49 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton, И микросервисы тут никто не видел) Я не виноват. Топик живет своей жизнью. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 10:05 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mayton, Я тоже. В инете уже их обозвали словом buzzword ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 10:10 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
PetroNotC Sharp В инете уже их обозвали словом buzzword ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 10:19 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
am_sasa PetroNotC Sharp В инете уже их обозвали словом buzzword Им нужны обычные веб сервисы. Так раньше их называли. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 10:22 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
am_sasa, RestFull чем отличается от REST?)) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 10:24 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, состояния нет ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 10:49 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
am_sasa PetroNotC Sharp, состояния нет У рест там 6 или 8 принципов. К которым стремятся.. Но так как все принципы это идеал который не то что недостижим, а вреден. Придумали термин Полный рест или не полный. Вот, в вакансиях и пишут, что максимальное требование по рест в архитектуре. Например, кроме GET/POST Используются полный набор идентификаторов операций. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 11:00 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
am_sasa, Думаю что состояния надо убирать в обоих рест. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 11:02 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
К слову. Пару дней назад посмотрел лекцию. Вот этот господин описал некоторые недостатки REST с точки зрения их продуктовых usecases. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 13:21 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mayton Мне понравилась идея упрощения. Я тоже когда-то об этом думал когда технология REST появилась (или просто стала базз-вордом). Само по себе натяжка http-команд и статусов и кодов ошибок на некий софистический прикладной API мне тогда казалась странной. Так REST в чистом виде, это вываливание всех кишек наружу. Очень грубо говоря вы даете полный доступ к своим данным без каких либо ограничений. Максимум можете разрешения/доступ дать к отдельным типам сущностей. Это как дать доступ к БД напрямую, ограничив только пользователем БД. И это не вебсервисы, это гораздо "тупее" ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 13:31 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
мне понравилась тема с некими конвертами в виде джейсона )) типа понятно и действие и результат и всё остальное. опять же схемы опенапи и т.п. конверты да.. а хотя... постойте это же... блин! ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 15:10 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
Мы приходим к некому SOAP-over-http. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 15:53 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mad_nazgul mayton Мне понравилась идея упрощения. Я тоже когда-то об этом думал когда технология REST появилась (или просто стала базз-вордом). Само по себе натяжка http-команд и статусов и кодов ошибок на некий софистический прикладной API мне тогда казалась странной. Так REST в чистом виде, это вываливание всех кишек наружу. Очень грубо говоря вы даете полный доступ к своим данным без каких либо ограничений. Максимум можете разрешения/доступ дать к отдельным типам сущностей. Это как дать доступ к БД напрямую, ограничив только пользователем БД. И это не вебсервисы, это гораздо "тупее" любой бэк в дата центричном приложении - это вшивая прослойка между бд и клиентом ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 17:24 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mad_nazgulТак REST в чистом виде, это вываливание всех кишек наружу. Очень грубо говоря вы даете полный доступ к своим данным без каких либо ограничений.Эт к RESTy не имеет никакого отношения. Через любой API если ты просто гоняешь DTO которые вытягивают данные из таблицы и наоборот - их туда складывают, то да - ты просто написал API к БД. На самом деле в RESTe ты какие ресурсы хочешь - такие и создаешь, они могут никак не соотносится со структурой БД. Как и в SOAP, или Protobuf, или JSON-RPC или любом другом протоколе. maytonСамо по себе натяжка http-команд и статусов и кодов ошибок на некий софистический прикладной API мне тогда казалась странной.Ну это Layer 7 модели OSI. Он создан как раз для того чтоб его понимали приложения. Если же мы его используем исключительно для туннелирования, ну тогда получаем еще один уровень протокола. Что обычно значит потерю в производительности и интероперабельности. Например, чел в видео полностью отбросил кеширование перейдя на POST. Если не нравится HTTP, то можно реализовать свой Layer 7 прокол. Но конечно если речь про UI-BE, то тут уж мы ограничены тем что поддерживает браузер. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 17:30 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
andreykaT, Бэк сам включает бд. Поэтому не может быть прослойкой ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 17:39 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
Stanislav BashkyrtsevНу это Layer 7 модели OSI. Он создан как раз для того чтоб его понимали приложения. Если же мы его используем исключительно для туннелирования, ну тогда получаем еще один уровень протокола. Что обычно значит потерю в производительности и интероперабельности. Например, чел в видео полностью отбросил кеширование перейдя на POST. Кеширование - это отдельная и сложная тема. И оно не включается по "щелчку пальцев". Его обсуждают с бизнесом. Обсуждают возможные потери. Компромиссы. Поэтому просто так говорить "всуе" о кешировании - это просто спекулировать на термине. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 18:06 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
maytonКеширование - это отдельная и сложная тема. И оно не включается по "щелчку пальцев". Его обсуждают с бизнесом. Обсуждают возможные потери. Компромиссы. Поэтому просто так говорить "всуе" о кешировании - это просто спекулировать на термине.Тема эта может и сложная, но не всегда. И не всегда с бизнесом нужно обсуждать. Часто это просто вопросы архитектуры. К примеру использование immutable записей. Т.е. загружается основной JSON у которого есть ссылки на какие-то большие объекты. Если эти объекты immutable, то ставим пожизненный кеш. Если они обновятся, то обновится и ID в основном JSON'e, а значит и адрес ресурса. Все работает быстро и удобно. Когда же мы переходим на POST, то тут с бизнесом обсуждай-не обсуждай, а все, приехали. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2021, 19:04 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev Эт к RESTy не имеет никакого отношения. Через любой API если ты просто гоняешь DTO которые вытягивают данные из таблицы и наоборот - их туда складывают, то да - ты просто написал API к БД. На самом деле в RESTe ты какие ресурсы хочешь - такие и создаешь, они могут никак не соотносится со структурой БД. Как и в SOAP, или Protobuf, или JSON-RPC или любом другом протоколе. Ресурсы == данные?! Не? А откуда они из БД, или откуда-то ещё - не важно. Данные доступны "как есть", без логики. Из-за statless, то что мы положили, то мы и должны получить. Т.к. Данный концепт очень ограничен, и применим не всегда и не везде, то стали придумывать "дополнения и расширения". И сейчас пришли к тому, от чего уходили. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2021, 09:08 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mad_nazgul Stanislav Bashkyrtsev Эт к RESTy не имеет никакого отношения. Через любой API если ты просто гоняешь DTO которые вытягивают данные из таблицы и наоборот - их туда складывают, то да - ты просто написал API к БД. На самом деле в RESTe ты какие ресурсы хочешь - такие и создаешь, они могут никак не соотносится со структурой БД. Как и в SOAP, или Protobuf, или JSON-RPC или любом другом протоколе. Ресурсы == данные?! Не? А откуда они из БД, или откуда-то ещё - не важно. Данные доступны "как есть", без логики. Из-за statless, то что мы положили, то мы и должны получить. Т.к. Данный концепт очень ограничен, и применим не всегда и не везде, то стали придумывать "дополнения и расширения". И сейчас пришли к тому, от чего уходили. :-) Как это без логики? Кто сказал? БЛ есть внутри. Наружу получили данные. Вместо getДолжники() Будет http//app/должники ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2021, 09:31 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev maytonКеширование - это отдельная и сложная тема. И оно не включается по "щелчку пальцев". Его обсуждают с бизнесом. Обсуждают возможные потери. Компромиссы. Поэтому просто так говорить "всуе" о кешировании - это просто спекулировать на термине. Пожизненный - тоже плохо. Обновишь версию формата - потом кеш отравлен. Надо придумывать как попросить клиентов их инвалидировать. Вобщем Rest всяко хорошо когда у тебя браузер. А для двух разговаривающих друг с другом back-систем rest будет ненужным волюнтаризмом. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2021, 13:46 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mad_nazgulРесурсы == данные?! Не?Нет. REST - это не доступ к БД. RPC в этом плане никак не отличается от REST'a. mad_nazgulИз-за statless, то что мы положили, то мы и должны получить.Нет, stateless совсем о другом - о том что если бы у нас было две ноды, то запросы могли бы идти на каждую из них в любом порядке. Что у ноды нет никакого состояния относительно другой ноды (те же кеши к примеру), которое могло бы привести к разным результатам если идти к разным нодам. Опять же - это приятное свойство и в случае RPC тоже. maytonОбновишь версию формата - потом кеш отравлен.Есть хорошее решение, которое ты наверняка знаешь потому как оно используется повсеместно. Но из-за того что нужно обязательно плохое что-то сказать про REST - не хочешь чутка подумать. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2021, 13:47 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
Есть разные решения. Но есть также рекомендация не использовать "вечное хранение" в кешах. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2021, 14:18 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mayton, Кеш это такая мелочь... Всего лишь оптимизация. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2021, 15:00 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
Да как посмотреть. Фейсбук и ВК под это дело создали ни много ни мало а фреймворки и свои стеки технологий. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2021, 16:16 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev mad_nazgulРесурсы == данные?! Не? Где я говорил о БД? Я говорю только о данных. Stanislav Bashkyrtsev mad_nazgulИз-за statless, то что мы положили, то мы и должны получить. Statless не про ноды, это про состояние. Возможность горизонтального масштабирования это дополнительный плюс. Главное, что результат не зависит от внутреннего состояния объекта/функции/сервиса. И по идее не может быть так, что положив в коробку платочек, мы оттуда получаем кролика. Если это не так, то мы имеем statefull. Тот же пример с кешем, это пример statefull сервиса, т.к. состояние сервиса зависит от состояния внутреннего кеша. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2021, 09:28 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mad_nazgul, У него и у меня претензия только к твоей фразе "кишки наружу" ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2021, 09:45 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mad_nazgul, У него и у меня претензия только к твоей фразе "кишки наружу" Ну ок. Просто для меня REST это доступ к данным, без какой-либо явной логики. Ну типа выставили наружу MongoDB, можете данные читать/изменять/добавлять/удалять. (GET/POST/PUT/DELETE) Как бы все. А вот для API REST не подходит от слова совсем. <:o) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2021, 12:43 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mad_nazgul, Монго бд тут 1 процент народа. Че о ней говорить. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2021, 12:53 |
|
Тяпничный список инжекторных движков
|
|||
---|---|---|---|
#18+
mayton Попробую смигрировать один проект с Guice на Dagger2. У задачи нет сроков. Она - игрушечная поэтому могу играться с ней бесконечно. Без лимитов по времени. Хм. Не вижу у Dagger2 поддержки метода init(). ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2021, 11:55 |
|
|
start [/forum/topic.php?all=1&fid=59&tid=2120454]: |
0ms |
get settings: |
18ms |
get forum list: |
5ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
33ms |
get topic data: |
2ms |
get forum data: |
0ms |
get page messages: |
2074ms |
get tp. blocked users: |
1ms |
others: | 6ms |
total: | 2141ms |
0 / 0 |