/elixir_course_junior

Учебный курс по Эликсир

Primary LanguageElixirOtherNOASSERTION

Программа курса

Урок №1. Первое знакомство с Elixir.

01.01. Решаем задачу FizzBuzz.

01.02. Интерактивная консоль (iex).

Урок №2. История, мотивация.

02.01. Немного истории.

02.02. Важные свойства BEAM.

02.03. Свойства Эликсир.

02.04. Недостатки BEAM.

02.05. Сфера применения.

Урок №3. Типы данных. Условные переходы, сопоставление с образцом.

03.00. Типы данных.

03.01. Int.

03.02. Float.

03.03. Bool.

03.04. Atom, Tuple.

03.05. List.

03.06. Map.

03.07. String, Binary.

03.08. Прочие типы.

03.09. Pattern Matching.

03.10. Control Flow.

03.11. do-end block.

Урок №4. Устройство списков. Рекурсивные функции с аккумуляторами.

04.01. Иммутабельность.

04.02. Устройство списков.

04.03. Рекурсия.

04.04. Хвостовая рекурсия.

04.05. Рекурсивные функции с аккумуляторами.

04.06. Неограниченная рекурсия (Unbounded recursion).

Урок №5. Функции высшего порядка.

05.01. Map, Filter.

05.02. Reduce (Fold).

05.03. Модуль Enum.

05.04. Конструкторы списков.

05.05. Модуль Stream.

Урок №6. Пользовательские типы данных.

06.01. Создание проекта.

06.02. Моделирование предметной области.

06.03. Struct с указанием типов.

06.04. Алгебраические типы данных.

06.05. Использование Map.

06.06. Протокол.

06.07. Record.

06.08. Что такое функциональное прогаммирование?

Урок №7. Обработка ошибок.

07.01. Исключения

07.02. Классы исключений

07.03. Пользовательские типы исключений

07.04. Defensive Programming vs Let It Crash

Урок №8. Композиция функций.

https://github.com/yzh44yzh/erl_fun_composition

Урок №9. многопоточность, OTP фреймворк.

  • isolated processes and concurrency

  • reliable concurrency (links, monitors, timeouts)

  • OTP behaviours and other system abstractions

Урок №10. GenServer.

Registry

Урок №11. Supervisor, Application.

Урок №12. Erlang Term Storage.

Урок №13. TCP и UDP сокеты.