Курс рассчитан на программистов, уже владеющих каким-либо языком программирования, и желающим изучить Эликсир. Однако я верю, что он будет полезен и новичкам в программировании.
Курс содержит большое количество упражнений, домашних заданий и курсовой проект.
Курс доступен в формате видео-лекций и live coding на моём ютуб-аккаунте.
Формат электронной книги есть в планах, но пока не реализован.
Поддержать работу над курсом можно на Boosty.
01.01. Решаем задачу FizzBuzz.
01.02. Интерактивная консоль (iex).
02.01. Немного истории.
02.02. Важные свойства BEAM.
02.03. Свойства Эликсир.
02.04. Недостатки BEAM.
02.05. Сфера применения.
03.00. Типы данных.
03.01. Целые числа (Integer).
03.02. Числа с плавающей точкой (Float).
03.03. Булевые значения (Boolean).
03.04. Атомы и кортежи (Atom & Tuple).
03.05. Списки (List).
03.06. Словари (Map).
03.07. Строки и бинарные данные (String & Binary).
03.08. Системные типы (System Types).
03.09. Сложные типы (Complex Types).
04.01. Pattern Matching.
04.02. Pattern Matching для Map.
04.03. Конструкция case, тела функций, охранные выражения.
04.04. Конструкции cond и if.
04.05. Keyword list, синтаксический сахар и макросы.
05.01. Иммутабельность.
05.02. Устройство списков.
05.03. Рекурсия.
05.04. Хвостовая рекурсия.
05.05. Рекурсивные функции с аккумуляторами.
05.06. Неограниченная рекурсия (Unbounded recursion).
06.01. Map, Filter.
06.02. Reduce (Fold).
06.03. Модуль Enum.
06.04. Конструкторы списков.
06.05. Модуль Stream.
07.01. Создание проекта и моделирование предметной области.
07.02. Использование Map.
07.03. Использование Struct.
07.04. Struct с указанием типов.
07.05. Протокол, практика.
07.06. Протокол, теория.
07.07. Что такое функциональное программирование?
08.01. Исключения.
08.02. Классы исключений.
08.03. Пользовательские типы исключений.
08.04. Defensive Programming vs Let It Crash.
09.01. Задача на композицию функций.
09.02. Решение 1. Вложенные case.
09.03. Решение 2. Каждый case в отдельной функции.
09.04. Решение 3. Использование исключений.
09.05. Решение 4. Монада Result и оператор bind.
09.06. Решение 5. Pipeline.
09.07. Решение 6. do-нотация.
09.08. Что такое монада?
Находится здесь.