Евгений Борисов - Spring-построитель

Поделиться
HTML-код
  • Опубликовано: 26 сен 2024
  • Ближайшая конференция - Joker 2024, 9 октября (Online), 15-16 октября (Санкт-Петербург + трансляция).
    Подробности и билеты: jrg.su/Ypf1HW
    - -
    . . . Спонсоры митапа
    ALM Works
    Ребята делают офигенный плагин Structure for JIRA:
    almworks.com/s...
    Узнать о карьерных возможностях в ALM Works:
    careers@almworks.com
    Infobip
    Infobip - международный поставщик мобильных коммуникационных решений.
    www.infobip.com/
    Узнать о карьерных возможностях в Infobip:
    www.infobip.co...
    ****
    Открытие митапа и приветственное слово: • Открытие онлайн-встреч...
    Код на GitHub: github.com/Jek...
    ****
    Евгений Борисов пишет на Java почти 20 лет. За эти годы он принял участие в большом количестве энтерпрайз проектов, несколько лет был свободным консультантом, открыл свой стартап провёл сотни тренингов и десятки докладов, а сегодня возглавляет израильский отдел разработки в EPAM.
    «Оглядываясь на весь свой опыт разработки, я могу с уверенностью сказать, что людям лучше всего даются те технологии, аналог которых они писали ещё до появления этих технологий. Вы хотите понимать Spring на уровне их создателей, перестаньте его потрошить, создайте его сами.
    Я понимаю, что в рамках данного доклада у меня не будет возможности написать Spring Framework, который есть сегодня и который писался многими людьми и Йоргеном Холлером на протяжении почти 20 лет. Но я успею реализовать все основные механизмы и концепции, необходимые для понимая ядра, на которое нанизывается всё остальное.
    Доклад почти весь будет состоять из лайв-кодинга, мы возьмём за основу проекта какую-нибудь весёлую, но типичную задачу. Но чтобы реализовать её красиво, без копи-паста и прочих костылей, нам понадобится инфраструктура, дающая инверсию контроля, Dependency Injection, AOP, возможность конфигурировать объекты, не меняя код, возможность расширения в будущем и т.п.
    По окончании доклада вы уйдёте, не только понимая, зачем нужен Spring, как им правильно пользоваться и как он устроен, но и получите наглядный сжатый опыт написания подобных систем.»

