ErlangでQRコードを生成する方法

ErlangでQRコードの画像を生成するのは、とても簡単です。rebarでプロジェクト管理をしていれば、なおさらです。 まず、rebar.configファイルに以下のように記述します。 [erlang] {deps, [ {qrcode, “.*”, {git, “https://github.com/coolchevy/qrcode.git”, “master”}}, … [/erlang] これでqrcodeモジュールが使...

mnesiaからオブジェクトをソートして得るには

qlc:sort()関数を使えば実現できます。例えば以下のようなRecordがあったとして、 -record(sample, {id, name, sort_order}). sort_orderでソートした結果を得るには、以下のような感じになります。 mnesia:transaction(fun() ->   QH1 = qlc:q([X || X     Sample1#sample.sort_order < Sample2#sample.sort_o...

ErlangでUUIDの生成をするには

erlang-uuidモジュールを使えば良さそう。 travis / erlang-uuid - Github 厳密に言えばmac addressとか使ってなくて完全乱数なんだけど、まぁきっと大丈夫。 追記:2012-02-20 voluntasな人に このようにご指摘いただきました。代わりのものを探してみると、こんなのもあるっぽい。 mrijkeboer / euuid - Github あと、voluntasな人からこれを勧められました。 boundary / flake...

rebar、それはErlangのビルドツール

Erlangのコンパイラと言えばerlcですが、Erlang専用のビルドツールが存在します。それがrebarです。 まず、入手から。githubから落としてきます。 git clone git://github.com/basho/rebar.git そして、rebarをビルドします。もちろんErlang OTPはインストール済みな状態からやりましょう。 cd rebar ./bootstrap これでrebarコマンドができあがります。さっそく実行してみましょう...

mnesiaのレプリケーション

最近またerlangでコードを書き始めた。こんなやつ。 [mixi_page crawler] https://github.com/yoichiro/mixi_page_crawler まさにうちの運用に怒られそうなコードです。いわゆるクローラですね。mixiページの情報を引っ張れるAPIがないので、とりあえずスクレイピングしまくってます。指定時間間隔で各ページに訪れて、新着情報のページを解析し各フィードの情報をそれぞれ抜き出します。それをerlang標準搭載のmnesiaデータベ...