Udemy [Udemy] Функциональное Программирование с Scala Cats (2022)

  • Автор темы Trinity
  • Дата начала
[Udemy] Функциональное Программирование с Scala Cats (2022)

1652043294351


Когда мы начинаем свой путь в качестве разработчика Scala, нашим первым впечатлением от языка может быть впечатление «улучшенной Java». Мы узнаем о классах, трейтах, сопоставлении с образцом и некоторых других конструкциях, которые облегчают нашу жизнь. В какой-то момент мы сталкиваемся с удивительными методами более высокого порядка, такими как map, filter и fold . Они служат отличным первым знакомством с функциональным программированием.

Но что, если я скажу вам, что есть гораздо больше, чем это? В этом курсе я покажу вам, как стандартные методы функционального программирования могут помочь вам написать более общий, надежный и тестируемый код.

Этот курс разделен на 3 основных раздела.

В первом разделе мы узнаем о классах типов. Мы будем использовать в качестве движущего примера проблему кодирования и декодирования объектов в байты и из байтов. К концу этого раздела вы сможете создавать свои собственные классы типов и использовать их шаблон для написания полиморфного кода.

Во втором разделе мы рассмотрим некоторые из наиболее распространенных классов типов в функциональном программировании, включая монады, аппликативы, функторы и многие другие. Мы будем использовать известную библиотеку Cats, чтобы предоставить нам их реализации, и мы будем использовать Discipline вместе со ScalaCheck и ScalaTest для проверки их законов. К концу этого раздела вы сможете писать допустимые экземпляры этих классов типов для любого из ваших типов и автоматически проверять их достоверность.

В третьем и последнем разделе мы научимся выполнять многие распространенные задачи программирования с функциональными структурами.

Эти задачи включают в себя:
  • Валидации через тип данных Validated
  • Внедрение зависимостей с монадой Reader
  • Отслеживание данных в наших вычислениях с монадой Writer
  • Управление состоянием с помощью монады State
  • Написание безопасных для стека вычислений с помощью Trampolines
  • Сделать вычисления ленивыми с помощью монады Eval
  • Составление стеков монад с помощью преобразователей монад, таких как ReaderT и OptionT.
  • Приостановка эффектов с помощью простой, но полезной реализации монады IO
Я большой сторонник обучения на практике, поэтому я включил множество видео-упражнений, а также викторины и задания в конце каждого раздела. Надеюсь, вам понравится делать их так же, как мне понравилось их собирать!

Без лишних слов, я хочу поприветствовать вас на курсе и в захватывающем мире функционального программирования!

Материал на английском языке

Подробнее:

Скачать:
 

Похожие темы

Trinity
Ответы
0
Просмотры
199
Trinity
Trinity
Ответы
2
Просмотры
612
Udemy.com
ATLANT ♆
ATLANT ♆
Trinity
Ответы
0
Просмотры
177
Udemy.com
Trinity
Trinity
Trinity
Ответы
0
Просмотры
192
Udemy.com
Trinity
Trinity