«Опыт перехода проекта „Авито.Доставка“ с Java на Go» / Илья Лапин, Сергей Поляков​ (Avito)

  Рет қаралды 11,975

VK Team

VK Team

5 жыл бұрын

Докладчики рассказали, как переписывали микросервисный проект с языка Java на Go, с какими трудностями столкнулись, какие плюсы смогли разглядеть и что с ними стало после этого.
VK Team - это миллион возможностей проявить себя. Мы делаем современные и быстрые интернет-сервисы, доступные каждому. На этом канале делимся опытом компании VK, рассказываем о технологиях, наших образовательных проектах и жизни команды.
😎 Сообщество ВКонтакте: vkteam
👨‍🎓 VK Образование: education.vk.company
🏆 Чемпионаты: cups.online/
👨‍💻 Карьера в VK: team.vk.company/

Пікірлер: 37
@user-fu8fx2vp9p
@user-fu8fx2vp9p 5 жыл бұрын
Авторы доклада, если вы читаете это вот совет: Когда работаете со временем, то в маске милисекунды надо указывать не ".999", а ".000". Тогда не придется костылить преобразование, а у строки после стандартного формата всегда будут нулевые милисекунды в конце.
@Taluksya
@Taluksya 5 жыл бұрын
выглядит так что вместо того чтобы научится поддерживать приложение на java они начали писать велосипеды и костыли на go
@pavela.5245
@pavela.5245 4 жыл бұрын
Специалисты на go намного дешевле обходятся. Вот и весь секрет...
@jackdanyal4329
@jackdanyal4329 4 жыл бұрын
@@pavela.5245 с чего вдруг, если платить надо столько же сколько и джаваистам, если не больше. учитывая, что джаваистов намного больше на рынке
@dmitryd1572
@dmitryd1572 5 жыл бұрын
Большое спасибо за доклад. На самом деле Golang для реализации бизнес логики во многих случаях решение весьма сомнительное. Надо серьезно считать, а стоит ли. В среднем, довольно часто выходит, что если потратить половину усилий, которую вбросили на Go, на переделку решения без кардинального изменения технологии - результат будет не хуже.
@obehobeh9984
@obehobeh9984 5 жыл бұрын
Не увидел ничего, кроме того, что можно что-то сделать еще и на Go. Это похоже на курсовую работу по Go, где функционал переведен на другой язык. Ждем курсовую, что это-же самое можно сделать на Python.
@sfera888
@sfera888 6 ай бұрын
Так если переход с Java на Go имеет смысл - то на Python нет - тк это в десятки раз медленнее.
@obehobeh9984
@obehobeh9984 6 ай бұрын
@@sfera888 В следующий раз, когда нормальных аргументов нет, для большей убедительности, надо писать "это в сотни-тысячи раз медленнее"
@sfera888
@sfera888 6 ай бұрын
@@obehobeh9984 ну посмотри бенчмарки go vs Python. Это и есть самый убедительный аргумент
@user-cj9hb8qh7l
@user-cj9hb8qh7l 5 ай бұрын
@@sfera888 обычно питон в 1.5-2 раза медленнее с учетом всей логики, а часто и вообще примерно так же
@sfera888
@sfera888 5 ай бұрын
@@user-cj9hb8qh7l "обычно" подразумевает что у тебя уже много лет опыта с питоном и го одновременно?
@drVatman
@drVatman 5 жыл бұрын
Го не изучал, по внешнему виду такое ощущение что это где-то между питоном и си. Код на джава читать намного легче, из того что показывали. То что ест меньше памяти я думаю это виртуальная машина просто легче. Джавовская сильно замороченная. + много зависимостей от фреймворков кода в джаве наверняка тоже занимает память.
@TheKovalAndrey
@TheKovalAndrey 5 жыл бұрын
Там в go концепция без виртуальной машины, напрямую в машинный код
@artgentumk
@artgentumk 4 жыл бұрын
6:59 есть sort.Slice(), который принимает функцию less, будет по количеству написания столько же как и джавае
@tvoyaeot6624
@tvoyaeot6624 Жыл бұрын
Я думаю, почему Джиленхола нигде не видно, а он гофер теперь оказывается
@mikhailepatko6610
@mikhailepatko6610 4 жыл бұрын
На 8:10 java-код какой-то странный...
@TaranovskiAlex
@TaranovskiAlex 5 жыл бұрын
переписать на GO, чтобы не нанимать Java разработчиков... так а почему не на тот же Python или PHP, раз уж есть експертиза в компании?
@user-jj5mi1yl6p
@user-jj5mi1yl6p 5 жыл бұрын
Потому что код должен дешевым, java, php, python не могут этого обеспечить.
@obehobeh9984
@obehobeh9984 5 жыл бұрын
@@user-jj5mi1yl6p , в чем заключается эта самая "дешевость" у GO по сравнению, например, с Python? Программеры на GO работают за похлебку супа?
@hash8121
@hash8121 5 жыл бұрын
​@@obehobeh9984 Python медленный и ненадёжный. PHP такой же, только ещё ненадёжнее. У Явы очень дорогие в плане памяти потоки. Имеет ли смысл вообще говорить про потоки в Python \ PHP? (в PHP нет потоков, только процессы, они ещё дороже) *upd:* У Go есть довольно емкий по памяти аналог потоков - корутины.
@12zxqwas1
@12zxqwas1 4 жыл бұрын
@@hash8121 Для jvm есть Котлин - там корутины. У GO одна но большая проблема - тулинг слабоват. Теже библиотеки для написания ЮТ каменный век по сравнению с java инфраструктурой.
@yarbersheer8559
@yarbersheer8559 3 жыл бұрын
потому что питон и пхп - интерпретируемые языки, а го - компилируемый. Ему не надо тратить время на интерпретацию кода при исполнении.
@yarbersheer8559
@yarbersheer8559 3 жыл бұрын
Я учу Go 2 недели... И даже мне видно, что Гоферы в 2018 знали меньше новичков Го сейчас... Передача по ссылке или копии.. А заглавные буквы для кого придумали? Сортировку слайсов тоже есть... Ощущение, что костылили ради костылей...
@user-wk6nq4yh5z
@user-wk6nq4yh5z Жыл бұрын
Что посоветуешь для эффективного изучения Go? Я джава джун+, хочу на го перейти
@yarbersheer8559
@yarbersheer8559 Жыл бұрын
@@user-wk6nq4yh5z я уже мидл )) Кроме практики, мало что можно посоветовать) Главное не тащить в Go подходы из джавы) Самое важное - понимание архитектуры и построения high cohesion low coupling между сервисами приложения. Со временем покопаться в многопоточности) Главное гореть языком и знаниями)
@Rusiaev
@Rusiaev 6 күн бұрын
@@yarbersheer8559 привет, посоветуешь новичку входить в go? Или лучше с java
@Chedmit
@Chedmit 5 жыл бұрын
Сергей Поляков, раскрыл тему, все четко рассказал. Спасибо таким парням! Лайк + Подписка. Больше видосов с ним
@askhat1654
@askhat1654 6 ай бұрын
В Java все переменные, кроме примитивных типов данных, действительно передаются по значению, но это значение является ссылкой на объект.
@jackdanyal4329
@jackdanyal4329 4 жыл бұрын
чуваки решили внести современные технологии по улучшению сервисов и поэтому решили использовать Go. но при этом они используют Spring, который по сути своей медленный и SOAP. полный трэш. про gRPC не слышали вообще или как? и что им мешало тот же спринг поменять на micronaut с использованием Rx и скорость получили бы такую же.
@ascar66
@ascar66 6 ай бұрын
Они же сказали что по джаве нет экспертизы. Решили джаву не учить
@talgat1764
@talgat1764 5 ай бұрын
Ваш комментарий о том что вы не внимательно слушали и не работали в рабочих проектах. Соап древнее дерьмо, но у партнёра соап. Что пойдешь к партнеру убеждать его использовать что то другое?
@tweektorf12
@tweektorf12 5 жыл бұрын
в клетчатой рубашке нормально рассказывает. Наконец-то в рунете что-то интересное появилось.
@Ivan54r
@Ivan54r 5 жыл бұрын
soap - серьезно?
@talgat1764
@talgat1764 5 ай бұрын
Ваш комментарий о том что вы не внимательно слушали и не работали в рабочих проектах. Соап древнее дерьмо, но у партнёра соап. Что пойдешь к партнеру убеждать его использовать что то другое?
@pawsdev
@pawsdev Жыл бұрын
JAVA умрет через пару лет
@MrKELESET
@MrKELESET Жыл бұрын
Ага, все языки умрут через пару лет тогда
Валентин Хомутенко / «что не так с ORM в Go»
32:29
1 класс vs 11 класс  (игрушка)
00:30
БЕРТ
Рет қаралды 4 МЛН
World’s Deadliest Obstacle Course!
28:25
MrBeast
Рет қаралды 92 МЛН
Чистая архитектура проекта на Golang
58:22
Олег Козырев
Рет қаралды 33 М.
Архитектура Go проекта на практике
30:09
Evrone Development
Рет қаралды 12 М.
Why are Companies Migrating from Java to Go?
12:05
Golang Dojo
Рет қаралды 34 М.
Антон Сергеев, «Go под капотом»
36:37
Kolesa Group
Рет қаралды 90 М.