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

More Related Content

PPTX
Elixirについて私が知ってる二、三の事柄
PPTX
Elixir言語紹介
PPTX
Elixirと他言語の比較的紹介 ver.2
PPTX
地獄のElixir(目黒スタートアップ勉強会)
PDF
関数型もモナドも分からなくてもScalaと言う言語は便利らしい
PPTX
Elixir-Conf-Japan-2017-session-ohr486
PDF
Java script
PPTX
Denosumab
Elixirについて私が知ってる二、三の事柄
Elixir言語紹介
Elixirと他言語の比較的紹介 ver.2
地獄のElixir(目黒スタートアップ勉強会)
関数型もモナドも分からなくてもScalaと言う言語は便利らしい
Elixir-Conf-Japan-2017-session-ohr486
Java script
Denosumab

Viewers also liked (13)

PDF
Strategic consulting services
DOCX
Fondos disponibles para innovación en empresas
PPTX
Re:デブ デブナイト vol.2 LT
PPTX
Looking For New 2017 Kia Soul Overview
PDF
サーバーレスの今とこれから
PDF
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
PPTX
Elixir v1.3 で入るかもしれない機能
PPTX
Bases de datos
PPTX
実録『すぐわかるPerl』〜社内ツール悲喜こもごも〜
PDF
Ferro Gusa
PPTX
3Com 1.009.916-01 / 009-3
PPTX
Ford HR Issues
Strategic consulting services
Fondos disponibles para innovación en empresas
Re:デブ デブナイト vol.2 LT
Looking For New 2017 Kia Soul Overview
サーバーレスの今とこれから
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
Elixir v1.3 で入るかもしれない機能
Bases de datos
実録『すぐわかるPerl』〜社内ツール悲喜こもごも〜
Ferro Gusa
3Com 1.009.916-01 / 009-3
Ford HR Issues
Ad

Similar to Elixirハンズオン-2017-03-11 (20)

PPTX
Elixirハンズオン2
PDF
Nerves!? Elixir!?? 関数型言語でれっつIoT開発!!
PDF
パーフェクト"Elixir情報収集"
PPTX
Elixirで関数型言語の設計を学ぶ - daimon.ex 2024-09-20
PDF
Build Dockferile with Haskell
PPTX
hello waf, hello phoenix
PPTX
Tokyoex#5 Questions
PPTX
Elixir lang bootstrap
PDF
関数型言語ElixirのIoTシステム開発への展開
KEY
PHPカンファレンス関西2012 Silex
PPTX
最新C#動向と関数型言語haskell ~命令型静的プログラミングから関数型動的プログラミングへのシフト~
PDF
Swiftアプリ制作入門 かんたんシューティングゲーム
PDF
Ember コミュニティとわたし
PDF
Scalaで学ぶ関数型超入門
PDF
Swiftでの関数型プログラミングについて考えていること
PDF
20140629 firefoxos-devenv
PPT
おとなのテキストマイニング
PDF
Azureのサーバーレスで限界を超えよう~スマートスピーカースキル開発を題材に~
PDF
Xcore introduction
PDF
Yet Another DLR for Silverlightの試作
Elixirハンズオン2
Nerves!? Elixir!?? 関数型言語でれっつIoT開発!!
パーフェクト"Elixir情報収集"
Elixirで関数型言語の設計を学ぶ - daimon.ex 2024-09-20
Build Dockferile with Haskell
hello waf, hello phoenix
Tokyoex#5 Questions
Elixir lang bootstrap
関数型言語ElixirのIoTシステム開発への展開
PHPカンファレンス関西2012 Silex
最新C#動向と関数型言語haskell ~命令型静的プログラミングから関数型動的プログラミングへのシフト~
Swiftアプリ制作入門 かんたんシューティングゲーム
Ember コミュニティとわたし
Scalaで学ぶ関数型超入門
Swiftでの関数型プログラミングについて考えていること
20140629 firefoxos-devenv
おとなのテキストマイニング
Azureのサーバーレスで限界を超えよう~スマートスピーカースキル開発を題材に~
Xcore introduction
Yet Another DLR for Silverlightの試作
Ad

More from Tsunenori Oohara (12)

PPTX
meguro.rb LT
PPTX
Elixir解答
PDF
パンチラに関する考察
PPTX
how-to-learn-elixir
PPTX
失敗という概念が存在しない退屈なweb開発
PPTX
Tokyoex6 EEx
PPTX
running-elixir-in-production
PPTX
tokyo.ex3 LT
PPTX
running web app on elixir
PPTX
elixir in production
PPTX
Shibuya.ex #1 Elixirを本番環境で使ってみたという事例紹介
PDF
地獄Spec
meguro.rb LT
Elixir解答
パンチラに関する考察
how-to-learn-elixir
失敗という概念が存在しない退屈なweb開発
Tokyoex6 EEx
running-elixir-in-production
tokyo.ex3 LT
running web app on elixir
elixir in production
Shibuya.ex #1 Elixirを本番環境で使ってみたという事例紹介
地獄Spec

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