Lessons: Intermediate

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

Ειδικές Εργασίες Mix

Δημιουργία ειδικών εργασιών Mix για τα Elixir projects σας.

Διαλειτουργικότητα με την Erlang

Ένα από τα βασικά πλεονεκτήματα του να χτίζεις πάνω στην εικονική μηχανή της Erlang (BEAM) είναι η πληθώρα των υπάρχουσων βιβλιοθηκών που μας είναι διαθέσιμες. Η διαλειτουργικότητα μας επιτρέπει να αξιοποιούμε αυτές τις βιβλιοθήκες και την βασική βιβλιοθήκη της Erlang από τον κώδικά μας σε Elixir. Σε αυτό το μάθημα θα δούμε πως να έχουμε πρόσβαση σε λειτουργίες της βασικής βιβλιοθήκης και σε πακέτα τρίτων της Erlang.

Διαχείριση Σφαλμάτων

Παρόλο που είναι πιο συνηθισμένη η επιστροφή της τούπλας {:error, reason}, η Elixir υποστηρίζει εξαιρέσεις και σε αυτό το μάθημα θα δούμε πως να χειριζόμαστε σφάλματα και τους διαφορετικούς μηχανισμούς που μας είναι διαθέσιμοι.

Γενικά η σύμβαση στην Elixir είναι να δημιουργείτε μια συνάρτηση (example/1) η οποία επιστρέφει {:ok, result} και {:error, reason} και μια ξεχωριστή συνάρτηση (example/1) που επιστρέφει το “σκέτο” result ή σηκώνει ένα σφάλμα.

Αυτό το μάθημα θα εστιάσει στην αλληλεπίδραση με την τελευταία.

Εκτελέσιμα

Για να φτιάξουμε εκτελέσιμα στην Elixir θα χρησιμοποιήσουμε την escript. Η Escript παράγει ένα εκτελέσιμο το οποίο μπορεί να τρέξει σε οποιοδήποτε σύστημα έχει εγκατασταθεί η Erlang.

Συγχρονισμός

Ένα από τα σημαντικά σημεία της Elixir είναι η υποστήριξή της για συγχρονισμό. Χάρη στην Εικονική Μηχανή της Erlang (BEAM), ο συγχρονισμός στην Elixir είναι πιο εύκολος από το αναμενόμενο. Το μοντέλο συγχρονισμού στηρίζεται στους Ηθοποιούς, μια περιορισμένη διεργασία που επικοινωνεί με άλλες διεργασίες μέσω αποστολής μηνυμάτων.

Σε αυτό το μάθημα θα δούμε τις ενότητες συγχρονισμού που έρχονται με την Elixir. Στο επόμενο κεφάλαιο θα καλύψουμε τις συμπεριφορές OTP που τις υλοποιούν.