Lessons: Intermediate

Building on upon our foundation these lessons introduce topics like concurrency, error handling, and interoperability.

Custom Mix Tasks

Wie man custom Mix tasks für ein Elixir-Projekt erstellt.

Erlang-Interoperabilität

Einer der Vorteile davon, wenn man auf die Erlang VM (BEAM) aufbaut, ist der große Reichtum an vorhandenen Bibiliotheken, die wir benutzen können. Interoperabilität erlaubt uns sowohl diese als auch die Erlang-Standardbibliothek von unserem Elixir Code zu benutzen. In dieser Lektion werden wir sehen, wie man auf die Funktionalität der Standardbibliothek und Drittanbieter-Erlang-Pakete zugreift.

Fehlerbehandlung

Obwohl es üblich ist das {:error, reason}-Tupel zurückzugeben, unterstützt Elixir Exceptions und in dieser Lektion werden wir lernen, wie man Fehler behandelt und welche verschiedenen Möglichkeiten wir haben.

Üblicherweise ist die Konvention in Elixir eine Funktion (example/1) zu schreiben, welche {:ok, result} oder {:error, reason} zurückgibt und eine separate Funktion (example!/1), die das “rohe” result zurückgibt oder einen Fehler wirft.

Diese Lektion wird sich auf den zweiten Fall konzentrieren.

Ausführbare Dateien

Um ausführbare Dateien in Elixir zu erstellen werden wir escript benutzen. Escript erzeugt eine ausführbare Datei, welche auf jedem System lauffähig ist, auf dem Erlang installiert ist.

Nebenläufigkeit

Einer der wichtigsten Gründe für den Einsatz von Elixir ist die eingebaute Unterstützung von Nebenläufigkeit. Dank der Erlang VM (BEAM) ist Nebenläufigkeit in Elixir einfacher als erwartet. Die Nebenläufigkeit basiert auf dem Actor Model, bei dem ein abgeschlossener Prozess mit anderen Prozessen durch message passing kommuniziert.

In dieser Lektion werden wir uns die Nebenläufigkeitsmodule anschauen, welche mit Elixir geliefert werden. Im darauf folgenden Kapitel werden wir OTP behandeln, die diese Module implementieren.