#author("2020-07-02T14:15:43+00:00","default:admin","admin")
#author("2020-07-02T14:17:14+00:00","default:admin","admin")
-[[Elixir初心者がOTPって結局なんなのか調べてみた:https://qiita.com/kaonash/items/d3678d5635e9d1e57ccf]]
-[[Elixir/OTPを使った分散アプリケーション:https://dev.classmethod.jp/articles/classmethod-with-elixir-and-otp/]]

-Erlangのライブラリ集
-それらを用いた並行プログラミングをしていくためのフレームワーク/デザインパターン
-OTPではOTP内のモジュールを使った便利な定番パターンのことを「Behavior」という名前で定義していて、これらを使うことでElixir(本来はその派生元であるErlang)の並行処理や堅牢なプロセス監視を簡単に実現することができる

*GenServer [#i4e8ba71]
-[[[翻訳] ElixirにおけるOTPの紹介:https://qiita.com/HirofumiTamori/items/b72ad232dc3b26e87a03]]
-[[Elixir の OTP (GenServer 編):https://qiita.com/naoya@github/items/ae17a8166e52fc463012]]

-[[はじめてなElixir(15) もっとラクに並行プログラミングする(あるいは はじめてな GenServer):https://qiita.com/kikuyuta/items/2c41082305d5ec6809da]]
-[[はじめてなElixir(16) もうすこしGenServerであそぶ:https://qiita.com/kikuyuta/items/68704e2170764ade81a0]]
-[[はじめてな Elixir(19) GenServer で定期的なお仕事をする(まだ終わってない編):https://qiita.com/kikuyuta/items/245513914eb68bd338b5]]
-[[はじめてな Elixir(20) GenServer で定期的なお仕事をする(いい加減つぎに行こうぜ編):https://qiita.com/kikuyuta/items/5776b98a1bf99962ae3a]]

-Elixirの軽量プロセス内で状態(state)を扱うためのBehavior
-メッセージパッシングで軽量プロセスに保持しておきたい状態を送って、必要な時に(同じくメッセージパッシングで)取り出すことができる
-状態が不要になったらGenServerのプロセスごと破棄すればGCの対象になって勝手にお掃除してくれる

*Supervisor [#nb90941b]
-プロセスの監視と再起動の全てを執り行うBehavior
-Elixirではプロセス上でエラーが発生したら、プロセス内でエラーハンドリングをするのではなく、もうプロセスごとクラッシュさせてしまって、それを監視するSupervisorでプロセスを再起動するなり、なにかしらエラーメッセージを吐くなりさせることが推奨されている
-Supervisorというのはシステム上にただ一つだけ存在する、というものではなく、Supervisorを監視するSupervisorを作成するなど、Tree上に監視体制を構築することが可能

*ホットスワップ [#q66b2c3c]
-[[はじめてな Elixir(30) プロセスのホットスワップをする:https://qiita.com/kikuyuta/items/94033d1da061109ea7e3]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS