Lessons: Intermediate

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

カスタムMixタスク

ElixirプロジェクトのためのカスタムMixタスクの作成

Erlangとの相互運用

Erlang VM (BEAM)の上で開発することによって得られる利点の1つに、既にある大量のライブラリが利用できるという事があげられます。相互運用できることで、そうしたライブラリやErlangの標準ライブラリをElixirコードから 活用することができます。このレッスンではサードパーティのErlangパッケージも併せ、標準ライブラリの関数へアクセスする方法を見ていきます。

エラーハンドリング

{:error, reason} のようなタプルを返すのが一般的とはいえ、Elixirは例外をサポートしており、このレッスンではエラーハンドリングの方法や利用可能な異なる仕組みについて見ていきます。

一般的に、Elixirでは {:ok, result}{:error, reason} を返す関数(example/1)を作成する、あるいはラップされていない result を返すかエラーを発生させる関数(example!/1)に分離するのが慣習です。

このレッスンでは後者に焦点を当てます。

実行ファイル

Elixirで実行ファイルをビルドするにはescriptを利用します。escriptはErlangがインストールされているあらゆるシステム上で動作する実行ファイルを生み出します。

並行性

Elixirの売りの1つは並行性(コンカレンシー)に対応していることです。 Erlang VM (BEAM)のおかげで、並行処理はElixirでは思ったよりも簡単です。 並行性のモデルはアクターに依存しています。アクターとはメッセージパッシングによって他のプロセスと相互通信を行う、制御されたプロセスのことです。

このレッスンではElixirとともに納められている並行モジュールを見ていきます。 続く章では並行モジュールを実装しているOTPの振舞を取り扱います。