Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Elixirハンズオン-2017-03-11

992 visualizaciones

Publicado el

Elixirハンズオン
elixir概要

Publicado en: Tecnología
  • Sé el primero en comentar

Elixirハンズオン-2017-03-11

  1. 1. Elixirハンズオン [Elixir概要] 2017/03/11 Powered by teratail&tokyo.ex
  2. 2. Agenda • イベントの趣旨 • Elixirとは • Erlangとの関係 • OTPとは • Elixirアプリの考え方 • 基本シンタックス • 基本モジュール • ライブラリ
  3. 3. イベントの趣旨 • ハンズオンのゴール – Elixirのアプリ作成の流れを体験する – Webアプリの作成を体験する • ハンズオンでやること – Elixirアプリのプロジェクト作成 – cowboyベースのwebアプリの作成 – ErlangのモジュールをElixirから利用する • ハンズオンでやらないこと – 詳細な文法、マクロ
  4. 4. Elixirとは • ErlangのVM上で動くプログラミング言語 • 関数型言語 • コンパイラ型言語 • プロジェクト管理ツール(mix)がバンドル – プロジェクト管理、ライブラリの取得、etc – DEMO • REPL(iex)がバンドル – DEMO
  5. 5. Erlangとの関係 • Erlangのライブラリ、モジュールが利用できる – :erlang_module.erlang_func(…) – DEMO • Erlangの開発ツール – :observer.start – DEMO
  6. 6. OTPとは • Open Telecom Platform • 並行プログラミングをする際に利用されるフ レームワーク・開発環境・ライブラリ集 • 汎用的な処理のパターン(ビヘイビア)を提供 – Applicationビヘイビア (アプリ管理 – Supervisorビヘイビア (死活監視/再起動 – GenServerビヘイビア (汎用サーバー – Etc • ElixirもOTPがバンドルされている
  7. 7. Elixirアプリの考え方 • ある程度の規模のアプリは、OTPを前提に構 築される • ディレクトリ構成はほぼ規約で決まっている • 基本パターン – 1) mixでプロジェクト作成 – 2) Applicationビヘイビア(テンプレートを修正 – 3) Supervisorビヘイビア(テンプレートを修正 – 4) ロジック(モジュール)を追加していく – 5) iex –S mix で動作確認
  8. 8. 基本シンタックス(型)
  9. 9. 基本シンタックス(モジュール)
  10. 10. 基本シンタックス(パイプ)
  11. 11. 基本シンタックス(パターンマッチ1)
  12. 12. 基本シンタックス(パターンマッチ2)
  13. 13. 基本モジュール • ドキュメント – http://elixir-lang.org/docs.html – https://hexdocs.pm/elixir/Kernel.html • iex の「h <モジュール>」でドキュメント表示
  14. 14. 基本モジュール(IO)
  15. 15. 基本モジュール(Enum)
  16. 16. ライブラリ • Hex.pm(https://hex.pm)がホスティング • Git(github)からも取得可能 • 手順 – 1) mix.exs のdepsに対象ライブラリを記述 – 2) mix deps.get で取得 • depsディレクトリに配置される – 3) mix deps.compile でコンパイル • _buildディレクトリに配置される – 4) iexを起動すると自動でコンパイルされる
  17. 17. ライブラリ(erlang) • Erlangのライブラリの呼び出し – Erlangのモジュールはアトムで参照可能 – 例えば「erlang_mod」という名前のErlangモジュー ルは、「:erlang_mod」で参照できる • mix.exs の設定は、Erlangのライブラリも指定 できる • Erlangのライブラリ・モジュールは、iex 内から hでドキュメント参照できない
  18. 18. それではハンズオンへ テキスト: https://github.com/ohr486/elixir_handson_demo/wiki

×