daily reflection

毎日の振り返り

2013-07-24

妻の誕生日

今日は妻の誕生日。仕事がもう少し落ち着いていれば夜に外食をと思っていたが、リリース週なのでお預け。初めて会った時から18年経ったことを思うと感慨深い。

そんな誕生日の日に、何故か私の服を買ってもらった。夏物バーゲンだそう。そういえば最近は着る服でモメなくなった気がする。

JavaScriptテンプレート

サーバから取得したJSONを表示する部分でJavaScriptテンプレートを使うことに。最初はjquery-tmplにしようと思ったが、開発が止まってるようなので、たまに目にするHandlebars.jsを使い、$.ajaxでサーバから取得したJSONを画面に展開する部分を作成した。

https://github.com/masayuki038/erl-shib/blob/25d43399e9e8cb5bcf5c238b93dd369f6e8b797a/priv/index.html#L55-L76

最初に誤ってhandlebars.runtime.jsをダウンロードしてしまい、Handlebars#compileメソッドがないと怒られた。どうやらプリコンパイルできるらしいので、runtimeはそっち向けなのかな。

クライアント側で柔軟にJSONを使ってレンダリングできると、サーバ側はJSONを返すことに集中できるので作りやすい。

Mnesiaのdisc_copies

作っている最中はmemoryに書き込めれば良いかな、と思っていたが、履歴のJSONを画面にレンダリングする際、都度hiveクエリを発行するのが面倒なので、disc_copiesに変更した。create_schemaを初回起動時のみ実行する、という処理をどう書いて良いか分からずググってみたら、ちょうど良いコードが。

Erlang: side effect(s) to calling mnesia:create_schema more than once?』
http://stackoverflow.com/a/1845391/1352781

create_schemaの戻り値を見れば良かったのか。そういえば未だに例外を出すべきなのか、それとも戻り値にok以外の値を設定するか、判断に困ることがある。何か良い指針があれば読んでみたいところ。