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

แชร์
ฝัง
  • เผยแพร่เมื่อ 11 พ.ค. 2020
  • Ближайшая конференция - Joker 2024, 9 октября (Online), 15-16 октября (Санкт-Петербург + трансляция).
    Подробности и билеты: jrg.su/Ypf1HW
    - -
    . . . Спонсоры митапа
    ALM Works
    Ребята делают офигенный плагин Structure for JIRA:
    almworks.com/structure/overvi...
    Узнать о карьерных возможностях в ALM Works:
    careers@almworks.com
    Infobip
    Infobip - международный поставщик мобильных коммуникационных решений.
    www.infobip.com/
    Узнать о карьерных возможностях в Infobip:
    www.infobip.com/careers?depar...
    ****
    Открытие митапа и приветственное слово: • Открытие онлайн-встреч...
    Код на GitHub: github.com/Jeka1978/coronades...
    ****
    Евгений Борисов пишет на Java почти 20 лет. За эти годы он принял участие в большом количестве энтерпрайз проектов, несколько лет был свободным консультантом, открыл свой стартап провёл сотни тренингов и десятки докладов, а сегодня возглавляет израильский отдел разработки в EPAM.
    «Оглядываясь на весь свой опыт разработки, я могу с уверенностью сказать, что людям лучше всего даются те технологии, аналог которых они писали ещё до появления этих технологий. Вы хотите понимать Spring на уровне их создателей, перестаньте его потрошить, создайте его сами.
    Я понимаю, что в рамках данного доклада у меня не будет возможности написать Spring Framework, который есть сегодня и который писался многими людьми и Йоргеном Холлером на протяжении почти 20 лет. Но я успею реализовать все основные механизмы и концепции, необходимые для понимая ядра, на которое нанизывается всё остальное.
    Доклад почти весь будет состоять из лайв-кодинга, мы возьмём за основу проекта какую-нибудь весёлую, но типичную задачу. Но чтобы реализовать её красиво, без копи-паста и прочих костылей, нам понадобится инфраструктура, дающая инверсию контроля, Dependency Injection, AOP, возможность конфигурировать объекты, не меняя код, возможность расширения в будущем и т.п.
    По окончании доклада вы уйдёте, не только понимая, зачем нужен Spring, как им правильно пользоваться и как он устроен, но и получите наглядный сжатый опыт написания подобных систем.»
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 158

  • @JUGru
    @JUGru  4 ปีที่แล้ว +10

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

  • @user-tf8ff2od6g
    @user-tf8ff2od6g 4 ปีที่แล้ว +243

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

  • @IsaTimur
    @IsaTimur 4 ปีที่แล้ว +102

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

  • @NoContentAtAll
    @NoContentAtAll 4 ปีที่แล้ว +87

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

  • @elplatono747
    @elplatono747 4 ปีที่แล้ว +61

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

  • @alex_nail
    @alex_nail 3 ปีที่แล้ว +13

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

  • @grimax4966
    @grimax4966 4 ปีที่แล้ว +45

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

  • @grimax4966
    @grimax4966 4 ปีที่แล้ว +69

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

  • @jonnyradars
    @jonnyradars 4 ปีที่แล้ว +12

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

  • @MykMur
    @MykMur 3 ปีที่แล้ว +13

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

  • @mikhailpodgornyak934
    @mikhailpodgornyak934 4 ปีที่แล้ว +38

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

  • @andreyshipul6300
    @andreyshipul6300 3 ปีที่แล้ว +5

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

  • @mikalaisniahurski6902
    @mikalaisniahurski6902 3 ปีที่แล้ว +5

    Лучшее, что видел на сегодняшний день. До этого был потрошитель))

  • @powerstrike97
    @powerstrike97 4 ปีที่แล้ว +9

    Очень хороший доклад, который дал глубинное понимание зачем нужны все эти "фабрики" и "контексты". Спасибо большое!

  • @xmahz
    @xmahz ปีที่แล้ว +3

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

  • @AleksSPace
    @AleksSPace 4 ปีที่แล้ว +25

    Женя, спасибо, зашло отлично. Как, что и почему сформулированно доступно и понятно (и слава богу никаких BPP :). Good stuff!

  • @user-yf6te4pi7h
    @user-yf6te4pi7h 3 ปีที่แล้ว +3

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

  • @oleksandrverenka5586
    @oleksandrverenka5586 4 ปีที่แล้ว +11

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

  • @pel19731204
    @pel19731204 2 หลายเดือนก่อน

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

  • @SoulsellerNT
    @SoulsellerNT 4 ปีที่แล้ว +3

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

  • @user-hh1zs2xi4o
    @user-hh1zs2xi4o 3 ปีที่แล้ว +2

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

  • @itwebwork
    @itwebwork 4 ปีที่แล้ว +6

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

  • @----1281
    @----1281 4 ปีที่แล้ว +6

    Отличный доклад, лучшее объяснение работы спринга

  • @leu2304
    @leu2304 3 ปีที่แล้ว +2

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

  • @AlexSmith-oe6pr
    @AlexSmith-oe6pr 4 ปีที่แล้ว +6

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

    • @grimax4966
      @grimax4966 4 ปีที่แล้ว

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

  • @Levitizen
    @Levitizen 9 หลายเดือนก่อน +1

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

  • @amirkumalov4950
    @amirkumalov4950 4 ปีที่แล้ว +2

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

  • @oleksandrdyachuk3951
    @oleksandrdyachuk3951 4 ปีที่แล้ว +1

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

  • @NeverIn01
    @NeverIn01 4 ปีที่แล้ว +8

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

  • @maks_golovkin
    @maks_golovkin 4 ปีที่แล้ว +40

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

    • @SergeyGorshkov
      @SergeyGorshkov 2 ปีที่แล้ว +1

      Вообще огонь

    • @universeunity9970
      @universeunity9970 9 วันที่ผ่านมา

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

  • @physics6279
    @physics6279 2 ปีที่แล้ว +1

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

  • @MrArtod
    @MrArtod 4 ปีที่แล้ว +8

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

  • @mdcoolcomrat
    @mdcoolcomrat 4 ปีที่แล้ว +1

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

  • @jojomajo
    @jojomajo 4 ปีที่แล้ว +3

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

  • @valeriyemelyanov9090
    @valeriyemelyanov9090 2 ปีที่แล้ว

    Очень понятно! Очень круто! Захватывающе! Огромное благодарю!

  • @d-fyz
    @d-fyz 4 ปีที่แล้ว +28

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

  • @user-ki8mz4kj8q
    @user-ki8mz4kj8q 4 ปีที่แล้ว

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

  • @user-xq4wc1ge7r
    @user-xq4wc1ge7r 8 หลายเดือนก่อน

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

  • @delalen8012
    @delalen8012 4 ปีที่แล้ว

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

  • @sovrinfo
    @sovrinfo 2 ปีที่แล้ว

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

  • @crashoverride9681
    @crashoverride9681 3 ปีที่แล้ว

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

  • @socialcatalyst2608
    @socialcatalyst2608 11 หลายเดือนก่อน

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

  • @fur_mur
    @fur_mur 7 หลายเดือนก่อน

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

  • @oodmi
    @oodmi 4 ปีที่แล้ว +8

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

    • @seapps4594
      @seapps4594 3 ปีที่แล้ว +3

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

  • @Enthusiast91
    @Enthusiast91 4 ปีที่แล้ว +4

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

  • @nerale
    @nerale 2 ปีที่แล้ว

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

  • @l.oleksandr
    @l.oleksandr 4 ปีที่แล้ว +4

    Спасибо

  • @pavloa.2012
    @pavloa.2012 4 ปีที่แล้ว +3

    Bravo!

  • @user-qb3ck7cq3k
    @user-qb3ck7cq3k 9 หลายเดือนก่อน

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

  • @ionscorobogaci5530
    @ionscorobogaci5530 4 ปีที่แล้ว +1

    cool guy and nice presentation. thank you Eugen

  • @deadins
    @deadins 3 ปีที่แล้ว +1

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

  • @vdubovsky
    @vdubovsky 3 ปีที่แล้ว

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

  • @senin24
    @senin24 4 ปีที่แล้ว +3

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

  • @alexVbeze
    @alexVbeze 3 ปีที่แล้ว +1

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

  • @xxx---xxx---xxx
    @xxx---xxx---xxx ปีที่แล้ว

    Смотришь Борисова и понимаешь, что жил не зря!

  • @arturtyan93
    @arturtyan93 10 หลายเดือนก่อน

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

  • @user-ts8tu1ds7h
    @user-ts8tu1ds7h ปีที่แล้ว

    Божественно 🌋❤️👀💥👍

  • @sergeydostovalov6180
    @sergeydostovalov6180 4 ปีที่แล้ว +2

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

  • @galinashapoval2695
    @galinashapoval2695 3 ปีที่แล้ว

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

  • @pavelchurlyaev257
    @pavelchurlyaev257 3 ปีที่แล้ว +1

    До доклада думал, что знаю, зачем нужен спринг. Теперь увидел собственными глазами, зачем он нужен)

  • @taras_anichyn
    @taras_anichyn 4 ปีที่แล้ว +9

    ЕвГениально

  • @KavboiHaggis
    @KavboiHaggis 4 ปีที่แล้ว +4

    топчик )

  • @slisnychyi
    @slisnychyi 4 ปีที่แล้ว +1

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

    • @grimax4966
      @grimax4966 4 ปีที่แล้ว

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

  • @user-hi6zy2zk6c
    @user-hi6zy2zk6c 3 ปีที่แล้ว +2

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

  • @nikita-ks3nl
    @nikita-ks3nl 3 ปีที่แล้ว +1

    лучший ❤

  • @andreytuvaev9344
    @andreytuvaev9344 4 ปีที่แล้ว +4

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

    • @grimax4966
      @grimax4966 4 ปีที่แล้ว

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

  • @user-ym1ss7pw6w
    @user-ym1ss7pw6w 3 ปีที่แล้ว

    Лучший!

  • @aliakseitsymbalist8491
    @aliakseitsymbalist8491 4 ปีที่แล้ว

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

  • @spyr01d
    @spyr01d 4 ปีที่แล้ว

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

  • @kirekov
    @kirekov 4 ปีที่แล้ว

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

    • @SkyAntins
      @SkyAntins 3 ปีที่แล้ว

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

  • @user-zb9ci6qu8r
    @user-zb9ci6qu8r 2 ปีที่แล้ว +1

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

  • @MrGrey-yc6fq
    @MrGrey-yc6fq 8 หลายเดือนก่อน +1

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

  • @elrosse
    @elrosse 2 ปีที่แล้ว

    Ты крут)

  • @for_whom_the_bell_tolls
    @for_whom_the_bell_tolls 2 ปีที่แล้ว

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

    • @madinakali6873
      @madinakali6873 9 หลายเดือนก่อน

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

  • @gulfstream1800
    @gulfstream1800 11 หลายเดือนก่อน

    Лучший

  • @alisaromanova3933
    @alisaromanova3933 4 ปีที่แล้ว +2

    Женя крутой

  • @AlexTsiklov
    @AlexTsiklov ปีที่แล้ว

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

  • @valkutful
    @valkutful 8 หลายเดือนก่อน

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

  • @cgwicio8658
    @cgwicio8658 2 ปีที่แล้ว

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

  • @mikhail6694
    @mikhail6694 2 ปีที่แล้ว

    хорош!

  • @yveromeev
    @yveromeev ปีที่แล้ว

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

  • @eugenea7469
    @eugenea7469 3 ปีที่แล้ว

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

  • @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

  • @-is.perfect-
    @-is.perfect- 4 ปีที่แล้ว +1

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

  • @dmitriymaslov946
    @dmitriymaslov946 4 ปีที่แล้ว +1

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

  • @maxpanteleev9448
    @maxpanteleev9448 2 ปีที่แล้ว

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

  • @uberdissonant
    @uberdissonant 4 ปีที่แล้ว +1

    1:57:11 Proxy pattern

  • @wonderbird434
    @wonderbird434 3 ปีที่แล้ว

    Что будет, если имплементироаать интерфейс с неполным количеством методов класса, но инжектить по классу. То депрекейтет прокси создается с интерфейса и получается не все методы класса можно вызвать?

    • @funbiscuit
      @funbiscuit 3 ปีที่แล้ว

      Если мы имеем класс, который имплементирует какой-то интерфейс, то у нас написана логика, что будет создаваться динамический прокси. И если мы его попытаемся заинжектить по классу, а не интерфейсу, то произойдет IllegalArgumentException в тот момент, когда мы будем рефлекшном пытаться засунуть динамический прокси в филд (у которого тип конкретного класса).
      Если бы у нас всегда создавался наследник через cglib, то такой проблемы не возникало бы. Разве что для final классов всё падало бы.

  • @user-vm7re9bu9r
    @user-vm7re9bu9r 2 ปีที่แล้ว

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

  • @user-eu3hk3fj7m
    @user-eu3hk3fj7m 3 ปีที่แล้ว +1

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

  • @Dfire1210
    @Dfire1210 4 ปีที่แล้ว +1

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

    • @narunan321
      @narunan321 4 ปีที่แล้ว

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

    • @alexey-jugru
      @alexey-jugru 4 ปีที่แล้ว +3

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

  • @user-lv5hi7kx9j
    @user-lv5hi7kx9j 2 ปีที่แล้ว

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

  • @SplashDmg2011
    @SplashDmg2011 4 ปีที่แล้ว +4

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

  • @orlov_alex
    @orlov_alex 3 ปีที่แล้ว

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

  • @user-pt2lq1ik7i
    @user-pt2lq1ik7i 4 ปีที่แล้ว +7

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

  • @user-ni5nt2bs8j
    @user-ni5nt2bs8j 3 ปีที่แล้ว

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

    • @matfey96
      @matfey96 ปีที่แล้ว +2

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

  • @Prosony1
    @Prosony1 3 ปีที่แล้ว

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

  • @amanzholtaimagambetov5811
    @amanzholtaimagambetov5811 4 ปีที่แล้ว +1

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

  • @chelkatrao
    @chelkatrao 4 ปีที่แล้ว

    2:14

  • @MrSergioKon
    @MrSergioKon 3 ปีที่แล้ว

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