2014-02-17

Settingslogicから「Missing setting "to_ary"」

Settingslogicを使っているアプリケーションのrspecでMissing setting `to_ary' in .../setting.ymlという感じのエラーになった。specの中にもアプリケーションコードの中にもto_aryなんて出てこないんだが?

specでコケているところを特定したり、コードをあさったりしたがよく分からず。改めてバックトレースを確認するとrspecのfull_description

続きます »

2014-01-06

dovecot-antispamが動いてなかった

迷惑メールフィルタのデータベースメンテナンスにdovecot-antispamを使っているのだが、これがきちんと動いていなかったことに気付いた。いったい何か月動いてなかったんだろう。

もう長いこと使っている迷惑メールフィルタなので、迷惑メール情報が更新されなくてもそれなりに機能してしまう。よって、まったく新しい迷惑メールがいくつも届く状況にあってようやく気付いた。

原因は設定もれ。wheezy...

続きます »

2013-12-15

Jekyllで記事を書き始めるためのRakeタスク

OctopressからJekyllにしてちょっとだけ困ったのが記事の書き始め。

Octopressには雛型っぽいものを作ってくれるRakeタスクがあった。Rakeの[〜]記法を使わなければならないのはいまいちだったが、なくなってみると困るものだ。そういうわけで、Octopressで不満だったところを自分なりの解消しつつ、なんとなくそれらしい感じに動くJekyll向けのタスクを書いてみた。(...

続きます »

2013-12-14

Rubyのエンコーディングとファイル名

昨日のまとめ。

  • ファイルを操作するスクリプトを書いたら身に覚えのないinvalid byte sequenceをくらった
  • てっきりファイル名がへんなファイルのせいだと思っていたらコマンドライン引数で変なバイト列をくわせていたからだった
  • ARGVをいじくってうまく避けるしかないのかな

そう、ファイル名の問題ではなかった。だが、そうだとしてもファイルを扱う以上はファイル名にも同じように気...

続きます »

2013-12-13

Rubyのエンコーディングとコマンドライン引数

Ruby 1.9.3以降、ファイル名の扱いでひっかかりポイントがあったんだよな。なんだったっけ?

と、ここしばらく、頭の片すみにモヤモヤが居座っていた。ついさっき、どういうことだったかを思い出せた。

最初にひっかかったのはファイルを操作するスクリプトだった。ファイル名にまつわるところに何かある、と勘違いしてしまっていたのはそのせいだろう。しかしきちんと思い出してみると、ファイル名ではなく...

続きます »

2013-12-09

agをwheezyで使う

ackよりもagというのをどこかで見て、ag使ってみるか〜と思ったらwheezyにはまだきてなかった。

やはりsidに、と心動かされるが少しがまんして、手製backportパッケージを作ることにした。

といってもこういう小さなツールはそれほど手間をかけなくてもすむことが多い。おおまかな手順を以下に。

$ apt-get source silversearcher-ag
$ sudo aptitude...

続きます »

2013-11-27

Welcome to Jekyll!

Jekyllにした。

Jykyll+Bootstrapでサイトリニューアルに触発されたのが発端。この記事を読んだときはなるほどと思ったものの、すぐに手を動かすところまではいかなかった。その後、仕事が忙しくなるとともに、つつつと手が。こういうのって部屋の掃除や模様変えと同じだね。

前回のサイト更新でOctopressにしていたので、OctopressがベースにしているJekyllにする...

続きます »

2013-11-24

sunspot:reindexのeager loading

Sunspotを使っているとき、Solrのインデックスの再構築をするにはrakeタスクのsunspot:reindexを使う。

ここでsearchableにしているモデル群に親子関係があり、インデックスにも親なり子なり孫なりの値を引いてきているならばeager loadingさせることで再構築にかかる時間を短くできる、かもしれない。個々のインデックス処理にもよるので一概には言えないが。

続きます »

2013-11-15

evalやめる

コードを読んでいてevalが出てくるとおやと引っかかる。

evalしないとどうしようもないこともある。しかしeval以外ではどうにもできないことを、あえてしなければならい状況は、そうそうあるものではないと思う。実際、よく見掛けるのは動的なインスタンス変数の参照や、メソッド呼び出しのために使われているケースだったりする。

続きます »