Size: a a a

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

2020 July 13

IA

Igor Artamonov in Чат подкаста «Разбор Полётов»
ну в общем факт что я так делал неоднократно, разных проектах. и war в неизвестно чем, даже в appengine, и spring обычный, и в tomcat, и spring boot, и не разу не столкнулся с порядком которые мне не подходил. поэтому был уверен что так везде
источник

AA

Anton Arhipov in Чат подкаста «Разбор Полётов»
Igor Artamonov
ну в общем факт что я так делал неоднократно, разных проектах. и war в неизвестно чем, даже в appengine, и spring обычный, и в tomcat, и spring boot, и не разу не столкнулся с порядком которые мне не подходил. поэтому был уверен что так везде
ну просто вероятность достаточно высокая, что оно будет работать, да
источник

AA

Anton Arhipov in Чат подкаста «Разбор Полётов»
но не 100%
источник

IA

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

AD

Alexey Dushen in Чат подкаста «Разбор Полётов»
тоже иногда так делаю, последний раз чтобы подменить поведение класса, подгружаемого через SPI из другой либы. Искал гарантии загрузки именно моего класса первым, но так и не нашёл
источник

AL

Andrey Listochkin in Чат подкаста «Разбор Полётов»
Igor Artamonov
А понедельник день тролинга? Ни разу не понимаю какие проблемы с версиями в Java могут быть, не могу вспомнить ни одного примера из практики. По мне так Java идеально выстроила систему для зависимостей. JavaScript же это полная жопа, проблемы минимум раз-два в месяц, совершенно на ровном месте, иногда приходиться тратить дни на решение. Rust где-то посередине, бывают проблемы но легко разруливаемые. В Python раздражает что нужно чуть ли не каждый раз при открытии проекта все переставлять, потому что в очередной раз openssl обновился и надо пересобирать пакеты (только он тебе об этом не скажет, надо самому догадаться почему ничего не работает) В go нет зависимостей, поэтому не могу оценить.
“А понедельник день тролинга? Ни разу не понимаю какие проблемы с версиями в JavaScript могут быть, не могу вспомнить ни одного примера из практики. По мне так JavaScript идеально выстроил систему для зависимостей. Java же это полная жопа, проблемы минимум раз-два в месяц, совершенно на ровном месте, иногда приходиться тратить дни на решение.”
источник

AL

Andrey Listochkin in Чат подкаста «Разбор Полётов»
не удержался
источник

A

Artjom Kalita in Чат подкаста «Разбор Полётов»
Пример проблемы в Javascripte указываешь депенденси с ^ и огребаешь по полной
источник

A

Artjom Kalita in Чат подкаста «Разбор Полётов»
так как внезапно следующая версия библиотеки оказалась с багой
источник

A

Artjom Kalita in Чат подкаста «Разбор Полётов»
тадам
источник

AL

Andrey Listochkin in Чат подкаста «Разбор Полётов»
По аналогии с людьми в треде тоже могу сказать “не было такого”. package-lock коммить, и версии будут одинаковые у всех.
источник

J🎩

JBáruch 🎩 in Чат подкаста «Разбор Полётов»
Andrey Listochkin
По аналогии с людьми в треде тоже могу сказать “не было такого”. package-lock коммить, и версии будут одинаковые у всех.
Бухаха, в дескрипторе указывать range, чтобы потом его геройски запретить в package-lock. Как по джаваскриперски.
источник

IA

Igor Artamonov in Чат подкаста «Разбор Полётов»
ну само существование package-lock уже говорит что dependency resolution не работает как надо, иначе он был бы детерминистичным
источник

IA

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

J🎩

JBáruch 🎩 in Чат подкаста «Разбор Полётов»
Igor Artamonov
ну само существование package-lock уже говорит что dependency resolution не работает как надо, иначе он был бы детерминистичным
Yup
источник

IA

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

AL

Andrey Listochkin in Чат подкаста «Разбор Полётов»
чтиво вам на день / вечер, зачем локфайлы нужны https://medium.com/@sdboyer/so-you-want-to-write-a-package-manager-4ae9c17d9527
источник

AL

Alexander Levin in Чат подкаста «Разбор Полётов»
Artjom Kalita
Пример проблемы в Javascripte указываешь депенденси с ^ и огребаешь по полной
Погоди, а js (точнее npm наверное) здесь при чём, если грейдл тоже самое делать умеет? Или там есть отличия?
источник

IA

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

NK

ID:0 in Чат подкаста «Разбор Полётов»
Переслано от Andrey Listochkin
чтиво вам на день / вечер, зачем локфайлы нужны https://medium.com/@sdboyer/so-you-want-to-write-a-package-manager-4ae9c17d9527
источник