タグ

ブックマーク / qiita.com/kojingharang (2)

  • gen_serverのI/Fをparse_transformで自動生成する - Qiita

    こんにちは、kojingharang です。仕事でErlangを使い始めてそろそろ2年になります。 家でPCをいじっているときはだいたい 馬場タクシー3D や 他のアプリ を作っていますが、最近区切りが良くてちょっと暇になったので、アドベントカレンダーに乗っかって Erlang の記事を書いてみます。 対象読者 Erlang の軽量プロセスやクラスタサポートは気に入っているが、その他のいろいろについて、もやっとした不満がある方 要約 こんな流れです。ここだけ見て「もう分かったよ」という方は、続きは見なくても大丈夫です。 足し算するモジュールを書こう それを gen_server 化しよう 冗長な記述をしなきゃいけなくて面倒だしバグがでそうだ そこで、面倒な記述を parse_transform で自動生成する fun_injector というのを作ったよ 冗長な記述が減ってハッピー! 考察

    gen_serverのI/Fをparse_transformで自動生成する - Qiita
  • 3分で分かる Erlang hot code loading - Qiita

    安っぽいタイトルを付けてしまい大変申し訳ありません。 Hot code loading とは、データはそのままでコードだけ最新のやつに差し替える Erlang VM の機能です。 うまくやると無停止で運用できるので嬉しかったりしますが、ちゃんとわかって使わないと謎の挙動に苦しむことになるのでちょっと調べてみました。 概要 まずは 公式ドキュメント を見て、一部動作を予想しつつまとめてみました。最低限、これだけ覚えておけば勝つる。 ■関数の実体 ある関数の実体が所属する世界は current, old の2種類ある. ■関数の実体の解決方法 「Fully qualified function calls」や「Fully qualified functionが入った変数」は常に current のやつを指す. そうでないものは現在実行中の関数が所属する世界のやつを指す. ■コード更新時の処理

    3分で分かる Erlang hot code loading - Qiita
  • 1