備忘録

働きたくないでござる

Elixir チュートリアル (2) 用語編

前回: giraphme.hatenablog.com

とりあえず動かすことができたので、今回は Elixir を勉強するにあたって出会ったワードたちについてまとめていこうと思います。 ちなみに、一覧性を重視して深いことは書かないので、詳細はググッてください。決して深いことを書いてマサカリ投げられたくないからではないです。 どうせ後から増えていくので随時追加予定です。

Erlang

細かいことを書き出すと怖い人からマサカリ投げつけられそうなので簡単な紹介にしておきますが、 Wikipedia 曰く並行処理指向のプログラミング言語および実行環境らしいです。 簡単にプロセス生やせてめっちゃ早いって偉い人が言ってました。

Erlang VM

Elixir の説明を見ていると、「Erlang VM(BEAM)上で動く Ruby っぽい関数型言語」っと説明されていることが多いような気がします。
Erlang VM とは Erlang で書かれた仮想マシンで、Erlang/OTP で書かれたプログラムはこの仮想マシン上で動作させます。

Erlang/OTP

OTP is 何

Elixir

公式曰く

Elixir is a dynamic, functional language designed for building scalable and maintainable applications.

らしいです。
Elixir 自体については後日記事を書きながら紹介していきます。

iex

Elixir の REPL です。 Ruby で言う irb や pry。
brew で elixir インストールすると勝手にインストールされます。

mix

Ruby でいう Bundler 的なやつだという説明をよく見ますが、使っているところを見る限りでは Bundler よりも高機能なようです。
こいつも brew で elixir インストールすると勝手にインストールされます。

追記: Bundler はパッケージ管理ツールですが、 Mix はプロジェクト管理ツールのようです。 rails コマンドのようにプロジェクト作成などをできます。

Hex

Elixir 界隈ってググりにくいワード多すg(ry
Elixir, Erlang のパッケージ管理ツールらしいです。

Phoenix

Elixir の Web フレームワークです。

Plug

Web アプリケーションを構成するための仕様と、 Erlang VM 上で動作する Web サーバーとのアダプターらしいです。 Ruby では Rack が RailsWebrick 等の Webサーバーとの間を取り持ってくれますが、同じような役割を果たしてくれると認識しています。

Cowboy

Erlang VM 上で動作する Web サーバーです。

Ecto

Elixir の ORM です。軽量 ORM らしいけど、どこらへんが軽量なのか使ってみてから書きます。

Poison

所感

新しいこと勉強してると積本とブラウザのタブが大量増殖しますよね。
とりあえず、 すごい E 本読まないと感ヤバい。(図書館で予約した。)