Плотность информации на одну минуту видео просто зашкаливает. Всё по делу без воды. Каждое предложение - очень ценная информация. Если по этим двум частям сделать книгу, то выйдет мануал страниц на 300, не меньше.
Если у программистов есть хороший тон и правила чистого кода, то у ведущего (в данном случае докладчика) не должны быть "айбернейты" , "собаки", также эмм ымм бээем. При всем уважении.
@@BiteMyBrain Посмотрел далее ... Доклад отличный! По вашей аналогии, примерно как сесть в такси бомбилы из Кавказа :) Водитель с акцентом, но душевно что-то рассказывает =)
За время разработки цитатника в этом видео, я выделил топ цитат от Евгения: 1) try-catch всегда некрасиво, и плохо сказывается на нервной системе 2) -Вы используете тесты? -Да, мы пишем тесты -А как вы пишите тесты? -Ну как? - main создаем, прямо в том же классе, который надо протестировать - очень удобно. Прям там создаем объект из этого класса, запускаем, смотрим - если 17 - то нормально 3) Лучше знать, что есть проблема (null), чем жить с каким-то нулем 4) Знаете почему важно не делать грамотические ошибки? - стыдно перед заграничными партнерами 5) ...сatch пустой не буду оставлять - грех
Все советуют это видео новичкам в Спринге, так вот не слушайте их. Лекция явно для тех, кто уже в теме, так что если вы ничего не поняли - то нормально. Лично я вернулся к этой лекции спустя полгода работы на Спринге
@@dimchik-kenshi думаю вам уже неактуально, но может кому-то из прочитавших позже будет полезно У Алишева есть курс по Спрингу, часть которого лежит на ютубе в открытом доступе Канал alishev, там в целом много полезного по Java
Сначала проходил Spring сам, потом делал тестовые на Spring Boot, сейчас имея небольшой опыт смотрю его лекции на стажировке. Евгений очень круто и без воды объясняет, доходчиво и понятно. Как лектор он крутой
7:18 неверное утверждение- BeanFactory создаёт singleton-бины при первом запросе, а не не при запуске контекста. А вот ApplicationContext как раз создаёт синглтоны при поднятии контекста
Лекция крайне плотная и информативная. Но после неё всё равно остаётся куча внутренностей, которые еще надо "потрошить", изучать)) Например, про то, как работает сканер бинов в современной версии спринга. И каким именно образом работает класс, подменяемый dynamic proxy. Хотя, когда-то я еще писал свой кривой BeanDefinitionReader и BeanFactory, так что у меня всё таки вопросов по внутренностям чуть меньше)) Погружаться в это можно очень долго. Но это интересно!
Пока смотрела все было понятно. На следующий день хотела повторить- вообще ниче не помню! А вообще, доклад- супер. Если эта инфа и есть в оф доках, отфильтровать ее самостоятельно было бы очень не просто
46:23 - двадцать шестое июня, четверг, воcемь вечера. Несмотря на то, что все устали от коммитов в проект, ребята нашли в себе силы прийти ещё на доклад Борисова и поразвиваться.
Евгений крайне интересно вещает, запись смотрится на одном дыхании, но всё время меня не покидала мысль, что поведением похож на Александра Якушева("Курск" КВН)
можно и заимплементить интерфейс BeanFactoryPostProcessor и доставать через рефлексию нужны поля, разница только в том, что BeanPostProcessor работатет уже с проиниализироваными полями обьекта, а BeanFactoryPostProcessor - после загрузки бинов в контейенер dzone.com/articles/spring-bean-lifecycle
Как он делает эту магию при написании кода? пишет r и у него появляется целая строка, где он создает экземпляр класса Random. Потом в другом месте нажимает по всей видимости ctrl+alt+L и у него сами проставляются точка с запятой в конце строки, кто знает как это настроить?)
Жесть конечно как тяжко всё это воспринимать человеку недавно зашедшему в спринг, по 20 раз пересматриваю каждый момент, чтобы понять что он там пытался осветить.
прям с трудом верится, что видео перед выкладыванием не было ускорено. неужели можно так быстро мыслить, говорить и жестикулировать?) однако при просмотре на скорости 0,75 понимаешь, ... не мог человек в таком состоянии прийти на свое выступление)))
А как происходит консолидация (объединение) результатов работы методов postProcessAfterInitialization разных BeanPostProcessor'ов? Ну то есть...Пусть есть 10 моих кастомных аннотаций, которые меняют логику бина, добавляя к его методам 10 соответствующих функционалов. Делаем 10 BeanPostProcessor'ов (далее BPP). Это нужно делать на стадии AfterInitialization и возвращать в методе postProcessAfterInitialization прокси с добавленным функционалом. В каком порядке сработают мои 10 BPP? Что после отработки всех 10 BPP будет в контейнере: один прокси объект (объединяет в себе все функционалы) или 10 разных прокси оберток над оригиналом? Ну то есть в итоге же я должен получить bean, к оригинальной реализации которого накручено 10 функционалов. Как это получается? Это многослойная прокси обёртка получаетя?
Думаю первый раз создастся прокси над оригинальным классом, а потом будут создавать прокси на предыдущим прокси и так 9 раз. И результирующий прокси будет выполнять весь функционал. В каком порядке будут вызываться BPP это не должно быть важно. Если это важно, т.е. Вам нужно чтобы логика одного BPP срабатывала прежде другого BPP, то тогда нужно пересмотреть эту логику и возvожно объединить в один BPP.
@@igorvasylevskyi3629 По мне, так новичку надо смотреть минимум два раза - сразу и после того как поковыряешься в спринге. Первый просмотр просто много чего в голову откладывает, а второй - уже рассортировывает.
Можно конечно. Но цель доклада немного глубже конкретной задачи профилирования). AOP ведь тоже работает через proxy, а после доклада складывается впечатление, как оно может быть реализовано.
Классный урок. Но оператора я бы выгнал. Показывать лектора крупным планом без доски большую часть времени, это супер. Наверное оператор считает, что в размахивании руками информации больше, чем в примерах на доске.
думаю нет,потому что ни хрена не поймешь. я прошел курс Алишева , написал маленький проект и даже после этого когда смотрел ничего не понял. раза 10 пересмотрел и вроде на 80% понял
28:16 - Евгений Борисов, небольшая поправка -Первый подход - это циглиб (когда класс не имеет интерфейса или класс файнал(с ваших слов)), а второй это динамик прокси. Вы просто 5ю секундами ранее говориле сначала о наследовании от классов, а потом как второй вариант от интерфейсов, и следом вы НАЗЫВАЕТЕ эти подходы как Динамик прокси и "вторым" Вы называетее циглиб.
If the target object to be proxied implements at least one interface then a JDK dynamic proxy will be used. All of the interfaces implemented by the target type will be proxied. If the target object does not implement any interfaces then a CGLIB proxy will be created.
Спринг изучаю не так давно, и все время меня коробило чувство, что за меня кучу работы делает Господь Бог. С одной стороны хорошо, но с другой - я не мог точно знать, как он это делает, а непонимание процесса до конца вызывало дискомфорт. Это все равно что играть в игру не до конца понимая её правила. С этим видео хоть что-то проясняется. Ещё заметил, что многие вещи в Спринге становятся более понятными, когда ты до этого велосипедил их вручную.
Michael Morrison Ели брать только Java SE, то тут не соглашусь, тут чистый кодинг, а вот EE и Spring , то есть где в дело вступают контейнеры, то там поначалу очень много временем уходит на понимание работы этих контейнеров, так как львиную долю работы выполняют именно они. Есть конторы, которые сводят к минимуму использование фреймворков, и пишут свои библиотеки, чтобы иметь более полный контроль над кодовой базой.
Michael Morrison Я спринг читаю в метро по дороге на работу для общего развития, прямо сплошняком по reference. Хоть и не пользуюсь, а кругозор расширяет ))
норм) обычный жизненный цикл бина... по поводу eventLiteners конечно накручено я думаю это было просто сказано в образовательных целях сомневаюсь чтобы вот так извращались в рядовых проектах обычно все заканчивается на postProcessAfterInitialization
В мене був NPE через те що я в методі postProcessAfterInitialization(Object bean, String beanName) забув змінити return null на return bean. Можливо вам допоможе)
+Roman Chmeluk В общем-то упущение в дизайне фреймворка, что он не хэндлит такое. Тем более что IDE при генерации метода по умолчанию вставляют "return null;", и это всем известно.
26:24 - "то ему придётся делать очень сложную работу..... " - Евшений Борисов, Вам удаётся совмещать стендап комеди, с обучением программированию, и программированием людей на выполнение очень сложной работы. Х))
Мда спринг очень гибок, даже слишком гибок, я лично предпочитаю больше EJB3.2 и очень стандартизированную архитектуру, блин зачем Оракл отдал JEE в Eclipse, ведь так всё было хорошо и стабильно, теперь клиенты всех хотят Спринг, теперь стринг надо всем джавистам учить.
Я 10 лет работаю с явой, примерно лет 7 назад удалил spring из все проектов и слава богу. Перешел на Guice. Но на самом деле и Guice особо не нужен. Написал свой маленький Injector. Чем меньше чужого кода в твоих проектах, тем лучше. (Hibernate кстати тоже снес)
У современных баз данных mongodb, redis, google datastore, cassandra есть своей api, плюс я использую свои утилиты или можно библиотеки написанные другими людьми. В крайнем случае можно jdbc напрямую, через опять же свои обертки. Скорость, простота и предсказуемость решения важнее, чем мнимое удобство hibernate.
Молодцы ребята,очень интересный ролик. Кто хочет почитать или просто угареть от еще одной теории о том что на земле лесов нет: www.as-gard.com/30-metrovye-kusty
Пишу из будущего прошло 300 лет, а доклад все ещё актуален
8 лет прошло, а до сих пор актуальный и информативный доклад.
Я бы даже сказал, 8 лет прошло, а более качественного материала на эту тему я на просторах сети не нашел
@@user-nv9dr7nt3d как новичок сейчас смотрю, пока мало что понятно. но, думаю, дело времени.
@@Daniel-mo1iy сюда стоит заходит когда уже прошел какой-то приличный курс по спрингу, тогда прям будет хорошо
8 лет прошло, а у нас эти фишки только начали использовать на проекте под маркой "а вот оказывается как ещё можно делать в спринге".
продлеваем: 9 лет прошло, а до сих пор актуальный и информативный доклад.
Смотрю 5й раз, с каждым разом понимаю чуть больше)
это как библию читать))
Плотность информации на одну минуту видео просто зашкаливает. Всё по делу без воды. Каждое предложение - очень ценная информация. Если по этим двум частям сделать книгу, то выйдет мануал страниц на 300, не меньше.
Спустя 10 лет мне наконец-то пригодилось! Написал свой первый бинпостпроцессор, ура!
познавательно и доходчиво, 10 постбинпроцессоров из 10
ведьмак от мира фреймворков
Бинпостпроцессоров =))
скорее 5/5, по количеству выводимых рандомом сообщений
Огромное спасибо за такое видео. Чел просто супер объясняет. Побольше бы именно такого плана видео.
Если у программистов есть хороший тон и правила чистого кода, то у ведущего (в данном случае докладчика) не должны быть "айбернейты" , "собаки", также эмм ымм бээем. При всем уважении.
@@azamatk4302 так вам шашечки или ехать? :)
@@BiteMyBrain Посмотрел далее ... Доклад отличный! По вашей аналогии, примерно как сесть в такси бомбилы из Кавказа :) Водитель с акцентом, но душевно что-то рассказывает =)
За время разработки цитатника в этом видео, я выделил топ цитат от Евгения:
1) try-catch всегда некрасиво, и плохо сказывается на нервной системе
2)
-Вы используете тесты?
-Да, мы пишем тесты
-А как вы пишите тесты?
-Ну как? - main создаем, прямо в том же классе, который надо протестировать - очень удобно. Прям там создаем объект из этого класса, запускаем, смотрим - если 17 - то нормально
3) Лучше знать, что есть проблема (null), чем жить с каким-то нулем
4) Знаете почему важно не делать грамотические ошибки? - стыдно перед заграничными партнерами
5) ...сatch пустой не буду оставлять - грех
Лучшие лекции по spring даже несмотря на дату публикации.
08:30 BeanPostProcessor
25:15 Профайлер, JMX
49:00 ApplicationListener
Спасибо!
Этот доклад прям на цитаты можно разбирать:
"Лучше получить эксепшн, чем жить с каким-то нулем",
"Не буду catch блок пустым оставлять - грех".
"трай и кетч всегда некрасиво и плохо сказывается на нервной системе" :)
Еще это: "Если у внутреннего компонента спринга класс меньше двадцати букв, то это просто несерьезно" ))
@@hramovalexey Либо как в части про профилирование: "Если стоит - то ему придется делать сложную работу"
"А кто здесь не грешил? ))"
Спасибо большое за лекцию! И отдельное спасибо за чёткую наложенную картинку с кодом!
шикарное видео, раз в годик пересматриваю с удовольствием)
Все советуют это видео новичкам в Спринге, так вот не слушайте их. Лекция явно для тех, кто уже в теме, так что если вы ничего не поняли - то нормально. Лично я вернулся к этой лекции спустя полгода работы на Спринге
вернулся спустя 3 года)
полностью согласен, гораздо полезнее тем кто уже в теме
Необязательно. Я смотрел эту лекцию до того, как написал первые строчки на спринге.
@@spirridd я смотрю и нихрена не понимаю
Посоветуете что-то новичкам?)
@@dimchik-kenshi думаю вам уже неактуально, но может кому-то из прочитавших позже будет полезно
У Алишева есть курс по Спрингу, часть которого лежит на ютубе в открытом доступе
Канал alishev, там в целом много полезного по Java
Сначала проходил Spring сам, потом делал тестовые на Spring Boot, сейчас имея небольшой опыт смотрю его лекции на стажировке. Евгений очень круто и без воды объясняет, доходчиво и понятно. Как лектор он крутой
смотрел очень давно и год назад, сейчас в третий раз смотрю и все понимаю, самый крутой видос по спрингу
ребята, это база! уважение Евгению
Один из лучших технических докладов на русском языке
на иврите же :)
Доклад очень хороший . Только недавно начал работать со Спрингом . после доклада стало намного понятнее как он работает . Супер !
Спасибо вам огромное. Один из самых приятных докладов. Евгений отлично рассказывает, все очень последовательно и по делу.
Один из лучших роликов по теме
Если поставить скорость видео на х0.5, то можно услышать как говорит Евгений после употребления Бенчмарка или Синглтона
7:18 неверное утверждение- BeanFactory создаёт singleton-бины при первом запросе, а не не при запуске контекста. А вот ApplicationContext как раз создаёт синглтоны при поднятии контекста
Да, человек умеет рассказывать. Спасибо большое.)
Лучший спикер по Java!)
Большое спасибо!
Лекция крайне плотная и информативная. Но после неё всё равно остаётся куча внутренностей, которые еще надо "потрошить", изучать)) Например, про то, как работает сканер бинов в современной версии спринга. И каким именно образом работает класс, подменяемый dynamic proxy. Хотя, когда-то я еще писал свой кривой BeanDefinitionReader и BeanFactory, так что у меня всё таки вопросов по внутренностям чуть меньше)) Погружаться в это можно очень долго. Но это интересно!
Лекция супер. Если кому интересно, то рандом так игрался из-за того, что в метод передаем не разницу, а сумму (смещаем отрезок)
Как хорошо что есть в записи! Был бы на докладе в живую, уловил бы процентов 30 только..
Пока смотрела все было понятно. На следующий день хотела повторить- вообще ниче не помню! А вообще, доклад- супер. Если эта инфа и есть в оф доках, отфильтровать ее самостоятельно было бы очень не просто
+
До сих пор лучшее видео о спринге на ютубе
Кто эти люди, которые поставили дизлайк!!??
Доклад на высоте, спасибо.
Офигительный доклад, спасибо!
Просто огонь! Спасибо.
Евгений, спасибо. Очень доступно.
считаю что работы Евгения должны спрашивать в универе и на собеседованиях на ровне с другими предметами
Легендарный доклад
это оч круто, первый раз досмотрел до конца и даже что-то понял :)
46:23 - двадцать шестое июня, четверг, воcемь вечера. Несмотря на то, что все устали от коммитов в проект, ребята нашли в себе силы прийти ещё на доклад Борисова и поразвиваться.
шедевр искусства
Шикарно!
Волшебная лекция) Спасибо)))
это сильно, браво
Отличное видео, понятным языком) Спасибо
Евгений крайне интересно вещает, запись смотрится на одном дыхании, но всё время меня не покидала мысль, что поведением похож на Александра Якушева("Курск" КВН)
а я смотрю и думаю, кого же он мне напоминает
Смотрю в 2021 и мне прямо очень заходит, могут же
11.05.2050 spring уже нет, все еще лекция актуальна
Спасибо
можно и заимплементить интерфейс BeanFactoryPostProcessor и доставать через рефлексию нужны поля, разница только в том, что BeanPostProcessor работатет уже с проиниализироваными полями обьекта, а BeanFactoryPostProcessor - после загрузки бинов в контейенер
dzone.com/articles/spring-bean-lifecycle
Gut gemachen, Evgeny!
+1 за Therion
57:32 Было у кого что ConfigurableListableBeanFactory factory выдаёт null при настройке пост прокси?
забыл
Как он делает эту магию при написании кода? пишет r и у него появляется целая строка, где он создает экземпляр класса Random. Потом в другом месте нажимает по всей видимости ctrl+alt+L и у него сами проставляются точка с запятой в конце строки, кто знает как это настроить?)
Жесть конечно как тяжко всё это воспринимать человеку недавно зашедшему в спринг, по 20 раз пересматриваю каждый момент, чтобы понять что он там пытался осветить.
"Чиню баг, которого нет, а у него всё равно баг" жиза
А где можно найти презентацию доклада?
на 0,75 нормально смотреть
Смотрю на 2.0
))))) и голос, как-будто 0,75 хряпнул
Тоже сначала увеличивал, потом вернул обычную
Да, редкий пример, когда человек не нудит и все говорит по делу. Очень хороший докладчик. Смотрел на 1 с частыми перемотками назад.
прям с трудом верится, что видео перед выкладыванием не было ускорено. неужели можно так быстро мыслить, говорить и жестикулировать?)
однако при просмотре на скорости 0,75 понимаешь, ... не мог человек в таком состоянии прийти на свое выступление)))
))))
Люди все разные, энергичный просто человек, увлеченный
Он просто это уже не первый десяток раз рассказывает, это я как экскурсионный гид говорю. Всё уже на автомате...
21 сишарперов дислайкнули
палец вверх от СЕООНЛИ!!!!!!!!
А как происходит консолидация (объединение) результатов работы методов postProcessAfterInitialization разных BeanPostProcessor'ов?
Ну то есть...Пусть есть 10 моих кастомных аннотаций, которые меняют логику бина, добавляя к его методам 10 соответствующих функционалов. Делаем 10 BeanPostProcessor'ов (далее BPP). Это нужно делать на стадии AfterInitialization и возвращать в методе postProcessAfterInitialization прокси с добавленным функционалом.
В каком порядке сработают мои 10 BPP?
Что после отработки всех 10 BPP будет в контейнере: один прокси объект (объединяет в себе все функционалы) или 10 разных прокси оберток над оригиналом?
Ну то есть в итоге же я должен получить bean, к оригинальной реализации которого накручено 10 функционалов. Как это получается? Это многослойная прокси обёртка получаетя?
Думаю первый раз создастся прокси над оригинальным классом, а потом будут создавать прокси на предыдущим прокси и так 9 раз. И результирующий прокси будет выполнять весь функционал. В каком порядке будут вызываться BPP это не должно быть важно. Если это важно, т.е. Вам нужно чтобы логика одного BPP срабатывала прежде другого BPP, то тогда нужно пересмотреть эту логику и возvожно объединить в один BPP.
если бы я так защищал свой диплом, мне бы поставили шестерку и вручили приз зрительских симпатий
Что нужно знать, чтобы это видео было полезно? Я знаю только Java Core и SQL. Будет какой-то толк? Или посоветуете что-то прочитать?
Ето точно не для новичков, ето для тех, кто уже нормально ознакомлен со Spring
Igor Vasylevskyi ну вот и я так думаю, а много людей мне советуют эти видео, когда я у них спрашиваю о инфе про спринг
@@igorvasylevskyi3629 По мне, так новичку надо смотреть минимум два раза - сразу и после того как поковыряешься в спринге. Первый просмотр просто много чего в голову откладывает, а второй - уже рассортировывает.
У enabled флага volatile не нужен?
Здесь не многопоточность
Сильно не ругайте за вопрос - только начинаю изучать spring. Разве нельзя делать профилирование такого типа через spring AOP?
Можно конечно. Но цель доклада немного глубже конкретной задачи профилирования). AOP ведь тоже работает через proxy, а после доклада складывается впечатление, как оно может быть реализовано.
Классный урок. Но оператора я бы выгнал. Показывать лектора крупным планом без доски большую часть времени, это супер. Наверное оператор считает, что в размахивании руками информации больше, чем в примерах на доске.
39:32. А если метод ничего не возвращает?
Подскажите стоит смотреть с этого если спринг не изучал до этого
думаю нет,потому что ни хрена не поймешь. я прошел курс Алишева , написал маленький проект и даже после этого когда смотрел ничего не понял. раза 10 пересмотрел и вроде на 80% понял
Лекция отличная, но раньше я думал что говорят "поднимусь повыше" скроля вниз только люди 60+
28:16 - Евгений Борисов, небольшая поправка -Первый подход - это циглиб (когда класс не имеет интерфейса или класс файнал(с ваших слов)), а второй это динамик прокси.
Вы просто 5ю секундами ранее говориле сначала о наследовании от классов, а потом как второй вариант от интерфейсов, и следом вы НАЗЫВАЕТЕ эти подходы как Динамик прокси и "вторым" Вы называетее циглиб.
Где посмотреться второй часть?
59:00 если бин создан через метод в @Configuration то getBeanClassName вернет null же?
Если речь идёт про метод, аннотированный @Bean и подобные, то насколько я знаю, спринг генерирует имя бина по имени метода.
вы не нашли ответ почему так происходит?
Думаю что getBeanClassName и здесь нормально отработает, т.к. в BeanDefinition название класса бина возьмется как имя название возвращаемого объекта
По поводу того, что спринг выбирает механизм проксирования CGlib или DynamicProxy,... он всегда использует Cglib, всегда
Доку быть хоть почитал, как он создаст Gglib, если мой бин не наследуется ни от одного интерфейса?
If the target object to be proxied implements at least one interface then a JDK dynamic proxy will be used. All of the interfaces implemented by the target type will be proxied. If the target object does not implement any interfaces then a CGLIB proxy will be created.
Не пропущена ли часть видео где Евгений с пакетом qualifiers играется?
актуально в 2019?
не очень, хотя старьіх проектов с xml есть много еще
ruclips.net/video/nGfeSo52_8A/видео.html с 2:10
Igor Vasylevskyi
👍🏼👍🏼👍🏼👍🏼
Всегда актуально, технология же не меняется.
еще ПрОфиль и профИль.))) Лекция супер.
Спринг изучаю не так давно, и все время меня коробило чувство, что за меня кучу работы делает Господь Бог. С одной стороны хорошо, но с другой - я не мог точно знать, как он это делает, а непонимание процесса до конца вызывало дискомфорт. Это все равно что играть в игру не до конца понимая её правила. С этим видео хоть что-то проясняется. Ещё заметил, что многие вещи в Спринге становятся более понятными, когда ты до этого велосипедил их вручную.
Michael Morrison Ели брать только Java SE, то тут не соглашусь, тут чистый кодинг, а вот EE и Spring , то есть где в дело вступают контейнеры, то там поначалу очень много временем уходит на понимание работы этих контейнеров, так как львиную долю работы выполняют именно они. Есть конторы, которые сводят к минимуму использование фреймворков, и пишут свои библиотеки, чтобы иметь более полный контроль над кодовой базой.
Michael Morrison Я спринг читаю в метро по дороге на работу для общего развития, прямо сплошняком по reference. Хоть и не пользуюсь, а кругозор расширяет ))
бля, теперь и я тут
ска теперь и я в вашем ебучем спринговом болоте🤦♂️
норм) обычный жизненный цикл бина... по поводу eventLiteners конечно накручено я думаю это было просто сказано в образовательных целях сомневаюсь чтобы вот так извращались в рядовых проектах обычно все заканчивается на postProcessAfterInitialization
Кидает налл поинтер. В поле BeanDefinition beanDefinition = factory.getBeanDefinition(name); factory = null
В чем проблема?
В мене був NPE через те що я в методі postProcessAfterInitialization(Object bean, String beanName) забув змінити return null на return bean. Можливо вам допоможе)
+Roman Chmeluk В общем-то упущение в дизайне фреймворка, что он не хэндлит такое. Тем более что IDE при генерации метода по умолчанию вставляют "return null;", и это всем известно.
не забыл ?
или AutowiredAnnotationBeanPostProcessor для лучшего усвоения материала )
вы не нашли ответ почему так происходит?
Так и не понял как он "решил" проблему с Lazy в самом конце.
чет у меня нет там такого плагина в списке
Не совсем то докладчик называет namespace-ами.
26:24 - "то ему придётся делать очень сложную работу..... " - Евшений Борисов, Вам удаётся совмещать стендап комеди, с обучением программированию, и программированием людей на выполнение очень сложной работы. Х))
Дайте линк на картинку, которая в начале лекции. Которая "Спринг в картинках"
vk.com/doc4606_318090168
Этот документ был удалён из общего доступа.
2014.jpoint.ru/presentations/Borisov_spring.pdf
2014.jpoint.ru/presentations/Borisov_spring.pdf
Мёд для ушей.
сахар для кода
творог для костей
Синхронизация для потоков
Москва для москвичей
Скайрим для нордов
А МОЖНО Оборватьь
top
11:37
айбернет😂👍👍👍👍
правильно будет hайбернет. букву h в русском алфавите не хватает.
Бля как же тяжко понимать, вопросов по мере просмотра только больше
я тоже не понял сразу, пересмотрел раза 2, почитал - все уложилось) главное не бросать
смотрю на протяжение 2ух лет, по два раза и только сейчас понимаю все, что тут происходит
Не знал что Гарик в Спринге шарит.
Interesting; however, despite the fact, that I understand Russian well, you're talking way too fast, man.
payback speed = 0,5; subtitles enable?)
Вот бы скорость 0,9
На Харламова чем-то похож.
мужик говорит в x2
че
Мда спринг очень гибок, даже слишком гибок, я лично предпочитаю больше EJB3.2 и очень стандартизированную архитектуру, блин зачем Оракл отдал JEE в Eclipse, ведь так всё было хорошо и стабильно, теперь клиенты всех хотят Спринг, теперь стринг надо всем джавистам учить.
че серьезно?) реально возникла проблема с тем что кастомеры говорят "не хотим ЖЕЕ"?)
Ну да иначе я бы этом здесь не писал
Я 10 лет работаю с явой, примерно лет 7 назад удалил spring из все проектов и слава богу. Перешел на Guice. Но на самом деле и Guice особо не нужен. Написал свой маленький Injector. Чем меньше чужого кода в твоих проектах, тем лучше. (Hibernate кстати тоже снес)
и как работаете з базой данных?
У современных баз данных mongodb, redis, google datastore, cassandra есть своей api, плюс я использую свои утилиты или можно библиотеки написанные другими людьми. В крайнем случае можно jdbc напрямую, через опять же свои обертки. Скорость, простота и предсказуемость решения важнее, чем мнимое удобство hibernate.
Smychagin Alexei вы один над своим проектом работаете, или остальные разработчики выучили ваш инжектор? а как же spring data, mvc, batch...
миллионы девов юзают спринг, а тут я один на белой лошади. А заказчик знает, что он оплачивает создание велосипедов за его деньги?
Предсказуемость реализации и собственный велосипед когда уже есть масса стандартных - это взаимоисключающие параграфы.
ты бесиш
Молодцы ребята,очень интересный ролик.
Кто хочет почитать или просто угареть от еще одной теории о том что на земле лесов нет:
www.as-gard.com/30-metrovye-kusty