|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
Cам не могу понять, из-за чего проблема Подскажите пожалуйста, что я не так делаю ? Код: 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.
Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
На строке Authentication authentication = authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(email, password)); все улетает в бесконечный цикл до StackOverflowError Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 19:44 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
з.ы. Вылазит при этом вот такое 100500 раз, это лишь часть: Код: 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. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 19:44 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
korshun На строке Потом лог сюда с этого текста. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 19:56 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
PetroNotC Sharp korshun На строке Потом лог сюда с этого текста. Надеюсь правильно понял, о чем речь Код: java 1. 2.
Далее 100500 раз повторяются эти две строки Код: java 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 20:02 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
Аутентификация тут не причем - просто hashCode() неправильно объявлен, он зацикливается. Из PrivilegeEntity.hashCode() ты вызываешь у коллекции hashCode(), а та вызывает RoleEntity.hashCode(). А тот ссылается снова на PrivilegeEntity и вызывает у него hashCode(). Если ты работаешь с ORM, то старайся не переопределять equals()/hashCode() вообще. Они обычно не нужны и только приводят к проблемам. PS: Первое что нужно делать при траблшутинге - хорошенько разобраться со стектрейсом. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 20:08 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev Аутентификация тут не причем - просто hashCode() неправильно объявлен, он зацикливается. Из PrivilegeEntity.hashCode() ты вызываешь у коллекции hashCode(), а та вызывает RoleEntity.hashCode(). А тот ссылается снова на PrivilegeEntity и вызывает у него hashCode(). Если ты работаешь с ORM, то старайся не переопределять equals()/hashCode() вообще. Они обычно не нужны и только приводят к проблемам. PS: Первое что нужно делать при траблшутинге - хорошенько разобраться со стектрейсом. Хм, так hashCode() я и не переопределял и не вызываю его.. А почему они друг на друга ссылаются то ? Сорри за глупые вопросы конечно.. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 20:18 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
Покажи весь класс, там может быть какой-нибудь @Data из ломбок-а стоит ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 20:21 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
Т.к. ты не показал классы целиком, то я могу лишь догадываться, что ты используешь Lombok. И поставил (и зря) аннотацию @EqualsAndHashcode или @Data (очень зря). ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 20:21 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev Т.к. ты не показал классы целиком, то я могу лишь догадываться, что ты используешь Lombok. И поставил (и зря) аннотацию @EqualsAndHashcode или @Data (очень зря). Блин, @Data, стоит, да.. Целый день ковыряюсь, глаз замылился уже. Ты волшебник)) Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2021, 20:26 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
korshun Stanislav Bashkyrtsev Т.к. ты не показал классы целиком, то я могу лишь догадываться, что ты используешь Lombok. И поставил (и зря) аннотацию @EqualsAndHashcode или @Data (очень зря). Блин, @Data, стоит, да.. Целый день ковыряюсь, глаз замылился уже. Ты волшебник)) Спасибо! @Data и @Entity рядом быть не должны от слова вообще ЖПА вообще не требует переопределения eq/hsc так как сравнение идет по Id ну и мой совет - уходите от таких библиотек- учитесь писать это руками,тем более любая современная IDE на лету сгенерит вам нужный код мы сейчас столкнулись с проблемой перехода на 17 джаву как раз изза ломбока ,так как ребята почему не позаботились об обратной совсестимости ,да собственно и о прямой тоже в итоге мы выпилили эту либу их проекта,перешли на 17ю и теперь не зависим от каких то ребят,которые проспали на месяц вспышку... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 00:56 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
adminDontSleep, Стас, ты опять забыл перед сном таблетки принять? Нормально компилится все под 17 жаву. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 03:23 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
Андрей Панфилов adminDontSleep, Стас, ты опять забыл перед сном таблетки принять? Нормально компилится все под 17 жаву. почитай релиз лог от 6 октября их и подумай может ли оно нормально работать,пока еще очень много багов - мы решили пару месяцев подождать,пока будет стабильная версия ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 10:21 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
Андрей Панфилов, для перехода на новую Java нужно обновлять версию Lombok'a. Но при этом он сломал обратную совместимость - аннотации на полях больше не проставляются на методы по умолчанию. Не знаю насколько это все сложно чинить, может там глобальная конфигурационная опция есть ¯\_(ツ)_/¯ Мне тоже кажется Lombok странноватой зависимостью - доп сложности ради каких-то мелочей.. У меня счас одновременно два проекта: на одном есть, на другом - нет. На 2ом хорошо себя чувствую и без него. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 10:22 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev Андрей Панфилов, для перехода на новую Java нужно обновлять версию Lombok'a. Но при этом он сломал обратную совместимость - аннотации на полях больше не проставляются на методы по умолчанию. Не знаю насколько это все сложно чинить, может там глобальная конфигурационная опция есть ¯\_(ツ)_/¯ Мне тоже кажется Lombok странноватой зависимостью - доп сложности ради каких-то мелочей.. У меня счас одновременно два проекта: на одном есть, на другом - нет. На 2ом хорошо себя чувствую и без него. у ребят из ломбока было достаточно времении чтобы привести в порядок свой код до релиза 17й,либо там такое количество багов ,что просто отсутсвует капасити на фиксы,либо они просто забили болт- и то и другое неприемлимо - поэтому мы решили сделать ласт трай через пару мес - если не будет адекватных фиксов - ломбок из проекта мы удалим,тем более что в свете 17й джавы он уже теряет прежнюю актуальность ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 10:51 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
Может я ошибаюсь, но мне кажется, что Стас совсем недавно со всей пролетарской ненавистью топил именно за Ломбок. Не? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 11:06 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
Alexander A. Sak, Дело в ненависти. У него максимализм, значит обсуждение невозможно. Только священные войны. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 11:30 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
adminDontSleep у ребят из ломбока было достаточно времении чтобы привести в порядок свой код до релиза 17й,либо там такое количество багов ,что просто отсутсвует капасити на фиксы,либо они просто забили болт- и то и другое неприемлимо - поэтому мы решили сделать ласт трай через пару мес - если не будет адекватных фиксов - ломбок из проекта мы удалим,тем более что в свете 17й джавы он уже теряет прежнюю актуальность Ты *банько из сказки морозко... если вот тут вот внимательно почитать, то можно выяснить: - существует вполне работоспособный workaround для maven, кто использует gradle пусть сам с ним приседает, ибо использовать gradle на не ведроидных проектах - это клиника, а в ведроиде там тренд идет на котлин - автор пишет, что ломбок до сих пор совместим с жавой 1.6 + еще более другие стремные компиляторы поддерживаются - нынешним колхозникам из openjdk до такого уровня совместимости как раком до Китая, там мужик реально грамотный, и не тебе его поносить - если не думать про то, что эти модули нахрен никому не нужны, а просто позволяют включить режим вахтера у разработчиков, ровно как и private/final методы, то там задается вполне праведный вопрос: какого хрена ограничения возникают в режиме компиляции? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 13:07 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
Alexander A. Sak Может я ошибаюсь, но мне кажется, что Стас совсем недавно со всей пролетарской ненавистью топил именно за Ломбок. Не? Да он и за PostgreSQL одно время топил, потом чет начал поносить ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 13:23 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
Андрей Панфилов adminDontSleep у ребят из ломбока было достаточно времении чтобы привести в порядок свой код до релиза 17й,либо там такое количество багов ,что просто отсутсвует капасити на фиксы,либо они просто забили болт- и то и другое неприемлимо - поэтому мы решили сделать ласт трай через пару мес - если не будет адекватных фиксов - ломбок из проекта мы удалим,тем более что в свете 17й джавы он уже теряет прежнюю актуальность Ты *банько из сказки морозко... если вот тут вот внимательно почитать, то можно выяснить: - существует вполне работоспособный workaround для maven, кто использует gradle пусть сам с ним приседает, ибо использовать gradle на не ведроидных проектах - это клиника, а в ведроиде там тренд идет на котлин - автор пишет, что ломбок до сих пор совместим с жавой 1.6 + еще более другие стремные компиляторы поддерживаются - нынешним колхозникам из openjdk до такого уровня совместимости как раком до Китая, там мужик реально грамотный, и не тебе его поносить - если не думать про то, что эти модули нахрен никому не нужны, а просто позволяют включить режим вахтера у разработчиков, ровно как и private/final методы, то там задается вполне праведный вопрос: какого хрена ограничения возникают в режиме компиляции? ну да ломбок настолько хорош,что не дружит с градл)Андрей иди выпей успокоительное) так же не понял причем тут ведроидный проект- у нас к примеру клиент серверное приложение ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2021, 15:23 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
adminDontSleep ну да ломбок настолько хорош,что не дружит с градл)Андрей иди выпей успокоительное) так же не понял причем тут ведроидный проект- у нас к примеру клиент серверное приложение такой взрослый, а до сих пор в сказки веришь... Вот если ты английским не владеешь, то на чем твои суждения основываются-то? Харб чтоли читаешь, или товарищ по галере что-то рассказывает? Объективно (без всяких инсинуаций в духе там хаки, а там не хаки): - у ломбока есть довольно-такие большое комьюнити, игнорировать которое довольно глупо - всякие движения в языке проходят довольно неторопливо, при этом результат на самом деле так себе, ну вот толку-то от этих record, если у них полноценных (т.е. как в ломбок) билдеров нет - сиди как дурак и шлепай конструкторы на пол-экрана, да копирования тоже нет (тут обязательно найдется кто-то, кто заявит, что много полей в классе - это якобы плохой дизайн. Нет.), т.е. record - это никакая не замена @Data, а просто детская поделка - если пойти по ссылке, что я раньше давал, и посмотреть что сделали в ломбоке для того чтобы он без приседаний работал в 16-й жаве, то можно лицезреть картину маслом: чуваки сидели 7(!) лет, при этом в самом проекте jigsaw постулируется какая-то история про безопасность , а автор ломбок взял и через рефлексию все разломал - вот такая вот безопасность, так еще и в догонку задает довольно неприятные вопросы: какая нахрен здесь безопасность, если вы Security Manager убрали, ProcessBuilder в публичном API живет, а на файловой системе живет бинарник java? Вот такой вот "неприятный" автор ломбок. Т.е. текущее состояние жавки примерно следующее: у нас совершенно ипанутое API для совершенно тривиальных вещей (ну например работа с массивами через пень колоду организована, java.lang.String#substring в UTF8 никак не умеет (сюрприз, да), лямбды такие, что без слез не глянешь + все что наболело), однако при этом у нас есть куча сборщиков мусора (в 1.6 их было 7 штук, сейчас даже считать лень) и никому не нужные модули - на мой взгляд это уже определенно стагнация. Что касается твоего gradle, то вроде как я нигде не писал, что он не работает с ломбок - я писал, что чтобы пользоваться gradle в современных не ведроидных проектах нужно быть клиническим идиотом. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 04:40 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
Андрей Панфилов adminDontSleep ну да ломбок настолько хорош,что не дружит с градл)Андрей иди выпей успокоительное) так же не понял причем тут ведроидный проект- у нас к примеру клиент серверное приложение такой взрослый, а до сих пор в сказки веришь... Вот если ты английским не владеешь, то на чем твои суждения основываются-то? Харб чтоли читаешь, или товарищ по галере что-то рассказывает? Объективно (без всяких инсинуаций в духе там хаки, а там не хаки): - у ломбока есть довольно-такие большое комьюнити, игнорировать которое довольно глупо - всякие движения в языке проходят довольно неторопливо, при этом результат на самом деле так себе, ну вот толку-то от этих record, если у них полноценных (т.е. как в ломбок) билдеров нет - сиди как дурак и шлепай конструкторы на пол-экрана, да копирования тоже нет (тут обязательно найдется кто-то, кто заявит, что много полей в классе - это якобы плохой дизайн. Нет.), т.е. record - это никакая не замена @Data, а просто детская поделка - если пойти по ссылке, что я раньше давал, и посмотреть что сделали в ломбоке для того чтобы он без приседаний работал в 16-й жаве, то можно лицезреть картину маслом: чуваки сидели 7(!) лет, при этом в самом проекте jigsaw постулируется какая-то история про безопасность , а автор ломбок взял и через рефлексию все разломал - вот такая вот безопасность, так еще и в догонку задает довольно неприятные вопросы: какая нахрен здесь безопасность, если вы Security Manager убрали, ProcessBuilder в публичном API живет, а на файловой системе живет бинарник java? Вот такой вот "неприятный" автор ломбок. Т.е. текущее состояние жавки примерно следующее: у нас совершенно ипанутое API для совершенно тривиальных вещей (ну например работа с массивами через пень колоду организована, java.lang.String#substring в UTF8 никак не умеет (сюрприз, да), лямбды такие, что без слез не глянешь + все что наболело), однако при этом у нас есть куча сборщиков мусора (в 1.6 их было 7 штук, сейчас даже считать лень) и никому не нужные модули - на мой взгляд это уже определенно стагнация. Что касается твоего gradle, то вроде как я нигде не писал, что он не работает с ломбок - я писал, что чтобы пользоваться gradle в современных не ведроидных проектах нужно быть клиническим идиотом. чувствую твою боль,спорить про лобмок я с тобой не буду ибо объективно сейчас он не рабочий,но я знаю что ребята его пофиксят и станет норм- и собственно непонятно чего ты заагрился но самое главное - я бы хотел услышать вот этот момент- ты назвал систему модулей джава никому не нужной - у нас лиды хотя бить проект на модули - очень интересно будет послушать твои аргументы против модульной архтетектуры( пс это не сарказм ) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 19:24 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
Андрей Панфилов, давай без эмоций в отдельной теме поговорим мне реально интересна твоя позиция,особенно в плане модулей джавы и как выше оказалось - почему ты называешь рекорды поделкой но самый первый вопрос - почему ты считаешь что только идиоты сейчас будут свитчить на модули? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 19:40 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
Андрей Панфилов Т.е. текущее состояние жавки примерно следующее: у нас совершенно ипанутое API для совершенно тривиальных вещей (ну например работа с массивами через пень колоду организована, java.lang.String#substring в UTF8 никак не умеет (сюрприз, да), лямбды такие, что без слез не глянешь + все что наболело), однако при этом у нас есть куча сборщиков мусора (в 1.6 их было 7 штук, сейчас даже считать лень) и никому не нужные модули - на мой взгляд это уже определенно стагнация. Что касается твоего gradle, то вроде как я нигде не писал, что он не работает с ломбок - я писал, что чтобы пользоваться gradle в современных не ведроидных проектах нужно быть клиническим идиотом. Андрей мне кажется ты либо на пенсию вышел ,либо заболел) давай аргументы своим словам ты пишешь градл плохо для всех ,кто не пишет на ведро я тебе скажу что весь энтерпрайз на градле потому что там можно делать кастомные таски жду аргументов по всем твоим эпитетам 1.градл плохл 2.Модули плохл 3.рекорды - детская поделка ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 19:57 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
Модули - суть дисциплина программирования. Это то с чем многие согласны но не могут посчитать в деньгах. Вот какая дисциплина в JavaScript/Node.JS? Да никакой. Пишут как бох даст. К каждому проекту - персональный уникальный фреймворк. Может зайти со стороны секюрити? Ценная тема. Это как пожарная безопаность. Выж не спорите с пожарным инспектором когда он говорит о статистике пожаров. Да. Пожары - страшная штука. Вот давеча весь мир был в огне. Горела земля у тех кто Log4j2 затащил к себе в некотором диапазоне версий. Вот если-бы они использовали module-info. Это помогало-бы локализовать опасные взаимодействия с пользователем? ХЗ. Может зайти со стороны билда? Модули современного maven проекта? Хрен там. Модули maven и модули java9 пока - ортогональны и не знают друг друга. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 20:18 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
adminDontSleep ты пишешь градл плохо для всех ,кто не пишет на ведро ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 20:42 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
adminDontSleep аргументы против модульной архтетектуры( пс это не сарказм ) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 20:44 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
Андрей Панфилов ну вот толку-то от этих record, если у них полноценных (т.е. как в ломбок) билдеров нет - сиди как дурак и шлепай конструкторы на пол-экрана, да копирования тоже нет (тут обязательно найдется кто-то, кто заявит, что много полей в классе - это якобы плохой дизайн. Нет.), т.е. record - это никакая не замена @Data, а просто детская поделка ну тут ты переборщил с пессимизмом)). На самом деле огромный шаг вперед поддержка именно в языке. В дельфях то TRecord уже лет 40 как) То есть поддержка-носитель данных в Java это априори замечательно. Ведь куда не плюнь нужна сериализация и классы без поведения. А тут представь что нужен объект из 2 полей Код: 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.
то есть для трёх строк нужна вот эта куча кода. Смешно)). По поводу конструктора копирования то я не понял. Ты это от Сишников позавидовал? Но ведь в Java это не надо. Ну а биндинги и маппинги будут. Всё будет со временем даже если нету именно сейчас. имхо ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 22:35 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
далее. Класс данных вводимый все таки отличается от ломбок подхода. - отсутствие скрытого состояния - запечатанный класс и нет наследования - всё что нужно дается в конструкторе -... И это замечательно. Ограничения в новом классе дают больше преимуществ чем мы теряем там где сложности абсолютно не нужны. Разве не здорово выглядит попытка вернуть сразу два значения из метода? Код: java 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2021, 23:10 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
PetroNotC Sharp А тут представь что нужен объект из 2 полей Код: 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.
то есть для трёх строк нужна вот эта куча кода. Смешно)). По поводу конструктора копирования то я не понял. Ты это от Сишников позавидовал? на lombok это будет выглядеть так: Код: java 1. 2. 3. 4. 5. 6. 7. 8.
или более развернуто: Код: 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. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78.
т.е. можно писать: Код: java 1. 2.
а если сделать так: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9.
то можно уже писать вот так: Код: java 1. 2.
т.е. жабские record выглядят "удобными" разве что на примере с Point, а как только мы осознаем что нам нужно работу работать, а не примеры смотреть, то сразу вылезают грабли, а если посмотреть на JEP 395 то можно невооруженным взглядом заметить наличие отсутствия параграфа про prior art. PetroNotC Sharp Разве не здорово выглядит попытка вернуть сразу два значения из метода? Код: java 1. 2.
для подобного офигенно не хватает петоновских tuple, генераторов как в петоне тоже не хватает, да и от петоновских массивов я бы тоже не отказался. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 00:10 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
adminDontSleep ты пишешь градл плохо для всех ,кто не пишет на ведро я тебе скажу что весь энтерпрайз на градле потому что там можно делать кастомные таски Ты год назад божился, что весь энтерпрайз на PostgreSQL, а потом вдруг выяснилось, что PostgreSQL - это поделка. Про gradle повторяться не хочу, почитай вот тут , ну или еще мои сообщения поищи... adminDontSleep я бы хотел услышать вот этот момент- ты назвал систему модулей джава никому не нужной - у нас лиды хотя бить проект на модули - очень интересно будет послушать твои аргументы против модульной архтетектуры Проблема в том, что "моудльная архитектура" и "модули jigsaw" - это две совершенно разные вещи, "модульная архитектура" - это просто некая парадигма (набор паттернов и пр., которым уже несколько десятков лет, скорее всего отсчет идет с момента изобретения DLL, так что не знаю чего это вдруг твой архитектор внезапно решил что-то переделывать), которая говорит нам, что "хорошо бы делать так", при все при этом мы можем вполне легко определить что некая часть нашего приложения выглядит откровенно так себе, однако, когда нам приходится сравнивать два "условно хороших" решения, то мы сталкиваемся с тем, что какие-либо объективные метрики отсутствуют - включается некий собственный субъективизм + ссылки на каких-то упоротышей (упоротый дед Боб тому пример, или например последние движения в springboot - тамошние разработчики решили что циклические зависимости между бинами зло и при переходе на 2.6.1 прямым текстом в сообщении об ошибке так и пишут: ваш код говно, срочно идите его переделывать; при этом сам спринг нормально контекст собирает, да и javac прекрасно с задачей справляется). Если попытаться поиграть в аналогии и спроецировать "модульную архитектуру" на бытовой уровень, то в первом приближении получается так: - отдельностоящие домохозяйства - круто: нет шумных соседей с детьми и перфораторами, можно выбирать поставщиков услуг и пр. - квартиры - отстой: соседи, все являются заложниками ЖСК - общаги - это для нищебродов ну так вот, несмотря на то, что мне в отдельном доме жить нравится, мне постоянно приходится нести определенные издержки, ну вот к примеру чтобы что-то починить в доме нужно просто офигеть как заморочиться: починить что-то мелкое - к тебе никто не поедет, просто потому что не выгодно, а если чинить самому, то можно офигенно так попасть: по электрике и газу в случае пожара тебя взгреет страховая, по воде просто в канализацию врезаться нельзя - нужен сертифицированный водопроводчик, в итоге получается так, что или платишь по завышенной ставке или живешь с проблемами. Если ближе к теме про "модульную архитектуру", то вот предлагаю обратить взор на финно-узбекские паттерны : авторсобссно есть компонент. в хибере в энтитилистенере вставлен кафка продьюссер. просто в конструкторе инициализируется. оттуда и шлет в топик все изменения сущностей. продьюссер не инжектится в энтитилистенер а прям там через нью создается. Т.е. если поциент из какого-то @PrePersist шлет сообщения сразу в кафку, то по мнению современных архитекторов такой дизайн - это треш и угар и так делать нельзя. А вот теперь вопрос: если мы из @PrePersist "уберем слово кафка", ну например будем слать событие на деревню дедушке, которое будет кем-то ловиться и дальше отправляться в кафку, то у нас уже будет хорошая архитектура или нет? На мой взгляд ответ на вопрос - "очевидно нет", поскольку помимо существования "бизнес-кода" у нас есть еще инфраструктурная часть и часть связанная с информационной безопасностью - а там приоритеты уже совершенно другие: надежность и безопасность, а не некая абстрактная красота. Т.е. в целом в "модульной архитектуре" каждый дрочит как хочет, лишь бы ЧСВ росло. Почему "модули jigsaw" никакого отношения к "модульной архитектуре" не имеют? - в жаве (ну или в maven или gradle) по большому счету у зависимостей нет понятия requires/provides как например в linux (т.е. когда мы говорим, что для работоспособности нашего приложения нужен интерпретатор sh, а какой он там будет из 10 возможных нам совершенно не важно) - мы когда хотим иметь какой-то JPA мы указывает вполне конкретную реализацию - по факту хибер или эклипслинк и все, да бывают ситуации, что некие особо упоротые считают что JPA-модели можно описать только аннотациями из JPA, однако эти мечты мгновенно разбиваются о тот факт, что при помощи JPA нельзя много чего описать, да и пара хиберовских аннотаций может улучшить производительность в пару-тройку раз, другие упоротыши считают что, несмотря на то что они используют spring в качестве DI, фичи спринга использовать ну никак нельзя, а нужно оставаться в рамках пакета "javax.inject" из-за чего постоянно изобретают какие-то велосипеды с надеждой что когда-то проект сможет безболезненно переехать на другой фреймворк... - чтобы правильно пилить такие огромные куски на модули нужно изначально все вдумчиво проектировать, а не собирать комитеты, занимающиеся ИБД (тут обязательно нужно вспомнить как спринг в итоге победил J2EE с EJB и пр. дерьмом) - для разработчика весь этот распил rt.jar на отдельные модули не несет никакого профита (ах ну да, мы на диске аж 10 мегабайт скроим!), а вероятность того что мы сможем запустить оракловую жаву с java.base от какой-нибудь OpenJ9 равна нулю Отсюда вопрос: а зачем это все делается-то? У меня есть две теории на этот счет: - банальный синдром вахтера: кто-то там сел, откопал баги 20-летней давности и решил что вот время наконец-то пришло, и пора бы запретить разработчикам залазить в рантайм, и насрать что приложения в серверы приложений уже как лет 5 никто не деплоит и работоспособность конкретного приложения сейчас целиком и полностью лежит на плечах вендора (ну может еще кто-то хочет денюжку на поддержке только жавы заработать) - готовится база для насаживания всех на кукан и монетизации конкретных модулей, а хомячки сейчас это все забесплатно тестируют. Например с моей точки зрения запрет на использования кишок какого-то модуля имеет хоть какой-то смысл только с следующем сценарии: вот мы пишем какое-то приложение и хотим на него навесить некий модуль ИБ (ИБ здесь не с точки зрения того, что есть злые какеры, которые через log4j2 систему пробивают, а в смысле что Вася какие-то кнопки может нажимать, а какие-то нет) и нам кому-то (местной службе ИБ или аудитору) нужно доказать что наше приложение работает "безопасно", ну вот мы идем к вендору модуля ИБ, включаем модуль в поставку приложения, а у этого модуля все организовано так, что он там какие-то вызовы перехватывает, "расширить" его никак нельзя и поэтому вроде как все безопасно (у вендора бумажка есть). ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 05:32 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
Андрей Панфилов нам нужно работу работать У второго ограничения и выходящие из них преимущества. В ломбоке вы получаете тот же самый класс. Например, запрещено как в ломбоке добавлять свои скрытые поля в класс. И это дает кучу плюшек. Имхо ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 07:08 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
Андрей Панфилов модульная архитектура" - это просто некая парадигма (набор паттернов и пр., которым уже несколько десятков лет, скорее всего отсчет идет с момента изобретения DLL, так что не знаю чего это вдруг твой архитектор внезапно решил что-то переделывать), ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 07:13 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
Андрей Панфилов а если посмотреть на JEP 395 то можно невооруженным взглядом заметить наличие отсутствия параграфа про prior art. Non-GoalsIt is not a goal to declare "war on boilerplate"; in particular, it is not a goal to address the problems of mutable classes using the JavaBean naming conventions. It is not a goal to add features such as properties, metaprogramming, and annotation-driven code generation, even though they are frequently proposed as "solutions" to this problem. Лично вас не устраивает? Ну так или не используйте или предложите собственный JEP. В язык затащено всякого мусора? И что? Чем вам мешает то, что лично вы не используете (не хотите использовать)? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 07:20 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
Андрей Панфилов Отсюда вопрос: а зачем это все делается-то? Система модулей разработана, в первую очередь, для внутренних нужд разработки JDK. Как, например, вы собираетесь выпиливать приснопамятный sun.mics.Unsafe, если у вас нет ни "устарело, на удаление" ни строгой инкапсуляции? Как предлагаете реорганизовать откровенно неудачные решения Java SE API? Или вас всё это не касается? Ну а в чём тогда дело? Java 8 доступна из кучи репозиториев и будет доступна до 2023-24 года, как минимум. Следовательно, за это время можно спокойно переехать на Java 11 решив только те проблемы, которые мешают этому переезду. И, например, многоверсионные JAR могут облегчить вашу работу. А это, опять-таки, заслуга "того самого" jigsaw. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 07:31 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Поэтому вопрос: в чём недовольство-то? Лично вас не устраивает? Ну так или не используйте или предложите собственный JEP. В язык затащено всякого мусора? И что? Чем вам мешает то, что лично вы не используете (не хотите использовать)? вроде написал же уже: Андрей Панфилов текущее состояние жавки примерно следующее: у нас совершенно ипанутое API для совершенно тривиальных вещей (ну например работа с массивами через пень колоду организована, java.lang.String#substring в UTF8 никак не умеет (сюрприз, да), лямбды такие, что без слез не глянешь + все что наболело), однако при этом у нас есть куча сборщиков мусора (в 1.6 их было 7 штук, сейчас даже считать лень) и никому не нужные модули - на мой взгляд это уже определенно стагнация. т.е. иными словами: хотелось бы чтобы вместо онанизма решались насущные проблемы. Basil A. Sidorov Система модулей разработана, в первую очередь, для внутренних нужд разработки JDK. Хорошо, а зачем мне ее насаждать-то? Какого хрена я при переходе на новую версию жавы должен что-то глобально переделывать? Basil A. Sidorov Как, например, вы собираетесь выпиливать приснопамятный sun.mics.Unsafe, если у вас нет ни "устарело, на удаление" ни строгой инкапсуляции? Здесь я сразу вспомнил один из видосиков, которые постоянно mayton постит, там перец несколько минут гордился тем, что возможность использования sun.mics.Unsafe таки оставили, однако: дохрена народа пользуются sun.mics.Unsafe, хоть и приходится его получать через одно место - разработчики же JDK по какой-то невероятной причине этот факт попусту игнорируют, вот что мешало сделать System.unsafe 15 лет назад? Я никаких других причин кроме как синдрома вахтера не вижу: в С ассемблерные вставки можно, в .Net и Rust unsafe можно, в петоне биндинги к внешним библиотекам - это вообще само собой разумеющееся, а в жаве писать lock-free алгоритмы - это оказывается великая привилегия разработчиков JDK, а черни не дозволено. Basil A. Sidorov многоверсионные JAR могут облегчить вашу работу. А это, опять-таки, заслуга "того самого" jigsaw "облегчить" - на мой взгляд уж слишком оптимистичное заявление... ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 08:27 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
PetroNotC Sharp мое имхо что прогер должен выбрать. Нужен ему обычный класс или класс данных. У второго ограничения и выходящие из них преимущества. В ломбоке вы получаете тот же самый класс. Например, запрещено как в ломбоке добавлять свои скрытые поля в класс. И это дает кучу плюшек. Имхо Вот если бы в record в качестве полей можно было бы использовать только примитивы и другие record, то было бы круто - т.е. данные были бы только данными без каких-либо сайд-эффектов, там бы и десериализация была бы безопасная и пр., а так профита от этого нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 10:01 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
Андрей Панфилов, Дак оно так и есть. Не? Дай примерчик. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 10:04 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
Андрей Панфилов т.е. иными словами: хотелось бы чтобы вместо онанизма решались насущные проблемы. Добавлю ещё, что и мир не крутится вокруг программистов.Хорошо, а зачем мне ее насаждать-то? Какого хрена я при переходе на новую версию жавы должен что-то глобально переделывать?"Мир меняется ... Вот, уже и в воздухе чем-то запахло" (ц) х/ф "Братва и кольцо". Не хотите ничего переделывать - оставайтесь на Java 8. Хотите перейти на новую версию без переделки ваших приложений - делайте форк Java 8 JDK и интегрируйте туда только те фичи, которые нужны лично вам.Здесь я сразу вспомнил один из видосиков ... Я никаких других причин кроме как синдрома вахтера не вижу: ...Я поскипал много неаргументированных буков и просто повторю, что вокруг вас мир не вертится. Это можно понять из простого чтения JEP-ов. И, кстати, именно потому, что пятнадцать лет назад миндальничали со всякими Netty/Кафка/e.t.c. и нарисовалась та самая задница, которая вам так активно не нравится."облегчить" - на мой взгляд уж слишком оптимистичное заявление...А у меня - другое мнение. Будем меряться пип мнениями или, всё-таки, сойдёмся том, что другой (мета)вселенной (лично для вас) никто не напишет? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 10:17 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Андрей Панфилов, Дак оно так и есть. Не? Дай примерчик. Думаешь не скомпилится? Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 10:19 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
Андрей Панфилов, Класс для данных. Отсюда только статические поля и сам record как поле. Отсюда абсолютная прозрачность потрохов для всех снаружи. Отсюда полная прозрачность для сериализации и маршаллинга. Считай дерево данных tree record или json record ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 10:20 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
Андрей Панфилов PetroNotC Sharp Андрей Панфилов, Дак оно так и есть. Не? Дай примерчик. Думаешь не скомпилится? Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
static плохой тон) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 10:22 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
PetroNotC Sharp static плохой тон) Да какая разница, плохой или не плохой, оно же специально для тебя написано было, чтобы смог скомпилировать... ты же получил синтаксический сахарок и начал делать далеко идущие выводы - про сериализацию, иммутабельность и пр. - ничем подобным там и не пахло. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 10:56 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
Андрей Панфилов, Как какая разница если статик это не состояние карл. В классе данных не должно быть скрытого состояния. Что позволяет ломбок. Написать то можно любую хрень. Но ты выше написал сноску - "нам же работать надо". Тогда давай от задачи идти. Чем не пахло если в примере ты не изменил состояние. Что отлично сериализуется. Мне сложно рассматривать всякую хрень которая лишь бы скомпилилась. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 11:21 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 11:28 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
Андрей Панфилов, так и не услышал ни одного внятного аргумента против мудулей, Про ломбок вообще вообще нет ни одного аргумента,кроме что вот это удобно... а потом удобно ждать пару мес пока деятиели из ломбока пофиксят баги? или проще нажать generate getter/setter ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 18:14 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
adminDontSleep, А ты сам то вообще молчишь. То что ломбок удобен разве ж этого мало))) Ну а с приходом record и ломбок твой помрет. Так как pojo тупые классы это все что нужно в java ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 19:11 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
PetroNotC Sharp adminDontSleep, А ты сам то вообще молчишь. То что ломбок удобен разве ж этого мало))) Ну а с приходом record и ломбок твой помрет. Так как pojo тупые классы это все что нужно в java мне некогда говорить) работы выше крыши фактически что можно сказать - Андрей что то сказал- аргументировать не смог ломбок -удобно -но этого мало- он должен на выходе новых версий джавы показывать отсутсие багов я почитал их лог на октябрь и у меня волосы на голове дыбом встали - ребят ,а что вы делали то раньше - диструбутив 17й был доступен уже 100500 лет - почему не было фиксов? с таким отношением понятно они растеряли аудиторию ,я был в числе их почитателей- но ребята жестко обкакались - а это неприемлимо в той сфере ,где я работаю,поэтому ломбок пошел под нож,теперь только языковые фичи ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 19:31 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
adminDontSleep ломбок пошел под нож Переписывать легаси или нет. Больно быстро тебя качает ветром. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 19:41 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
adminDontSleep мне некогда говорить) работы выше крыши Покажи как ты работу работаешь. As is to be. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 19:42 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
Развивая идею иммутабельных DTO, я-бы предложил ввести tuple, как в функциональных языках. Мне иногда не хватает. А apache-common pair затягивать не хочется да и не красиво. Типа вместо Код: java 1. 2. 3.
ввести нечто вроде Код: java 1. 2. 3.
и алиасы элементов ответа типа первый и второй. Код: java 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 20:00 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
mayton Код: java 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 20:19 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
PetroNotC Sharp adminDontSleep мне некогда говорить) работы выше крыши Покажи как ты работу работаешь. As is to be. я скажу так - к нам пришел новый лид -он консервативных взгляов-начал топить за чистоту кода - в том числе за выпил любых сторонних либ,в том числе ломбока и мапстракта и тд мы с ним прям конкретно ругались -но сейчас я вижу что он был прав- тащить к себе в проект такие либы - бывает чревато тем,чьто потом придется переписывать пол проекта - что мы сейчас и сделали - выпилили к херам этот говноломбок и в какой то момент ты начинаешь понимать что такое языковые интсрументы ,а что такое какие то посторонние либы ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 20:54 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
А какая разница? Придумай сам как разбить url на две части. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 20:55 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
mayton Развивая идею иммутабельных DTO, я-бы предложил ввести tuple, как в функциональных языках. Мне иногда не хватает. А apache-common pair затягивать не хочется да и не красиво. Типа вместо Код: java 1. 2. 3.
ввести нечто вроде Код: java 1. 2. 3.
и алиасы элементов ответа типа первый и второй. Код: java 1. 2.
а почему дто должно быть имутабельно? есть кейсы где от создания до выдачи сотни методов,которые так или иначе мутируют это дто ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 20:57 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
mayton А какая разница? Придумай сам как разбить url на две части. он не сможет)опять же стринг это имутейлбл - разбитие создаст два новых объекта в хипе- петро про это ничего не знает ,да и не надо оно ему ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 20:59 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
Я не против таких кейсов. Тогда вам не нужен ни record ни tuple. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 20:59 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
mayton Я не против таких кейсов. Тогда вам не нужен ни record ни tuple. сложно оспорить) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 21:02 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
mayton А какая разница? Придумай сам как разбить url на две части. Почему именно на две я не понял) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 21:57 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
adminDontSleep PetroNotC Sharp пропущено... это отмазка для детей. Покажи как ты работу работаешь. As is to be. я скажу так - к нам пришел новый лид -он консервативных взгляов-начал топить за чистоту кода - в том числе за выпил любых сторонних либ,в том числе ломбока и мапстракта и тд мы с ним прям конкретно ругались -но сейчас я вижу что он был прав- тащить к себе в проект такие либы - бывает чревато тем,чьто потом придется переписывать пол проекта - что мы сейчас и сделали - выпилили к херам этот говноломбок и в какой то момент ты начинаешь понимать что такое языковые интсрументы ,а что такое какие то посторонние либы Мне интересны технические подробности а не то как вы водку пили. С ломбоком код 3 строки. Без него 53 строки. Выше есть пример кода. У вас проект из 3х файлов был? Вечером решили и утром выпилили. Болтун какой то. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 22:03 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, ещё б он за выпил хибера топил - был бы пай-мальчик ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 22:22 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton А какая разница? Придумай сам как разбить url на две части. Почему именно на две я не понял) Давай по другому. На вход приходит емейл. И надо его разбить на имя пользователя и почтовый домен. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 22:41 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
mayton И надо его разбить на имя пользователя и почтовый домен. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 22:54 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
PetroNotC Sharp adminDontSleep пропущено... я скажу так - к нам пришел новый лид -он консервативных взгляов-начал топить за чистоту кода - в том числе за выпил любых сторонних либ,в том числе ломбока и мапстракта и тд мы с ним прям конкретно ругались -но сейчас я вижу что он был прав- тащить к себе в проект такие либы - бывает чревато тем,чьто потом придется переписывать пол проекта - что мы сейчас и сделали - выпилили к херам этот говноломбок и в какой то момент ты начинаешь понимать что такое языковые интсрументы ,а что такое какие то посторонние либы Мне интересны технические подробности а не то как вы водку пили. С ломбоком код 3 строки. Без него 53 строки. Выше есть пример кода. У вас проект из 3х файлов был? Вечером решили и утром выпилили. Болтун какой то. Очковал он. Страховался от каких-то последствий. Ему было проще выпилить ломбок и не иметь проблем. Каких - ХЗ. Вот зовите в топик этого лида пусть расскажет. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 23:09 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
вадя mayton И надо его разбить на имя пользователя и почтовый домен. Ну и какой контракт у сплита? Может вернуть 0 элементов. Можеть мильон. Ерунда короче. Верно? А если возвращается пара - у тебя всё чётко. Как у чётких поцанчиков. На вход - строка. На выход две. Можешь модульные тесты писать и интерфейс объявлять. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 23:12 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
mayton PetroNotC Sharp пропущено... его можно разбить по разделителю символу на n частей. Почему именно на две я не понял) Давай по другому. На вход приходит емейл. И надо его разбить на имя пользователя и почтовый домен. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 23:47 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
mayton Ему было проще выпилить ломбок ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 23:50 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
mayton, авторНу и какой контракт у сплита? Может вернуть 0 элементов. Можеть мильон. при 0 и мильоне - отрицательный результат тоже результат - значит на входе не мыло. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 23:56 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
вадя mayton, авторНу и какой контракт у сплита? Может вернуть 0 элементов. Можеть мильон. Забей короче. Тебе это не понадобиться. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2021, 23:59 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton Ему было проще выпилить ломбок От проекта зависит. Может у них 99% всех DTO-шек идут кодогенратором от Soap или Swagger. Так им что Ломбок что не-ломбок. Генератор поменяли и всё. А оставшийся 1% можно руками добить. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2021, 00:02 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
mayton Так им что Ломбок что не-ломбок. Генератор поменяли и всё Так как вероятность что у них генератор все писал 0,1 процент.)))) Остальные 99,9 сам знаешь что). ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2021, 06:38 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Андрей Панфилов, Как какая разница если статик это не состояние карл. В классе данных не должно быть скрытого состояния. Что позволяет ломбок. Написать то можно любую хрень. Но ты выше написал сноску - "нам же работать надо". Тогда давай от задачи идти. Чем не пахло если в примере ты не изменил состояние. Что отлично сериализуется. Мне сложно рассматривать всякую хрень которая лишь бы скомпилилась. Ты хоть бы про синтаксис джавы что-то для начала почитал, прежде чем спорить... конечно static class - это не состояние, это декларация класса, чтобы ты мог код в один файл скопипастить и убедиться в свой неправоте. Что там нехорошего позволяет делать ломбок - это никакого отношения к обсуждаемому вопросу не имеет, про лобмок есть два тезиса: - он позволяет быстро лепить билдеры, еще раз: создавать record на >3 полей употеешь (и не нужно лечить дичь, что полей должно быть мало) - он позволяет легко и непринужденно обогащать данные за счет тех же билдеров или with (по твоей ссылке with якобы собираются завести, но когда никто не знает) что касается каких-то там утверждения "полная прозрачность для сериализации и маршаллинга" - то нихрена такого нет, потому что поля могут быть как-то угодно типа, вообщем примерно как с Serializable - хотели сделать хорошо, а получили в итоге RCE, сейчас тоже начинает довольно не хорошо попахивать: - существует безумное количество проповедников, топящих за то, что @Autowired в спринге - это попс, а нужно все через конструкторы инжектить, потому что потому - гении из JetBrains догадались влепить инспекцию, которая настоятельно рекомендует для случаев описанных выше вместо старых добрых классов использовать record так что скоро все проекты захлестнет цунами говнокода ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2021, 17:59 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
Андрей Панфилов Ты хоть бы про синтаксис джавы что-то для начала почитал, прежде чем спорить... конечно static class - это не состояние, это декларация класса, чтобы ты мог код в один файл скопипастить и убедиться в свой неправоте. А где неправота в утверждении В классе данных не должно быть скрытого состояния. Ломбок позволяет добавить скрытое приватное свое поле. Новый синтаксис нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2021, 20:03 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
adminDontSleep mayton Я не против таких кейсов. Тогда вам не нужен ни record ни tuple. сложно оспорить) Есть очень древний технический спор. Он - гораздо старше Java. В основном это спор функциональщиков и сторонников обычного программирования. Вобщем функциональщики топят за неизменяемые объекты. Интерес к этому спору периодически возникает. Особенно когда изучаеются проблемы мультипоточки (гонки и concurrency). Вобщем вам не надо синхронизировать поля record и вы можете один объект шарить хоть на мильон потоков. Будет всё безопасно по определению. А в обычных DTO где вы имеете "состояние" - вы обязаны ставить synchronized или другие механизмы. Слава богу если вы уверены что ваш объект не шарится нигде глобально. Но .. как говорил Мартин Одерский в одном из очень старых семинаров.... что-то вроде Mutable objects tend to incapsulate global states. И хотя я не вижу в джебах (не в Goals, и не в Non-Goals) никакой ссылки на этот артефакт, мне кажется что это такой себе кивок в сторону ФП. Или грубо говоря, лучшие практики ФП (лаборатории) плавно перетекают в промышленное императивное программирование. И думающие люди их настойчиво предлагают в jeps. Хотя и наделяют их совсем другими формулировками и обоснованиями. Синергия ФП все равно присутствует. Ну а если вам надо часто модифицировать часть объекта (DTO) - то подумайте. Может быть в этом объекте нету признаков Single responsibility. Или может ему не хватает покрывающего конструктора. Короче должно быть какое-то обоснование такой работы. (насчет JPA/Hiber я не имею ничего против но это слишком далеко от темы Java language) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2021, 23:58 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
mayton, И в дельфи и в шарпе есть специальный "класс данных". И нужно очень хорошо обосновать почему вдруг в java такой не нужен. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2021, 11:16 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
[quot Андрей Панфилов#22411553] - существует безумное количество проповедников, топящих за то, что @Autowired в спринге - это попс, а нужно все через конструкторы инжектить, потому что потому/quot] @Autowired неудобен при тестировании - поэтому предпочтение отдается конструкторам ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2021, 15:07 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
PetroNotC Sharp А где неправота в утверждении В классе данных не должно быть скрытого состояния. Ломбок позволяет добавить скрытое приватное свое поле. Новый синтаксис нет. читать научить для начала, потом вопросы задавай. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2021, 08:39 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
Андрей Панфилов, Я понял. Ваш уровень не позволяет опускаться и разъяснять. Удачи! ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2021, 09:38 |
|
Авторизация в spring улетает в бесконечный цикл
|
|||
---|---|---|---|
#18+
adminDontSleep мне некогда говорить) работы выше крыши фактически что можно сказать - Андрей что то сказал- аргументировать не смог ломбок -удобно -но этого мало- он должен на выходе новых версий джавы показывать отсутсие багов я почитал их лог на октябрь и у меня волосы на голове дыбом встали - ребят ,а что вы делали то раньше - диструбутив 17й был доступен уже 100500 лет - почему не было фиксов? с таким отношением понятно они растеряли аудиторию ,я был в числе их почитателей- но ребята жестко обкакались - а это неприемлимо в той сфере ,где я работаю,поэтому ломбок пошел под нож,теперь только языковые фичи Зачем нужен lombok, когда есть Koltin. <:o) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2021, 17:09 |
|
|
start [/forum/topic.php?all=1&fid=59&tid=2120283]: |
0ms |
get settings: |
17ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
51ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
1311ms |
get tp. blocked users: |
1ms |
others: | 361ms |
total: | 1776ms |
0 / 0 |