すごい広島オンライン1 with eiel
他の参加者が一人しかいない。
Elixir人気がないようだ。
Elixirのメリット・デメリットでもだしてみよう
Elixirのメリット・デメリット
○ InteliJ IDEA CEで intelij-elixirが使える (無料!)
Scalaと比べて
○ Akka(erlangの影響を受けて開発されたライブラリ)より学習曲線が緩やか
ホットリロードが快適で、必要マシンスペックもひくい
✗ CPUが必要な処理は苦手
Erlangと比べて
○ 文法がRubyに近く読みやすい
○ Lisp由来のマクロがあり、強力
✗ エラーの内容を探るには結局erlangが読めないとおまることがある
Rubyと比べて
○ 並行処理が簡単(Rubyに限らない)
○ 内包表記やパターンマッチが使えて便利
Goと比べて
○ 別の種類の並行処理を学べる
Goはチャネルでプロセス間通信
Elixirはプロセスにメッセージを送信してプロセス間通信
✗ CPUが必要な処理は苦手
一般的なElixirのメリットをさがしてみる
Scalability
ほとんどそのまま大規模化できる
Elixirは軽量なスレッド(プロセスとよんでいる)をつかって動く
プロセスはそれぞれ独立していて、メッセージの交換によって情報交換する
なぜ、それがスケーラビリティにつながるのか?
垂直スケール
CPUが増えてもCPUパワーを使い切れる
小さなプロセスがたくさんつくるスタイルになるので、、IO待ちでもCPUパワーを使いきれる(ノンブロッキング)
水平スケール
プロセスは別のコンピュータで動いていても対話できる。コードの変更もほとんど不要
分散システム
わかりやすい具体例が欲しい
とりあえず保留
Fault-tolerance
耐障害性
壊れることを前提に設計されている
スーパーバイザーを使うと簡単にさまざまな問題に対処できる
わかりやすい具体例がほしい
日本語の入門記事あさってみる
erlangの話からはいるelixir入門のスライド
erlangの説明がよかった
日本語訳されてないところもあるけど、重要なことがまとまってる。
Elixirの特徴的な機能を使いつつ、実践的なことがかいてあるスライド
ElixirのキモとなるGenServerからいきなり入門する記事
Elixir知らない人にみてもらいやすいLTスライド
負荷テストの話とかある。Goでも同じ負荷テストしてほしい
目を通したelixir関連書籍を簡単に紹介
基本文法が主だけどOTPやマクロにも触れている
上記の本の1.6対応
入門書にかいてないようなベストプラクティス的なことがのってた。読んでおきたい1冊
Phoneixでアプリケーションをつくり、k8sにデプロイして、運用するところまでを網羅している一冊
GenStageやFlowに関する内容もある。