Комментарии • 159

  • @JUGru
    @JUGru  4 года назад +10

    Java-конференция JPoint 2020 и другие наши конференции пройдут в онлайне.
    Подробности и билеты: bit.ly/jugruconf

  • @АлександрШаповалов-в7в

    Один из лучших докладов за последние пару лет.

  • @IsaTimur
    @IsaTimur 4 года назад +102

    Женя как всегда бесподобен! Какая подача! Какие эмоции! Какой сценарий! Во время просмотра этого видео! Был изобретен реальный дезинфектор для короны!

  • @NoContentAtAll
    @NoContentAtAll 4 года назад +88

    Это самый полезный и интересный доклад за всю историю конференций)) Евген, красава

  • @elplatono747
    @elplatono747 4 года назад +62

    Это просто топ. 2.5 часа на одном дыхании. Пожалуй самые полезные 2.5 часа за последнее время

  • @alex_nail
    @alex_nail 3 года назад +14

    Ни один триллер не смотрелся столь увлекательно, как этот доклад. Просто лучшие 2.5 часа ever!!!

  • @grimax4966
    @grimax4966 4 года назад +46

    Тот случай когда только после последнего доклада начинаешь по настоящему понимать все предыдущие доклады автора). Это моя любимая методика обучения: 1. поставить себя на место автора решения, 2. понять проблему, 3. попытаться решить проблему имеющимися средствами, 4. понять почему не получается и придумать решение. Спасибо огромное Евгению за этот супер доклад и организаторам JUG!

  • @grimax4966
    @grimax4966 4 года назад +69

    Вот бы Женя Spring MVC также разобрал я имею ввиду написал бы свой DispatcherServlet только на минималках было бы еще круче, кто за ?

  • @MykMur
    @MykMur 3 года назад +13

    Превосходно. Для полного понимания картины "Потрошитель" пришлось смотреть 3 раза, эффект фильма "Тенет". XD
    Этот доклад прекрасный, опустились не просто до понимания Спринга и как он работает, а вообще до того, как сам Спринг был сделан. Большое спасибо за видео! :)

  • @maks_golovkin
    @maks_golovkin 4 года назад +41

    Просто божественно объяснил принцип SOLID

    • @SergeyGorshkov
      @SergeyGorshkov 2 года назад +1

      Вообще огонь

    • @universeunity9970
      @universeunity9970 2 месяца назад

      Всё очень хорошо, но я так и не понял, почему он использовал композицию, а не агрегацию в начале. Тогда проблема с responsibility отпала бы полностью, поскольку выбор имплементации и создание объектов происходило бы извне.

  • @jonnyradars
    @jonnyradars 4 года назад +12

    именно из-за таких видео жалеешь, что нельзя поставить лайк сразу обеими руками

  • @andreyshipul6300
    @andreyshipul6300 3 года назад +5

    Евгений , шикарная подача. Вы король Спринга после Hoeller

  • @xmahz
    @xmahz Год назад +3

    Полтора часа недоумевал о чем видео, но затем я смог понять логику IoC и Dependency Inversion и тут до меня дошло 😲
    Шикарное видео, очень ёмко и понятно!

  • @ЛёхаКорчагин-ю7т
    @ЛёхаКорчагин-ю7т 3 года назад +3

    Самый лучший доклад по объяснению сложных вещей простыми словами!!!!

  • @oleksandrverenka5586
    @oleksandrverenka5586 4 года назад +11

    Огромное спасибо за доклад, лучше и интереснее даже близко не встречал.

  • @XaluDadayev
    @XaluDadayev 3 года назад +2

    Все очень понятно и просто. Ведь все гениальное это простое как и объяснение Евгения. Евгений ты гений. Вот это и называется ловить кайф от прослушанного.

  • @SoulsellerNT
    @SoulsellerNT 4 года назад +3

    Лучший докладчик! А доклад такой, что можно показывать всем "пожилым" руководителям, отрицающим Spring :-D

  • @Levitizen
    @Levitizen 11 месяцев назад +1

    Очень круто! спасибо! такие доклады дают понимание

  • @AlexSmith-oe6pr
    @AlexSmith-oe6pr 4 года назад +6

    Выводы очень близко ложатся на собственные подходы как в обучении так и в развитии. За любую вариацию продолжения/дополнения буду очень благодарен! Такой формат не подойдет ни для одной конференции, но контент очень годный и хочется продолжения. Спасибо!

    • @grimax4966
      @grimax4966 4 года назад

      К сожалению да формат конференций далек от обучения докладчики делают вид якобы все все знают а слушатели делают вид что понимают докладчиков ))) . Вот бы Женя Spring MVC также разобрал я имею ввиду написал бы свой DispatcherServlet только на минималках было бы еще круче, кто за ?

  • @Enthusiast91
    @Enthusiast91 4 года назад +4

    Огонь, я только начинаю разбираться в Spring и это видео очень многое объясняет. Спасибо большое, мне помогло. Давайте больше таких шикарных видео, где показывают как авторы пришли к тому или иному решению!!

  • @MrArtod
    @MrArtod 4 года назад +8

    На одном дыхании посмотрел.

  • @physics6279
    @physics6279 2 года назад +1

    Потрясающе!!! Лучший мэнчик по спрингу, в ру сегменте ютуба

  • @Николай-х3б4ф
    @Николай-х3б4ф 10 месяцев назад

    Тоже хочу выразить свою благодарность. Жека, спасибо за твой труд❤

  • @jojomajo
    @jojomajo 4 года назад +3

    Просто лучший! Очень крутой доклад

  • @itwebwork
    @itwebwork 4 года назад +6

    Спасибо за доклад! Очень познавательно!

  • @СергейКолдаев-ч7я
    @СергейКолдаев-ч7я 3 года назад +4

    1) Открываешь доклад Жени
    2) Не успеваешь моргнуть, как уже слышишь про BeanPostProcessor )))

  • @oodmi
    @oodmi 4 года назад +8

    1 курс в универе по java за 2 часа, лайк!

    • @seapps1
      @seapps1 4 года назад +4

      Гдейто в универах учат IoC?

  • @d-fyz
    @d-fyz 4 года назад +28

    10 бинПостПроцессоров из 10

  • @pel19731204
    @pel19731204 4 месяца назад

    Круто! Полезно ознакомиться изучающим Spring. Автору - респект.

  • @leu2304
    @leu2304 3 года назад +2

    Спасибо, не думал что про доклады можно такое сказать но этот реально посмотрел на одном дыхании :)

  • @mdcoolcomrat
    @mdcoolcomrat 4 года назад +1

    У меня уже много лет опыта разнообразного жавадева, я иногда трогал Spring (в т ч более старые версии в эпоху xml), который конфигурили мои коллеги, но никогда не заглядывал внутрь и не читал мануалов. Хотя весь мой опыт утверждал, что вот как-то так оно и должно работать.
    Этот доклад стал финальным аккордом, который просто все ровно выложил на полочке в голове. Отличный доклад, большое спасибо!

  • @NeverIn01
    @NeverIn01 4 года назад +8

    Хорошая подача материала, лайк!

  • @socialcatalyst2608
    @socialcatalyst2608 Год назад

    Отличный вводный материал для джунов в спринг! Спасибо!

  • @fur_mur
    @fur_mur 8 месяцев назад

    Спасибо большое, я переосмыслила всё, что видела на 20-ти летнем проекте на прошлой работе! Особенно ценно было услышать, как так получилось, что код, который писали раньше, так плохо выглядит в наши дни.

  • @amirkumalov4950
    @amirkumalov4950 4 года назад +2

    Идеальный доклад. Спасибо!

  • @Дмитрий-з7м9е
    @Дмитрий-з7м9е 11 месяцев назад

    Гениально, как и всегда!

  • @crashoverride9681
    @crashoverride9681 3 года назад

    Спасибо Евгений! Коротко и по делу! Четко! Прямо как пацаны на районе уважают, которые на Джаве пишут :)

  • @l.oleksandr
    @l.oleksandr 4 года назад +4

    Спасибо

  • @mikhailpodgornyak934
    @mikhailpodgornyak934 4 года назад +38

    Отличный доклад, смотрел трансляцию! А можно точно так же, но про Spring boot?

  • @taras_anichyn
    @taras_anichyn 4 года назад +9

    ЕвГениально

  • @sovrinfo
    @sovrinfo 2 года назад

    Вообще огонь. Спасибо за доклад!

  • @deadins
    @deadins 4 года назад +1

    привет из epam) очень крутой доклад, спасибо)

  • @senin24
    @senin24 4 года назад +3

    в начале просмотра подумал "да чего я не знаю в инжекции зависимостей спрингом, что там можно интересного 2,5 часа рассказывать, просто на перемотке гляну", а потом не смог оторваться, т.к. очень интересное последовательное изложение и страстное выступление.

  • @arturtyan93
    @arturtyan93 Год назад

    Крайне информативное видео!

  • @pavloa.2012
    @pavloa.2012 4 года назад +3

    Bravo!

  • @galinashapoval2695
    @galinashapoval2695 3 года назад

    Зачем создавать самому, если можно посмотреть бесподобного Евгения, спасибо огромное!

  • @andreytuvaev9344
    @andreytuvaev9344 4 года назад +4

    Женя - лучший популяризатор спринга, может пора Pivotal ему приплачивать?)

    • @grimax4966
      @grimax4966 4 года назад

      Джош Лонг реально отдыхает!

  • @oleksandrdyachuk3951
    @oleksandrdyachuk3951 4 года назад +1

    Это было прекрасно! Спасибо!

  • @slisnychyi
    @slisnychyi 4 года назад +1

    приквел spring-потрошитель. thanks

    • @grimax4966
      @grimax4966 4 года назад

      Да именно, вот бы Женя Spring MVC также разобрал я имею ввиду написал бы свой DispatcherServlet только на минималках было бы еще круче, кто за ?

  • @ionscorobogaci5530
    @ionscorobogaci5530 4 года назад +1

    cool guy and nice presentation. thank you Eugen

  • @vdubovsky
    @vdubovsky 4 года назад

    Супер!!!! ждём spring boot построитель

  • @nerale
    @nerale 2 года назад

    Спасибо за доклад!

  • @ВиталийМорозов-в5ъ
    @ВиталийМорозов-в5ъ 4 года назад

    Огромное спасибо за доклад!

  • @alexVbeze
    @alexVbeze 3 года назад +1

    Просто потрясающий доклад, очень сильно вдохновляет. Планирую посмотреть все его доклады, осталось уже не много. Каких еще спикеров можно посмотреть по Spring и Java?

  • @РоманБледнов-ъ9и
    @РоманБледнов-ъ9и 3 года назад +1

    Несколько раз говорит что лукап это не инверсия контроля, хотя очевидно что лукап это один из видов инверсий контроля. Наверное Евгений имел ввиду что лукап это не депенденси инжекшн. И лукап и di это виды инверсий контроля.

  • @delalen8012
    @delalen8012 4 года назад

    Очешуенно! Спасибо за видео)

  • @nikita-ks3nl
    @nikita-ks3nl 3 года назад +1

    лучший ❤

  • @aliakseitsymbalist8491
    @aliakseitsymbalist8491 4 года назад

    Большое спасибо Евгению за столь интересный и невероятно полезный доклад. За умение грамотно подать информацию без лишней воды и отступлений высший балл автору.

  • @KavboiHaggis
    @KavboiHaggis 4 года назад +4

    топчик )

  • @sergeydostovalov6180
    @sergeydostovalov6180 4 года назад +2

    Очень крутой доклад! Видимо Гугл устал от всего этого и придумал Го :) Нам не нужны отличники, нам нужны твёрдые середнячки :)

  • @for_whom_the_bell_tolls
    @for_whom_the_bell_tolls 2 года назад

    Это лучший доклад по джаве для уровня мидл - синьер, для тех кто хочет писать качественный код. Это круто что у нас в комьюнити есть Женя! Интересно есть ли в других ЯП настолько же сильные спикеры. Если кто знает поделитесь, плиз, очень интересно было б заценить.

    • @madinakali6873
      @madinakali6873 11 месяцев назад

      по реакт редакс есть путь самурая

  • @AlexTsiklov
    @AlexTsiklov Год назад

    "Прокси класс - это самый тупой класс, который ничего не умеет делать" :)))) Запомнили и записали) Огромное вам спасибо, Евгений, вы мой любимый учитель!

  • @kirekov
    @kirekov 4 года назад

    Евгений, спасибо за интересный доклад. Правда есть один момент. Одной из причин перехода от lookup к DI является невозможность написать unit-тест. Однако при использовании DI через поля эта проблема никуда не исчезает. Только если раньше мы не могли замокать жёстко прибитую имплементацию, то теперь не можем внедрить её без рефлекшнов. Я думаю, что DI через конструкторы является более удачным вариантом в этом случае.

    • @SkyAntins
      @SkyAntins 3 года назад

      Инжекция через сеттеры тоже решит проблему

  • @alisaromanova3933
    @alisaromanova3933 4 года назад +2

    Женя крутой

  • @ВениаминБелоусов-г4т

    Лучший!

  • @MrGrey-yc6fq
    @MrGrey-yc6fq 10 месяцев назад +1

    CGLIB не работает c jdk-17 и не обновляется с 2019 года, какая есть альтернатива? (что выбрать?)

  • @spyr01d
    @spyr01d 4 года назад

    Поддерживаю. Animals один из лучших.

  • @gulfstream1800
    @gulfstream1800 Год назад

    Лучший

  • @elrosse
    @elrosse 3 года назад

    Ты крут)

  • @yveromeev
    @yveromeev Год назад

    ну этот спринг, я хочу писать на этом фреймворке

  • @cgwicio8658
    @cgwicio8658 2 года назад

    Спасибо, не знаю ни Java, ни Spring, но доклад зашел, настолько это жизненно. И все же stateless в данном случае (1:08:37), как мне кажется, это не совсем то. По мне ближе термин immutable. Или это терминология из мира Java?

  • @eugenea7469
    @eugenea7469 3 года назад

    Вот повезло твоим подчинённым!

  • @uberdissonant
    @uberdissonant 4 года назад +1

    1:57:11 Proxy pattern

  • @maxpanteleev9448
    @maxpanteleev9448 2 года назад

    на 30 минуте между делом заодно объяснил рекурсию за 2 секунды)

  • @ЮрийШотин
    @ЮрийШотин 2 года назад

    Идея с напитками под маркой "null". Безалкогольное пиво, безалкогольная водка и т.п. )

  • @Дмитрий_Ник
    @Дмитрий_Ник 4 года назад +7

    на Якушева из КВНа похож

  • @SplashDmg2011
    @SplashDmg2011 4 года назад +4

    Фабрика, иди сюда))

  • @АртемКобяков-с2д
    @АртемКобяков-с2д 3 года назад +1

    Охуенно! Бесподобно! Просто бомба)))
    Женя спасибо!

  • @-is.perfect-
    @-is.perfect- 4 года назад +1

    Святой человек!

  • @mikhail6694
    @mikhail6694 2 года назад

    хорош!

  • @КириллЛомовской
    @КириллЛомовской 3 года назад

    1:15 меня на собесе в Столото на полном серьезе заставили писать домашний синглтон с ленивым фабричным методом и удивлялись почему я этим не пользуюсь, это же всегда надо, у нас мол в компании это сплошь и рядом надо уметь......

    • @matfey96
      @matfey96 Год назад +3

      Какая компания, такие собесы😄

  • @orlov_alex
    @orlov_alex 3 года назад

    Смотрел под спидами - еле поспевал!

  • @Prosony1
    @Prosony1 3 года назад

    аааа, вот оно зачем... Теперь я все понял!😐

  • @amanzholtaimagambetov5811
    @amanzholtaimagambetov5811 4 года назад +1

    Представляю увидеть в логах - "что ж ты делаешь урод!!"

  • @dmitriymaslov946
    @dmitriymaslov946 4 года назад +1

    Не пишу на java, поэтому глупый вопрос - это он про самописный DI контейнер рассказывает?

  • @talosdx5492
    @talosdx5492 4 года назад +3

    Map.computeIfAbsent (key, function)
    How could I not know this?

    • @p1rat3ss
      @p1rat3ss 4 года назад +1

      well in this case it might be true, but it is always important to listen smart people explaining obvious things. You might re-think some staff

  • @NadChel1
    @NadChel1 10 месяцев назад

    "Мы живём в небольшом поселении недалеко от Газы" 😐

  • @MrSergioKon
    @MrSergioKon 3 года назад

    26:35 зачем так сложно ? передай интерфэйс в кнструктор .

  • @valkutful
    @valkutful 10 месяцев назад

    Подскажите что за горячие клавиши используются для двойного написания на 26:10?

    • @simplyburak3483
      @simplyburak3483 Месяц назад

      Зажать альт и мышкой выделить

  • @dimabezludnev947
    @dimabezludnev947 4 года назад +1

    Не хватило бинпостпроцессора 😅

  • @MrRomanvideo
    @MrRomanvideo 3 года назад

    В начале пожурил 3-4 принципы солид, а в конце уже пожурил Й.Холлера за нарушение 4го :).

  • @alexdev6403
    @alexdev6403 3 года назад

    Поправьте меня пожалуйста, может я не прав. Считаю что язык программирования должен давать инструменты типа создавать синглтоны. В Scala/Kotlin уже лет как 100 есть object на ряду с обычным class. Чем он хуже?
    Spring IOC это симптом бедности java и ее неспособности дать разработчику нормальный инструмент.
    Java может создать синглтон через Enum, но выглядит это очень костыльно.
    IOC делает java на стероидах, куча аннотаций которые только загромождают код и понимание бизнес логики.
    У меня опыт скала разработчика, на java se пришлось писать 1 год и за это время понял, что java дико не удобна, очень вербозна, без ломбок было бы совсем грустно.

  • @ДимаГоликов-с6ш
    @ДимаГоликов-с6ш 2 года назад

    что за песня играет в начале?

  • @Dfire1210
    @Dfire1210 4 года назад +1

    А что случилось с оригинальной записью трансляции?

    • @narunan321
      @narunan321 4 года назад

      Ну лично у меня есть бекап, если надо могу залить..)

    • @alexey-jugru
      @alexey-jugru 4 года назад +3

      Трансляция была в низком разрешении, код в IDEA местами было не разглядеть. Перезалили в 4K, стало сильно лучше.

  • @inbuckswetrust7357
    @inbuckswetrust7357 4 года назад +3

    Нам не нужно ковыряется в коде нам нужно ковыряться в конфигах ;)

    • @delalen8012
      @delalen8012 4 года назад +1

      дк конфигурация на то и конфигурация, что позволяют настроить то, что уже существует.
      Когда я лезу в класс, есть риск этот класс сломать. Когда я лезу в конфигурацию - во-первых, сломать ничего не получится (ибо код я не меняю), а во-вторых, настроить то, что уже создано, гораздо проще, чем вникать в его устройство)

    • @inbuckswetrust7357
      @inbuckswetrust7357 4 года назад +3

      Del Alen давай тогда определимся закоим фигом конфигурационные аннотации тогда в коде ? ;) а вдруг я захочу перенастроить ;)

    • @delalen8012
      @delalen8012 4 года назад

      @@inbuckswetrust7357 а аннотации то чем плохи?)

  • @DimaTiunov
    @DimaTiunov Год назад

    1:04:04 если у меня будет 30 конфигураторов
    1:04:18 если его не надо настраивать, а он пройдёт по 50 конфирураторам
    хихи, вот так джависты себе зарплаты создают большие)))

  • @UnitedFeodor
    @UnitedFeodor Год назад

    1:54:53

  • @guai9632
    @guai9632 3 года назад

    пили свой спринг, у тебя лучше получается

  • @mml42
    @mml42 4 года назад +1

    коль ха кавод !

  • @guai9632
    @guai9632 3 года назад +1

    и чо они там делали 20 лет, если можно то же самое за 2 часа наваять? :)