Глибоко про Функціональне Програмування в Java 🔥

Поділитися
Вставка
  • Опубліковано 22 тра 2024
  • 👉 Приєднуйся до Bobocode Community: www.bobocode.com/
    ____________________________________________
    𝙋𝙖𝙩𝙧𝙚𝙤𝙣: / bobocode
    𝙂𝙞𝙩𝙃𝙪𝙗: github.com/bobocode-projects
    Telegram-канал: t.me/bobocode​
    Linkedin: bit.ly/2RWPQF5
    Twitter: bit.ly/3vaQiOl
    Тарас в LinkedIn: bit.ly/2ElWg8J
    Тарас в Twitter: bit.ly/33Pmuwg
    ____________________________________________
    7-ме заняття тренувальної програми Ultimate Enterprise Java (2021).
    УВАГА! Відеозапис не містить активної частини заняття.
    00:00 - Нарізка найважливіших моментів
    03:14 - Початок
    03:22 - План заняття
    03:41 - Як еволюціонує Java (JCP, JSR)
    08:01 - Чому важливо мати глибокі знання і сильні навики?
    10:00 - ЛЯМБДИ
    12:07 - Що таке лямбда?
    12:44 - Що найважливіше памʼятати про лямбди?
    13:33 - Базові функціональні інтерфейси
    14:57 - Що робити, коли в коді проблема?
    16:05 - invokeDynamic або як працюють лямбди?
    18:45 - Розбір байт коду лямбди.
    26:42 - ПОСИЛАННЯ НА МЕТОД (Method reference)
    27:35 - Основи method reference
    27:38 - 1. Посилання на статичний метод через клас
    30:00 - 2. Посилання на нестатичний метод через обʼєкт
    30:55 - 3. Посилання на нестатичний метод через клас
    34:24 - Різні посилання на той самий метод
    36:55 - Q&A
    43:03 - Детальне пояснення 3-го типу посилання на метод
    46:25 - Розбір байткоду посилання на метод (method reference)
    48:31 - Функції вищого порядку
    54:09 - Композиції функцій
    59:23 - Як композувати предикати?
    01:01:16 - На сьогодні, мабуть, все :)
    #opensource #java #education

КОМЕНТАРІ • 15

  • @Bobocode
    @Bobocode  2 роки тому +2

    👉 Навчання від Bobocode: bit.ly/3IRrJhj

  • @HaiIag
    @HaiIag 2 роки тому +2

    Дякую за відео

  • @user-nq4bt9lm2d
    @user-nq4bt9lm2d Рік тому

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

  • @eq716
    @eq716 2 роки тому

    дякую! корисно!

  • @yerm
    @yerm 2 роки тому +3

    Можете навести приклади best practices використання функціональних інтерфейсів при розробці веб застосунка? Дякую.

    • @Bobocode
      @Bobocode  2 роки тому +7

      1. Віддавати перевагу стандартним інтерфейсам (з пакету java.util.function)
      2. Використ. більш конкретний інтерфейс (напр. UnaryOperator замість Function)
      3. Використ. спеціальні інтерфейси для примітивів (напр. IntToDoubleFunction замість Function)
      4. Створювати свій інтерфесй, якщо це якась важлива абстакція і якщо ви додаєте свій javadoc
      5. Ставити @FunctionalInterface якщо створюєте свій інтерфейс

  • @baibula
    @baibula Рік тому +1

    Функціональне програмування найцікавіша штука, яку я коли-небудь бачив.

    • @Bobocode
      @Bobocode  Рік тому +1

      Клас... Думаю, що попереду у вас ще багато цікавого 😀

  • @andriikukuruza6844
    @andriikukuruza6844 2 роки тому

    дякую :)

  • @Bobocode
    @Bobocode  2 роки тому +10

    ДЗ:
    Вправа crazy-lambdas (bit.ly/3JEtdLB)

    • @goodvin8554
      @goodvin8554 Рік тому +1

      Дійсно crazy, довелось поламати мозок, дякую за вправи () -> () -> () -> "WELL DONE!" :)

  • @feoktant
    @feoktant 2 роки тому

    > Де ви ще бачили композицію функцій
    Spring WebFlux - RouterFunction, така сама ідея компонування

  • @rostyslavb1569
    @rostyslavb1569 Рік тому +1

    Як виявляється метод референт досить таки потужна тема🫣

  • @pashakislov3053
    @pashakislov3053 Рік тому

    Чому не можна викликати static method на обекті в method reference? Так не працює obj::staticmethod, а так працює obj::nonStaticMethod

    • @Bobocode
      @Bobocode  Рік тому +3

      На статичні методи потрібно посилатися через клас, а не обʼєкт.