|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
Здравствуйте! Если кого не затруднит, поругайте код! Только начал знакомиться с фраймворком, хотелось бы сразу на берегу понимать, если что-то делаю не так. Пока что просто поднял сервер и настроил выборку из БД. https://github.com/bobo766/spring Далее хочу прикрутить авторизацию и снова приду с тем же вопросом))) Заранее благодарю всех неравнодушных!! ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 12:09 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
bobo96, Типичный helloworld с curd и имена пакетов сраным транслитом. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 12:47 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
bobo96, Думаешь все тут скачивают что то себе на комп чтобы ругать или смотреть? Из 100 один скачивает но не ругает. Один ругает. И один не скачивает, а ругает если дают на блюдечке и с тегом src ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 13:15 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
bobo96, Зачем так сложно?! Т.е. BaseResponse как бы не особо нужен. ИМХО ошибки и Http коды пока лучше доверит Spring Framework И если делаете "простой CRUD", то может сразу будете использовать Sprin Data REST ?! ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 14:23 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
Код конечно печальный)) в репе почему <User,Integer> почему findById принимает long а в дто поле Long Далее метод findById вообще не нужен он и так есть по дефолту далее ты используешь интрефейс репы вместо ее имплементации- тоесть тебе нужен сервис слой которой имплементирует этот интерфейс ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 17:25 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
Тоесть у тебя даже есть такой сервис класс - но ты его не используешь ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 17:28 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
@Transactional на findById) судя по классу CustomUserDetailsService ты слабо понимаешь ООП механику ,тоесть ты зачем то используешь ЮзерРепу в этом классе,при этом ты наследуешься от этого класса где этот метод переопределен ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 17:42 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
Советую отложить пока spring в нем ничего сложного нет а вот основы ООП нужно подятнуть,так как на лицо полное непонимание механики интерфейсов- а это как бы суть Spring ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 17:46 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
asv79 Код конечно печальный)) в репе почему <User,Integer> почему findById принимает long а в дто поле Long Далее метод findById вообще не нужен он и так есть по дефолту далее ты используешь интрефейс репы вместо ее имплементации- тоесть тебе нужен сервис слой которой имплементирует этот интерфейс Кстати, как лучше, а то я изучал это лет 15 назад и уже не помню. Примитив или обёртка? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 18:20 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
dakeiras asv79 Код конечно печальный)) в репе почему <User,Integer> почему findById принимает long а в дто поле Long Далее метод findById вообще не нужен он и так есть по дефолту далее ты используешь интрефейс репы вместо ее имплементации- тоесть тебе нужен сервис слой которой имплементирует этот интерфейс Кстати, как лучше, а то я изучал это лет 15 назад и уже не помню. Примитив или обёртка? Там должен быть Long ,вроде потому что long не может быть null я просто помню что у меня изза этого проект какой то сломался тоесть в качестве id примитив нельзя ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 18:27 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
asv79 dakeiras пропущено... Кстати, как лучше, а то я изучал это лет 15 назад и уже не помню. Примитив или обёртка? Там должен быть Long ,вроде потому что long не может быть null я просто помню что у меня изза этого проект какой то сломался тоесть в качестве id примитив нельзя спс, хорошо что я обычно обёртку использую. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 18:32 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
dakeiras, обертка почти всегда лучше чем примитив,а на реальных проектах мы все заворачиваем в Optional) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 18:56 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
То, что код печальный, это я сам понимаю)) Причесывать буду, не вопрос. В целом скажите, сама суть авторизации basic + token хоть верно сделана ?))) Если честно, некоторые моменты пока не до конца понятны... asv79 далее ты используешь интрефейс репы вместо ее имплементации- тоесть тебе нужен сервис слой которой имплементирует этот интерфейс Тут не понял, о чем речь :( Можно более простым языком, для таких, как я ?) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 19:23 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
bobo96 Тут не понял, о чем речь :( Можно более простым языком, для таких, как я ?) проблема в том,что вы идете в спринг не понимая основных принципов java,поэтому у тебя возник такой вопрос если говорить относительно представленнного кода там должны быть слои DAO,SERVICE,CONTROLLER попутно есть классы по работе с репозиторием- обычно это интерфейсы,которые нужно имплементировать тоесть дао слой это интрерфейс сервис это логика котнроллер дергает сервис в представленном коде есть все но используется неправильно и написано неправильно ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 19:44 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
Странно, вроде делал по офф докам.. Не все конечно, но большинство. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 20:06 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
asv79 dakeiras, обертка почти всегда лучше чем примитив,а на реальных проектах мы все заворачиваем в Optional) Optional крутая тема, особенно Optional.ofNullable(foo).isPresent(). ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 20:07 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
asv79, не покажешь на каком-нибудь небольшом примере, что именно у меня не так и как надо правильно ? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 20:09 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
dakeiras asv79 dakeiras, обертка почти всегда лучше чем примитив,а на реальных проектах мы все заворачиваем в Optional) Optional крутая тема, особенно Optional.ofNullable(foo).isPresent(). вообще это используется немного не так) а через map сейчас показать не могу ,но если надо напиши на почту покажу пример ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 21:17 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
bobo96 asv79, не покажешь на каком-нибудь небольшом примере, что именно у меня не так и как надо правильно ? к сожалению все что я пишу в последнее время является коммерческой собственностью и публичных репозиториев у меня нет но если очень хочется пиши мне на почту я могу провести некий мастер класс с примерами через тимс ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 21:24 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
asv79, спасибо, если не шутишь о_О Меня в любом случае твои готовые продукты не интересуют в том плане, что вряд ли я там что-то пойму))) Примеров типа хеллоу ворлд будет достаточно. На почту завтра отпишу. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 22:17 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
Можете посмотреть мой репозиторий. Java 14, spring boot 2.3.0, flyway, JavaScript. https://github.com/javadev/pt-backend Хорошего вам дня! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2020, 07:27 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
Valentin Kolesnikov, спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2020, 07:56 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
bobo96 asv79, спасибо, если не шутишь о_О Меня в любом случае твои готовые продукты не интересуют в том плане, что вряд ли я там что-то пойму))) Примеров типа хеллоу ворлд будет достаточно. На почту завтра отпишу. Для вас уже специально все сделали. Вот <:o) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2020, 14:29 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
Это ... прекрасно. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2020, 15:01 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
mayton Это ... прекрасно. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9.
Больше половины аннотаций это lombok. Который можно заменить на Kotlin :-) Ну или Java 14. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2020, 15:27 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
mad_nazgul mayton Это ... прекрасно. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9.
Больше половины аннотаций это lombok. Который можно заменить на Kotlin :-) Ну или Java 14. А лучшу на Груви. И добавить @ToString, @Slf4j и @BlackBox. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2020, 15:46 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
В неком гипотетическом будущем. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2020, 16:21 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
mad_nazgul Для вас уже специально все сделали. Видел :) Многое оттуда узнал :) Но вопросы там задать некому :( ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2020, 17:35 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
mayton В неком гипотетическом будущем. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9.
Э-э-э зачем?! Когда есть "Ctrl+Alt+Shift+K" ! ;-) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 05:47 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
mayton В неком гипотетическом будущем. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9.
@Accessors(chain = true) вроде бы нет в котлине. Хорошего вам дня. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 06:38 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
mad_nazgul, С геттерами тоже были горячие клавиши. Однако все хотят вообще не писать ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 09:08 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
Появились вопросы, надеюсь сообщество поможет.. Не понимаю тему про роли. В БД прописал для каждого пользователя типа уровень доступа, сейчас 2: Admin и User. Классы: Код: 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.
Код: 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.
Код: 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. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99.
Код: 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.
Код: 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.
В классе UserController специально тащу роль, вроде все ок, пишет Admin. При этом, если в конфиге безопасности написать Код: java 1.
то вылазит 403я ошибка. Что я делаю не так ? Конфиг: Код: 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.
На гитхабе код обновил. Заранее благодарю! ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 09:11 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
Valentin Kolesnikov mayton В неком гипотетическом будущем. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9.
@Accessors(chain = true) вроде бы нет в котлине. Хорошего вам дня. Это шутка была. Я просто жду когда кто-то сделает аннотации императивным над-языком. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 09:52 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
mayton, Вангую 4-5 лет ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 10:12 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
Может кто-то в гитхабе уже начал такой безумный проект. P.S. Видя такое мета-программирование Джон-Маккарти умер-бы второй раз если-бы был жив. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 10:46 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
mayton Может кто-то в гитхабе уже начал такой безумный проект. P.S. Видя такое мета-программирование Джон-Маккарти умер-бы второй раз если-бы был жив. Это не мета-программирование. Это обычное декларативное программирование. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 12:09 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
Я-же к этому и подвожу. К тому что мы не можем говорить просто о декларативности когда у нас несколько независимых процессоров аннотаций. У нас появляется ПОРЯДОК их процессинга. И да. Вы правы. Это уже не декларативность. И здесь углубление этой идеи - это могила. Мы - копаем себе могилу. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 12:21 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
mayton Я-же к этому и подвожу. К тому что мы не можем говорить просто о декларативности когда у нас несколько независимых процессоров аннотаций. У нас появляется ПОРЯДОК их процессинга. И да. Вы правы. Это уже не декларативность. И здесь углубление этой идеи - это могила. Мы - копаем себе могилу. Порядок процессинга не самая большая проблема тут. Со всеми этими аннотациями Java из строго-типизированного языка превращается по факту в хер пойми кем исполняемый хер знает какой код. Ну и все прелести дебага ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 12:51 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
забыл ник Порядок процессинга не самая большая проблема тут. Со всеми этими аннотациями Java из строго-типизированного языка превращается по факту в хер пойми кем исполняемый хер знает какой код. Ну и все прелести дебага Вот да. Я тоже про это подумал, прикинул, что терять всё равно нечего и перелез кодить на ноду. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 12:54 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mad_nazgul, С геттерами тоже были горячие клавиши. Однако все хотят вообще не писать Почему были? Есть! Регулярно ими пользуюсь. :-) Но иногда так хочется нажать "Ctrl+Alt+Shift+K" :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 14:18 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
mayton Я-же к этому и подвожу. К тому что мы не можем говорить просто о декларативности когда у нас несколько независимых процессоров аннотаций. У нас появляется ПОРЯДОК их процессинга. И да. Вы правы. Это уже не декларативность. И здесь углубление этой идеи - это могила. Мы - копаем себе могилу. Поэтому я сейчас лично топлю в проектах в которых я работаю, чтобы все аннотации Spring'а не вылезали дальше конфигурационных файлов, ну может быть контроллерах. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 14:24 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
Да. А тот % вреда который превносит Lombok превышает полезный эффект. Зло в моем понимании это сужение скоупа применения. Если раньше вы писали Java-код то теперь вы пишете Spring/Lombok код. И этот код уже не может быть повторно переиспользован в других проектах. Он - прибит гвоздями к этой технологии и к этому фреймворку и к этому сету процессорова аннтоаций. А в вопросах DTO/Pojo это важно. Они должны быть кандидатами на повторное использование. И без всякой ненужной шелухи. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 15:51 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
mayton Да. А тот % вреда который превносит Lombok превышает полезный эффект. Зло в моем понимании это сужение скоупа применения. Если раньше вы писали Java-код то теперь вы пишете Spring/Lombok код. И этот код уже не может быть повторно переиспользован в других проектах. Он - прибит гвоздями к этой технологии и к этому фреймворку и к этому сету процессорова аннтоаций. А в вопросах DTO/Pojo это важно. Они должны быть кандидатами на повторное использование. И без всякой ненужной шелухи. Тут абсолютно не согласен. Все аннотации ломбока - compile-time. И если что не так - получи ошибку компиляции. В отличие от всяких спринговых аннотаций - которые рантайм. Ничего плохого в ломбоке не вижу ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 16:09 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
dakeiras mayton Может кто-то в гитхабе уже начал такой безумный проект. P.S. Видя такое мета-программирование Джон-Маккарти умер-бы второй раз если-бы был жив. Это не мета-программирование. Это обычное декларативное программирование. Декларативное и есть мета. Так как вы пишите декларативные значки-код над другим кодом. А код над кодом это мета... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 16:27 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
Мы где-то обсуждали maven pom.xml. И вроде как решили что декларативное - но фиксирующее порядок следования утверждений. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 16:35 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
Пацаны, я вам тут не мешаю ?) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 17:36 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
Zzz79 mayton Мы где-то обсуждали maven pom.xml. И вроде как решили что декларативное - но фиксирующее порядок следования утверждений. мавен - для каких то инди проектов) что то более менее серьезное требует самописных тасок - тобишь gradle Я бы рассуждал иначе. Когда тебе надо быстро понять как происходит билд проекта - то здесь мавен - строг и очевиден. Gradle нежуя не очевиден. Потому что он - не конфиг а микро-код для сборки. Который писал какой-то программист. И поэтому когда ты трабл-шутишь сломанную сборку на gradle (а такое часто бывает) - то ты должен делать РЕВЕРС инжинеринг программы билда. И понять что имел в виду тот китаец или индус когда втащил в проект микро-программу сборки. Тоесть градл - это не вершина эволюции сборщиков. Это скорее просто некий форк. Или спин-офф. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 18:50 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
по этой же причине мне не зашел sbt ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 19:06 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
Spring-boot приложение от немецких чиновников. Удивил checkstyle, code civerage и sonar cloud. https://github.com/corona-warn-app/cwa-server Хорошего вам дня! ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 08:16 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
Zzz79 mayton Мы где-то обсуждали maven pom.xml. И вроде как решили что декларативное - но фиксирующее порядок следования утверждений. мавен - для каких то инди проектов) что то более менее серьезное требует самописных тасок - тобишь gradle Maven это как строгая типизация. Кому то мешает, кому то помогает. В т.ч. и в серьёзных проектах. Мне например удобнее работать с maven. Т.к. знаешь что где лежит, и как будет собираться. А с gradle можно навернуть все что угодно. Но надо будет к gradle присмотреться, т.к. он на kotlin переходит. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 12:32 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
Valentin Kolesnikov Spring-boot приложение от немецких чиновников. Удивил checkstyle, code civerage и sonar cloud. https://github.com/corona-warn-app/cwa-server Хорошего вам дня! Да все там в порядке. Просто Сонар посчитал слабое тестовое покрытие. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 12:50 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
в 2020 да и в последние года 3-4 уже смешно видеть чистый pom.xml. Каменный век. Я согласен что у Грэдла есть недостатки (даже я бы сказал он не очень качественно сделан в плане работы с ним), но по функционалу альтернатив нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 18:55 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
dakeiras в 2020 да и в последние года 3-4 уже смешно видеть чистый pom.xml. Каменный век. Я согласен что у Грэдла есть недостатки (даже я бы сказал он не очень качественно сделан в плане работы с ним), но по функционалу альтернатив нет. Сильно удивишся но есть Java-проекты которые ant-ом собирают. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 19:31 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
mayton dakeiras в 2020 да и в последние года 3-4 уже смешно видеть чистый pom.xml. Каменный век. Я согласен что у Грэдла есть недостатки (даже я бы сказал он не очень качественно сделан в плане работы с ним), но по функционалу альтернатив нет. Сильно удивишся но есть Java-проекты которые ant-ом собирают. Я недавно скачал нетбинс, так он предлагал собирать каким-то своим сборщиком. Да таже Идея только пару лет назад наконец осознала смерть iml. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 19:50 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
Вот. Одна из лучших библиотек для построения текстовых индексов по документам. Где только не используется. И в Elastic-Search. И в различных коробочных веб-приложениях. https://github.com/apache/lucene-solr Собирается ant-ом. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2020, 17:37 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
Но наверное было-бы некрасиво просто поругать gradle. Надо и похвалить. Так вот. Он быстро собирает. За счет запуска (в среднем) 4х демонов сборщиков. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2020, 17:42 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
mayton Но наверное было-бы некрасиво просто поругать gradle. Надо и похвалить. Так вот. Он быстро собирает. За счет запуска (в среднем) 4х демонов сборщиков. это под 1 проект? А зачем 4 демона под сборку 1 проекта? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2020, 10:25 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
dakeiras, В maven тоже есть распараллеливание. Команда mvn -T 1C -B clean package Хорошего вам дня! ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2020, 10:37 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
Valentin Kolesnikov dakeiras, В maven тоже есть распараллеливание. Команда mvn -T 1C -B clean package Хорошего вам дня! Так я и спрашиваю - зачем? Что конкретно оно распараллеливает? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2020, 11:34 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
dakeiras в 2020 да и в последние года 3-4 уже смешно видеть чистый pom.xml. Каменный век. Я согласен что у Грэдла есть недостатки (даже я бы сказал он не очень качественно сделан в плане работы с ним), но по функционалу альтернатив нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2020, 11:56 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
dakeiras mayton Но наверное было-бы некрасиво просто поругать gradle. Надо и похвалить. Так вот. Он быстро собирает. За счет запуска (в среднем) 4х демонов сборщиков. это под 1 проект? А зачем 4 демона под сборку 1 проекта? Ну.... если процесс компилляции можно разбить на изолированные фазы (возможно modules) то эти фазы могут исполняться на отдельных java-процессах-демонах). Конфигурируется это где-то здесь. Код: java 1.
Или можно просто в свойствах проекта. Кажется. Не уверен. Вобщем сами проверье. У меня обычно поднят 1 этот демон сразу после любого вызова gradle build. И потом все время висит. Возможно наличие 1 демона в памяти позволяет быстро-быстро прогреть следующий пуск коспилляции за счет ClassDataSharing, но здесь я не готов утверждать. Надо проверять. И тут еще важно что если у вас на борту стоит Java8, Java11 одновременно то и эти кеши будут разными. Вообще тут надо бенчмаркать. Запустить компилляцию крупного проекта и посмотреть как оказывает влияние. Вот как выглядит список процессов во время компилляции Кафки у меня. Видно что 5 os processes чем-то заняты. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9.
И вот мой конфиг. Код: java 1. 2. 3.
На Windows10 машине я однако эту конфигурацию выключал. Код: java 1.
Т.к. были странные артефакты. После подвисания какого-то gradle-plugin часть файлов в директории /build проекта оказывались заблокированными и следующий clear не проходил успешно. И поскольку мне важна была не скорость а скорее надежность автоматизации я демонов в Windows-10 всегда выключал. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2020, 12:02 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
вот и я говорю, не нужно это распараллеливание. По крайней мере на машинах разработчиков. Только оперативу отжирает. (это одна из раздражающих черт gradle - висячие демоны даже когда ничего не компилируется). На CI может и нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2020, 12:05 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
Ну.. если у тебя очень сильная и долгоиграющая система модульных и интеграционных тестов то сам бох велел тебе включать параллелизм. Насчет там память отжирает? Ну не знаю. Мы живем уже в 21 веке и кажется уже на все дев-станции ставят по 8-16 Гигабайт памяти и глупо тебе этот ресурс не задействовать. Или тебе память зачем-то другим нужна? В "Контру" шпилишся? Или в танки параллельно? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2020, 12:10 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
mayton Ну.. если у тебя очень сильная и долгоиграющая система модульных и интеграционных тестов то сам бох велел тебе включать параллелизм. Насчет там память отжирает? Ну не знаю. Мы живем уже в 21 веке и кажется уже на все дев-станции ставят по 8-16 Гигабайт памяти и глупо тебе этот ресурс не задействовать. Или тебе память зачем-то другим нужна? В "Контру" шпилишся? Или в танки параллельно? а, понял насчёт тестов. Тогда понятно согласен, но Гредл мог бы всё равно сделать чтобы эти демоны не висели. 8 это нереально сейчас, 16 маловато, 32 стандарт сейчас для разработчиков должен быть. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2020, 12:24 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
mayton Ну.. если у тебя очень сильная и долгоиграющая система модульных и интеграционных тестов то сам бох велел тебе включать параллелизм. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2020, 13:07 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
dakeiras а, понял насчёт тестов. Тогда понятно согласен, но Гредл мог бы всё равно сделать чтобы эти демоны не висели. Я же объяснил зачем они висят. Для быстрого старта компилляции. Даже на малых проектах это может быть полезно. Проблема Windows-10 это особенность файловой системы. Файловые дескрипторы - блокируются. В Linux - нет. Линукс позволяет удалить символическое имя при том что дескриптор открыт и используется. Поэтому не нужно переносить этот артефакт как недостаток gradle, тем более что если у вас нормальный CI - проесс - то на сереверах непрерывной интеграции у вас будет стоять Linux. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2020, 13:10 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
Андрей Панфилов mayton Ну.. если у тебя очень сильная и долгоиграющая система модульных и интеграционных тестов то сам бох велел тебе включать параллелизм. Я считаю что зависимости между тестами - это зло. И их надо устранять. Хотя конечно для e2e тестов у вас будет некий flow иммитирующий реальную работу вашей системы и здесь уже низкая скорость тестинга - это не НЕДОСТАТОК gradle там или jupiter. Это именно недостаток вашей разрабатываемой системы. Она - медленно процессит (к примеру) JMS сообщения. И соотв. ожидание финала тестирования у вас затягивается в бесконечность. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2020, 13:13 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
dakeiras gradle - висячие демоны даже когда ничего не компилируется). Кеширует в собственном удобном формате для компиляции. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2020, 13:14 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
dakeiras 8 это нереально сейчас, 16 маловато, 32 стандарт сейчас для разработчиков должен быть. Давайте не будем также нежными и чувствительными. Нужно 32Gb? Должно быть обоснование. Я-бы поинтересовался что находится внутри этих 32Гб во время разработки. Ведь эта ситуация может шаблоном переносится на прод и вам придется заказывать у Амазона EC2 инстанции с 32 Гб оперативы... почему? Потому что нежный разрабочик так захотел? Среда занимает? Выйди из среды. Прогони тесты в консоли. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2020, 13:18 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
mayton Я считаю что зависимости между тестами - это зло. И их надо устранять. Хотя конечно для e2e тестов у вас будет некий flow иммитирующий реальную работу вашей системы и здесь уже низкая скорость тестинга - это не НЕДОСТАТОК gradle там или jupiter. Это именно недостаток вашей разрабатываемой системы. Она - медленно процессит (к примеру) JMS сообщения. И соотв. ожидание финала тестирования у вас затягивается в бесконечность. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2020, 13:32 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
Ммм.. не знаю с testNG не работал. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2020, 13:39 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
mayton Ммм.. не знаю с testNG не работал. В целом же выглядит как-будто ваше мнение о gradle зашорено какими-то второстепенными фичами: инкрементальные сборки и параллельность - это фичи не то что не первой необходимости, так они даже и в первую десятку не входят, у меня, к примеру, среда разработки тупит на гредловских проектах сильнее чем на мавеновских, в итоге негативный импакт от использования гредла превышает все его второстепенные фичи. Кто-то там топит за его псевдодекларативный DSL, в духе а слабо вот такое в maven сделать: Код: java 1. 2. 3.
? А по факту такой креатив в сценарии сборки нафиг не нужен - если что-то поменяется (что происходит крайне редко) можно и руками поправить, однако вот из-за таких мисфич сценарий сборки более-менее крупного проекта ни человек прочесть не может нормально, ни среда разработки (у них же в самом начале были какие-то попытки разбор build.gradle в IDE затащить, а потом остановились на том, что с gradle среда разработки должна работать только через демон). При этом действительно нужных возможностей в gradle толком нет, ну вот пример: есть какой-то срез кода из СКВ, как программно понять какой он версии? В maven это делается универсально через help:effective-pom, а в gradle каждый лепит кто во что горазд. Точно также с релизным воркфлоу: в maven release plugin - это часть экосистемы, а в gradle - какая-то сторонняя поделка, которой пользуются два инвалида (здесь больше похоже релизы в проектах на gradle не принято делать). В maven вообще есть киллер-фича: можно плагины дергать без прописывания их в pom.xml, ее полезность просто зашкаливает, гредлу до нее еще расти и расти. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2020, 15:53 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
Я не топлю за gradle если что. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2020, 16:37 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
dakeiras Valentin Kolesnikov dakeiras, В maven тоже есть распараллеливание. Команда mvn -T 1C -B clean package Хорошего вам дня! Так я и спрашиваю - зачем? Что конкретно оно распараллеливает? Компиляцию, сборку, запуск unit тестов. Я у себя использую эту настройку. Хорошего вам дня! ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2020, 13:37 |
|
Начал знакомство со spring. Поругайте код
|
|||
---|---|---|---|
#18+
Valentin Kolesnikov dakeiras пропущено... Так я и спрашиваю - зачем? Что конкретно оно распараллеливает? Компиляцию, сборку, запуск unit тестов. Я у себя использую эту настройку. Хорошего вам дня! Да, уже выше понял. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2020, 17:29 |
|
|
start [/forum/topic.php?all=1&fid=59&tid=2120791]: |
0ms |
get settings: |
18ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
52ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
1284ms |
get tp. blocked users: |
1ms |
others: | 305ms |
total: | 1698ms |
0 / 0 |