What is the most awesome gem I should use to call Erlang functions from Ruby app? I wish to use rspec for testing some gen_server stuff. Erlectricity looking solid, but there is no something like Node#rpc, just message passing. Any ideas?
José Valimさん1の2016年1月12日付のブログ記事"Comparing Elixir and Erlang variables"の翻訳です。 時々Erlangのプログラマは「Elixirの変数は隠れたバグの温床になるのでは」と心配するようです。この記事ではそういう心配についてと、Erlangでの変数も「隠れたバグ」を生み出しかねず、一方でElixirはそれらのうちのいくつかを除去するということについて議論します。 話を始める前に短い放棄声明を…: Elixirは可変(mutable)な変数を持っていません。あるのは再バインドです。可変性はよくストレージと関連付けられます。Elixirでは保存された値を変更することはできません(Erlangと同じです)。可変な変数の例としてF#を見てみましょう。F#では明示的にmutableキーワード(例えばlet mutable x = 5)に
Here's an interesting article about "passing fun's to other Erlang nodes". To resume it briefly: [...] As you might know, Erlang distribution works by sending the binary encoding of terms; and so sending a fun is also essentially done by encoding it using erlang:term_to_binary/1; passing the resulting binary to another node, and then decoding it again using erlang:binary_to_term/1.[...] This is pr
I seem to not fully understand, how the -on_load directive works. In a module i have written i have a function to initialize an ets table and populate it with some data. This function works properly when calling it explicitly. However: i thought it would be nice, if the ets table would be populated "automatically" when the module is loaded. But this does not seem to work, because ets:info(filesig)
このAdvent Calendarで度々話題になって(して)いる、Riak Source Code Reading。 Erlang/OTPを全く知らない人にとっては、Erlangの文法はもちろん、ファイルやディレクトリ構成など未知のことだらけだと思う。 「Erlang/OTP何それ美味しいの」状態から脱却し、Riakのコードを楽しく読むために必要な知識を書いていこう。 用語について RiakはErlang/OTPで作成されている。 Erlangとは、エリクソン社が開発したプログラミング言語。 OTPとは、システムを作るフレームワークみたいなものだ。 RubyとRuby on Railsの関係を想像する人もいるかもしれないが、Erlang/OTPはそれより相互が依存している。 故に、正式にはErlang/OTPみたいに”ひとつ”として呼ばれることが多い。 そのOTPとは何なのか。 正式にはO
並列分散処理を得意とするerlangという関数型言語に興味のある方は多いではないでしょうか? 自分は身近にerlang識者がいたため、興味を持つ事になりました。 今回は、そんなerlangの入門として 「erlang + rebar3 + cowboy」 でHTTPサーバを構築したいと思います。 erlangについて 並列分散処理に強い関数型言語。 OTP(Open Telecom Platform)フレームワークがすばらしい。 参考書の受け売りなので、ニュアンスが間違っているかもですが、大体こんな感じで書いてました。 rebar3について Erlangアプリケーションのコンパイル等一括で行ってくれる便利なツール。 また、erlangモジュール等のdependencies(依存関係)を一括管理してくれたりもしています。 rebar3より以前にrebarが存在しましたが2016年6月現在は非
Erlang/OTPに関するアドベントカレンダーです。BEAMの管理、リリース、rebar3他パッケージマネージャ、分散環境の諸々、NIFやポートドライバ、ポエムなど、何でもどうぞ。 Elixirの話はElixirのアドベントカレンダーへどうぞ。でもElixirとErlangを一緒に使うとかそういう話はこちらでも大歓迎です。 2016年12月25日追記: 本年度のアドベントカレンダーに投稿や購読などでご参加いただいた皆様に深く感謝します。 なお、期日までに記事を書いていただけなかったためにカレンダー作成者が別の記事を代わりに投稿することになった皆様におかれましては、Qiitaのアドベントカレンダーランキングの趣旨に準じた判断をカレンダー作成者が行ったためのやむを得ない措置であったことをご理解の上ご容赦いただきたくお願い申し上げます。 今年2016年度で本カレンダーの作成者は、体力と気力の限
全国の #state{} 大好きな皆さん、あなたはどっちの引き回しが好きですか。 ちなみに、いろいろあるようです。NewState1 のように New と +1 方式、あとは ChangeState だったり、 さらには S = #state{} で S1 だったりと、完全に好み問題です。 どれがいいとかはなく、好み問題なので、皆どれが好きなのかを知りたいというのこの記事の狙いです。 サンプルコード出典 https://github.com/erlang/otp/blob/3eddb0f762de248d3230b38bc9d478bfbc8e7331/lib/ssl/src/dtls_connection.erl#L264-L272 State0 から始まり +1 されていって最後に戻すときに State になる @voluntas 案 State1 = prepare_flight(S
背景 2011年からErlang/OTPの疑似乱数モジュールがあまりにもダメなのでなんとかしようといろいろ活動していたら、OTP 18.0に新しい疑似乱数モジュールrandを組み込んでもらえるという幸運に恵まれた。そして最近さらにこのモジュールにjump functionの機能追加をする作業をした1。この過程で「OTPに自分のモジュールをコミットする」ことについて、いろいろなことがわかってきたので、この記事ではざっと要点をまとめてみようと思う。 本当にそのモジュールはOTPで必要? そもそも論として本当にそのモジュールはOTPで必要かということをまず最初に考えないといけない。OTPは、今後パッケージマネージャを活用して分割される方向にあるとはいえ、基本的にはErlangとは不可分な形でついてくることが前提になっている。ということは、OTPの変更はErlang/OTPのユーザ全員2に対して影
The basic steps of tracing for function calls are on a non-live node: > dbg:start(). % start dbg > dbg:tracer(). % start a simple tracer process > dbg:tp(Module, Function, Arity, []). % specify MFA you are interested in > dbg:p(all, c). % trace calls (c) of that MFA for all processes. ... trace here > dbg:stop_clear(). % stop tracer and clear effect of tp and p calls. You can trace for multiple fu
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く