Trinity
Администратор
- Регистрация
- 10.07.21
- Сообщения
- 31.305
- Реакции
- 440.373
[Udemy] Функциональное Программирование с Scala Cats (2022)
Когда мы начинаем свой путь в качестве разработчика Scala, нашим первым впечатлением от языка может быть впечатление «улучшенной Java». Мы узнаем о классах, трейтах, сопоставлении с образцом и некоторых других конструкциях, которые облегчают нашу жизнь. В какой-то момент мы сталкиваемся с удивительными методами более высокого порядка, такими как map, filter и fold . Они служат отличным первым знакомством с функциональным программированием.
Но что, если я скажу вам, что есть гораздо больше, чем это? В этом курсе я покажу вам, как стандартные методы функционального программирования могут помочь вам написать более общий, надежный и тестируемый код.
Этот курс разделен на 3 основных раздела.
В первом разделе мы узнаем о классах типов. Мы будем использовать в качестве движущего примера проблему кодирования и декодирования объектов в байты и из байтов. К концу этого раздела вы сможете создавать свои собственные классы типов и использовать их шаблон для написания полиморфного кода.
Во втором разделе мы рассмотрим некоторые из наиболее распространенных классов типов в функциональном программировании, включая монады, аппликативы, функторы и многие другие. Мы будем использовать известную библиотеку Cats, чтобы предоставить нам их реализации, и мы будем использовать Discipline вместе со ScalaCheck и ScalaTest для проверки их законов. К концу этого раздела вы сможете писать допустимые экземпляры этих классов типов для любого из ваших типов и автоматически проверять их достоверность.
В третьем и последнем разделе мы научимся выполнять многие распространенные задачи программирования с функциональными структурами.
Эти задачи включают в себя:
Без лишних слов, я хочу поприветствовать вас на курсе и в захватывающем мире функционального программирования!
Материал на английском языке
Подробнее:
Когда мы начинаем свой путь в качестве разработчика Scala, нашим первым впечатлением от языка может быть впечатление «улучшенной Java». Мы узнаем о классах, трейтах, сопоставлении с образцом и некоторых других конструкциях, которые облегчают нашу жизнь. В какой-то момент мы сталкиваемся с удивительными методами более высокого порядка, такими как map, filter и fold . Они служат отличным первым знакомством с функциональным программированием.
Но что, если я скажу вам, что есть гораздо больше, чем это? В этом курсе я покажу вам, как стандартные методы функционального программирования могут помочь вам написать более общий, надежный и тестируемый код.
Этот курс разделен на 3 основных раздела.
В первом разделе мы узнаем о классах типов. Мы будем использовать в качестве движущего примера проблему кодирования и декодирования объектов в байты и из байтов. К концу этого раздела вы сможете создавать свои собственные классы типов и использовать их шаблон для написания полиморфного кода.
Во втором разделе мы рассмотрим некоторые из наиболее распространенных классов типов в функциональном программировании, включая монады, аппликативы, функторы и многие другие. Мы будем использовать известную библиотеку Cats, чтобы предоставить нам их реализации, и мы будем использовать Discipline вместе со ScalaCheck и ScalaTest для проверки их законов. К концу этого раздела вы сможете писать допустимые экземпляры этих классов типов для любого из ваших типов и автоматически проверять их достоверность.
В третьем и последнем разделе мы научимся выполнять многие распространенные задачи программирования с функциональными структурами.
Эти задачи включают в себя:
- Валидации через тип данных Validated
- Внедрение зависимостей с монадой Reader
- Отслеживание данных в наших вычислениях с монадой Writer
- Управление состоянием с помощью монады State
- Написание безопасных для стека вычислений с помощью Trampolines
- Сделать вычисления ленивыми с помощью монады Eval
- Составление стеков монад с помощью преобразователей монад, таких как ReaderT и OptionT.
- Приостановка эффектов с помощью простой, но полезной реализации монады IO
Без лишних слов, я хочу поприветствовать вас на курсе и в захватывающем мире функционального программирования!
Материал на английском языке
Подробнее:
Скачать:Для просмотра ссылок необходимо выполнить Вход или Регистрация
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.