Java Magic. Reflection API та Генерація байт-коду | Відеозапис вебінару

👉 Приєднуйся до Bobocode Community: www.bobocode.com/
𝙂𝙞𝙩𝙃𝙪𝙗: github.com/bobocode-projects
Telegram: t.me/bobocode​
Linkedin: bit.ly/2RWPQF5
Twitter: bit.ly/3vaQiOl
𝙋𝙖𝙩𝙧𝙚𝙤𝙣: / bobocode
Тарас в LinkedIn: bit.ly/2ElWg8J
Тарас в Twitter: bit.ly/33Pmuwg
00:00 - Початок
01:28 - Знайомство у Figma
02:45 - Порядок денний
04:08 - Зробіть це перед заняттям
05:10 - Як навчатись ефективно?
09:18 - Java Memory Model
10:42 - Зпровокувати виклик StackOverflowError I OutOfMemoryError (Завдання 1)
11:20 - Рішення до Завдання 1
12:26 - Практична робота з Reflection API
12:34 - JSON-мапери
18:33 - Реалізувати власний JSON мапер(Завдання 2)
21:55 - Reflection API
22:28 - Чому важливо розуміти Reflection API
25:38 - Як отримати доступ до класу з допомогою Reflection API?
28:25 - Як отримати доступ до приватних полів?
33:09 - Дивимось реалізацію власного JSON мапера. Рішення до Завдання 2
40:28: - 2-га частина.Basic Magic.
41:01 - Анотації в рефлексії.
42:38 - Практична частина
42:58 - Створюємо власну анотацію.
45:18 - Що зберігає анотація?
47:46 - Робимо свій ORM
52:54 - Реалізувати метод find (Завдання 3)
01:01:51 - Рішення до Завдання 3
01:07:16 - 3-тя частина. Advanced Magic. Пишемо свій “Spring”.
01:12:30 - Бібліотека Reflections для сканування пакетів.
01:14:32 - Закінчити реалізацію власного “Spring” контексту (Завдання 4)
01:17:28 - Дивимось на реалізацію власного контексту. Рішення до Завдання 4
01:20:01 - Додаткова магія. Патерн Proxy
01:22:26 - Бібліотека CGLib для роботи з Proxy.
01:25:32 - Створення Proxy.
01:31:14 - Як інджектити залежності: поле, конструктор, сеттер ?
01:32:03 - Магії немає, все створено людьми.
01:33:06 - філософія Reflection API
01:34:03 - Spring JaFu як альтернатива рефлексії
01:37:05 - Підсумки
01:38:29 - Q&A
#opensource #java #education

Пікірлер: 25

  • @Bobocode
    @Bobocode6 ай бұрын

    🙏🏼 Задонатити на Бандеромобіль: send.monobank.ua/jar/3tSN5fDiMv 💳 Номер картки банки: 5375 4112 0850 2919

  • @baibula
    @baibula5 ай бұрын

    Дякую за відео.)) Про рефлексію є розділ в книжці Bruce Eckel - "On Java 8" десь на сторінок 70.

  • @user-co7ne4xn8m
    @user-co7ne4xn8m6 ай бұрын

    Тарас! Безмежно дякую! Дуже крутий контент і зрозумілі пояснення! до цього відео я частково теж сприймала sping як якусь не зовсім зрозумілу штуку, зараз все ще раз напишу самостійно, щоб вже остаточно з'явилось відчуття, що все створюють звичайні люди і не з магії, а завдяки своїм знанням і постійній праці! Дякую!!! 🤝

  • @Bobocode

    @Bobocode

    6 ай бұрын

    Дякую! Я дуже радий, що це відео розвіяло дух магії і додало вам ще більше впевненості.

  • @Lemetrriss
    @Lemetrriss6 ай бұрын

    Дякую, гарний контент, як завжди.

  • @Bobocode

    @Bobocode

    6 ай бұрын

    Дякую за підтримку! 😉

  • @ivani7254
    @ivani72546 ай бұрын

    дякую за інформативне та корисне відео!

  • @Bobocode

    @Bobocode

    6 ай бұрын

    Дякую за підтримку!

  • @NES50
    @NES506 ай бұрын

    Я писав чи є можливість купити цей запис. Ви не відповіли, а тут він є від вас)❤

  • @Bobocode

    @Bobocode

    6 ай бұрын

    Привіт! Пробачте, що не відповіли, може лист десь загубився. Як бачите, - всесвіт почув вас! 😉

  • @GT-cv3xu
    @GT-cv3xu2 ай бұрын

  • @user-if4ts7dh5e
    @user-if4ts7dh5e4 ай бұрын

    Супер пояснення!!

  • @Bobocode

    @Bobocode

    2 ай бұрын

    Дякую!

  • @denis307wfs
    @denis307wfs6 ай бұрын

    Дуже прості та змістовні пояснення. Дякую за чудовий контент! 🔥

  • @Bobocode

    @Bobocode

    6 ай бұрын

    Дякую! 😉

  • @eq716
    @eq7166 ай бұрын

  • @alexandr6055
    @alexandr60556 ай бұрын

    у першій частині, де був json, якщо я в свій ентіті поміщу колекцію або Map, то метод зламається, так?

  • @Bobocode

    @Bobocode

    6 ай бұрын

    Я думаю, ви вже знаєте відповідь. 🙂 Звичайно, кожен унікальний випадок, наприклад, Map, треба окремо опрацювати.

  • @caffeinejavacode1475

    @caffeinejavacode1475

    6 ай бұрын

    @@Bobocode 🔥

  • @Yakob2899
    @Yakob28996 ай бұрын

    Вітаю! Чи знає хтось канали або education creator-ів по python, які так класно розумілись і пояснювали як Тарас?

  • @Bobocode

    @Bobocode

    6 ай бұрын

    Вітаю! На тренувальній програмі Java Ultimate учасники використовують Python, як другу мову. Тому, хто-зна, може і цей канал з часом стане вам в пригоді 😉

  • @lucky_bus
    @lucky_bus6 ай бұрын

    мені здається чи convertToJsonHelper не враховує можливість масивів у якості полів?

  • @Bobocode

    @Bobocode

    6 ай бұрын

    Так, він багато чого не враховує, наприклад, колекції, чи мапи. Всі ці випадки треба доробляли. Цей приклад максимально простий, щоб показати загальну ідею.

  • @Ne_ponIatno
    @Ne_ponIatno6 ай бұрын

    можливо не туди пишу, але на якому рівні можна опрацьовувати даний матеріал? відчуваю що мені ще рано.

  • @Bobocode

    @Bobocode

    6 ай бұрын

    Привіт! Матеріал підготовлено для досвідчених (працюючих) джавістів. Тому, якщо у вас мало досвіду, чи ви початківець, то справді ще рано.

Келесі