Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
こんにちは、kojingharang です。仕事でErlangを使い始めてそろそろ2年になります。 家でPCをいじっているときはだいたい 馬場タクシー3D や 他のアプリ を作っていますが、最近区切りが良くてちょっと暇になったので、アドベントカレンダーに乗っかって Erlang の記事を書いてみます。 対象読者 Erlang の軽量プロセスやクラスタサポートは気に入っているが、その他のいろいろについて、もやっとした不満がある方 要約 こんな流れです。ここだけ見て「もう分かったよ」という方は、続きは見なくても大丈夫です。 足し算するモジュールを書こう それを gen_server 化しよう 冗長な記述をしなきゃいけなくて面倒だしバグがでそうだ そこで、面倒な記述を parse_transform で自動生成する fun_injector というのを作ったよ 冗長な記述が減ってハッピー! 考察
この文章はFabio Akitaさんの2015年11月25日付のブログ記事ExMessenger Exercise: Understanding Nodes in Elixirの翻訳です。 Fabio Akitaさんはブラジル在住で、ブログの名前からも分かる通り熱狂的なRubyistです。Ruby/Railsの世界ではかなり知られた方のようですが、最近はElixirにハマっているようです。 Elixirの作者のJose ValimがRailsのコミッタであったこととPhoenixというRails風味のWebフレームワークがあることもあってか、RubyistがElixirを使い始めるケースが増えてきているように思います。 Elixirはノード間で通信するための便利な機能を提供していて、この記事はそのチュートリアルです。 翻訳をすると流し読みをしがちなところを、精読する必要があるので、自分自身
プロセスをちゃんと終了させるのは Erlang のプログラミングでとても重要です。 gen_server を終了するにはいくつかの方法があります。 gen_server の callback init/1 {stop, Reason} を使用します。 handle_call/3 {stop, Reason, Reply, NewState} という値を戻してから終了します。 handle_cast/2 {stop, Reason, NewState} を使用します。これは call でも使えます。 cast は非同期なので戻り値は常に ok のため、 Reply は使用できません。 handle_info/2 これは call と同様 {stop, Reason, State} を使用します。 stop 18.0 で gen_server:stop/1,3 が導入されました。これは外から
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く