Size: a a a

Чат подкаста «Разбор Полётов»

2020 July 13

IA

Igor Artamonov in Чат подкаста «Разбор Полётов»
получалось, да. несколько раз. но легко находилась ошибка, и она была моя
источник

AA

Anton Arhipov in Чат подкаста «Разбор Полётов»
не, это не троллинг. это вполне объективноая оценка.
источник

IA

Igor Artamonov in Чат подкаста «Разбор Полётов»
типа добавлял netty-all и netty-чтототам, разных версий
источник

IA

Igor Artamonov in Чат подкаста «Разбор Полётов»
но тут сам себе в ногу стрелял
источник

AA

Anton Arhipov in Чат подкаста «Разбор Полётов»
я думаю это для многих барьер. мы просто живём в java экосистеме и у нас вполне может быть стокгольмский синдром
источник

AA

Anton Arhipov in Чат подкаста «Разбор Полётов»
В go кстати модули - норм
источник

AA

Anton Arhipov in Чат подкаста «Разбор Полётов»
а то что было до модулей - ад
источник

IA

Igor Artamonov in Чат подкаста «Разбор Полётов»
а главная фича, которой нет у большинста, это то что я могу переопределить класс из сторонней либы. часто надо было чтото пофиксить, возможно в private методе. берешь этот класс копируешь к себе, правишь, и все. все остальное из библиотеки работает не замечая что друго класс подсунули.
источник

AA

Anton Arhipov in Чат подкаста «Разбор Полётов»
Igor Artamonov
а главная фича, которой нет у большинста, это то что я могу переопределить класс из сторонней либы. часто надо было чтото пофиксить, возможно в private методе. берешь этот класс копируешь к себе, правишь, и все. все остальное из библиотеки работает не замечая что друго класс подсунули.
для этого, наверное, надо таки гарантировать, что твой новый класс загрузится вперёд староно из библиотеки. ну такое - рулетка
источник

IA

Igor Artamonov in Чат подкаста «Разбор Полётов»
я go не трогал почти 3 года, но раньше там все было по сути про монорепо и зависимости народ складывал тупо к себе в репо
источник

DP

Denis Pavlyuchenko in Чат подкаста «Разбор Полётов»
Igor Artamonov
я go не трогал почти 3 года, но раньше там все было по сути про монорепо и зависимости народ складывал тупо к себе в репо
новые го модули улучшили положение дел
источник

IA

Igor Artamonov in Чат подкаста «Разбор Полётов»
Anton Arhipov
для этого, наверное, надо таки гарантировать, что твой новый класс загрузится вперёд староно из библиотеки. ну такое - рулетка
если со своими исходниками то так всегда и будет же? не помню чтобы приходилось делать какието настройки хоть раз
источник

AA

Anton Arhipov in Чат подкаста «Разбор Полётов»
кажется, все ноги проблемы с зависимостями в java ростут от того, что изоляция сделана через класслодеры и identity класса - это имя класса + класслодер. Поэтому не получается так безшовно заиметь разные версии модулей в одном приложении
источник

AA

Anton Arhipov in Чат подкаста «Разбор Полётов»
Igor Artamonov
если со своими исходниками то так всегда и будет же? не помню чтобы приходилось делать какието настройки хоть раз
не. это не зависит какие у тебя исходники. это зависит от порядка загрузки классов
источник

AA

Anton Arhipov in Чат подкаста «Разбор Полётов»
в общем случае - порядок гарантировать нельзя
источник

IA

Igor Artamonov in Чат подкаста «Разбор Полётов»
разные версии не займеть, верно. возможно у меня просто такой задачи не стояло
источник

AA

Anton Arhipov in Чат подкаста «Разбор Полётов»
не, всё можно заиметь. просто можно схватить classcast, или просто неожидаемое поведение
источник

IA

Igor Artamonov in Чат подкаста «Разбор Полётов»
Anton Arhipov
не. это не зависит какие у тебя исходники. это зависит от порядка загрузки классов
свои классы разве не первые в списке?
источник

AA

Anton Arhipov in Чат подкаста «Разбор Полётов»
Igor Artamonov
свои классы разве не первые в списке?
а это неважно
источник

AA

Anton Arhipov in Чат подкаста «Разбор Полётов»
можно конечно слазить в спеку и убедиться, говорится ли там что-то про порядок в котором classpath определён. я не помню. но я помню что мы огребали в jrebel-е с этим на разных jvm-ах
источник