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
🙏🏼 Задонатити на Бандеромобіль: send.monobank.ua/jar/3tSN5fDiMv 💳 Номер картки банки: 5375 4112 0850 2919
Дякую за відео.)) Про рефлексію є розділ в книжці Bruce Eckel - "On Java 8" десь на сторінок 70.
Тарас! Безмежно дякую! Дуже крутий контент і зрозумілі пояснення! до цього відео я частково теж сприймала sping як якусь не зовсім зрозумілу штуку, зараз все ще раз напишу самостійно, щоб вже остаточно з'явилось відчуття, що все створюють звичайні люди і не з магії, а завдяки своїм знанням і постійній праці! Дякую!!! 🤝
@Bobocode
6 ай бұрын
Дякую! Я дуже радий, що це відео розвіяло дух магії і додало вам ще більше впевненості.
Дякую, гарний контент, як завжди.
@Bobocode
6 ай бұрын
Дякую за підтримку! 😉
дякую за інформативне та корисне відео!
@Bobocode
6 ай бұрын
Дякую за підтримку!
Я писав чи є можливість купити цей запис. Ви не відповіли, а тут він є від вас)❤
@Bobocode
6 ай бұрын
Привіт! Пробачте, що не відповіли, може лист десь загубився. Як бачите, - всесвіт почув вас! 😉
❤
Супер пояснення!!
@Bobocode
2 ай бұрын
Дякую!
Дуже прості та змістовні пояснення. Дякую за чудовий контент! 🔥
@Bobocode
6 ай бұрын
Дякую! 😉
у першій частині, де був json, якщо я в свій ентіті поміщу колекцію або Map, то метод зламається, так?
@Bobocode
6 ай бұрын
Я думаю, ви вже знаєте відповідь. 🙂 Звичайно, кожен унікальний випадок, наприклад, Map, треба окремо опрацювати.
@caffeinejavacode1475
6 ай бұрын
@@Bobocode 🔥
Вітаю! Чи знає хтось канали або education creator-ів по python, які так класно розумілись і пояснювали як Тарас?
@Bobocode
6 ай бұрын
Вітаю! На тренувальній програмі Java Ultimate учасники використовують Python, як другу мову. Тому, хто-зна, може і цей канал з часом стане вам в пригоді 😉
мені здається чи convertToJsonHelper не враховує можливість масивів у якості полів?
@Bobocode
6 ай бұрын
Так, він багато чого не враховує, наприклад, колекції, чи мапи. Всі ці випадки треба доробляли. Цей приклад максимально простий, щоб показати загальну ідею.
можливо не туди пишу, але на якому рівні можна опрацьовувати даний матеріал? відчуваю що мені ще рано.
@Bobocode
6 ай бұрын
Привіт! Матеріал підготовлено для досвідчених (працюючих) джавістів. Тому, якщо у вас мало досвіду, чи ви початківець, то справді ще рано.