sleep rand(1.year) 年に一度は更新するであろうブログ

カフェインレスコーヒーのススメ

私、昔からカフェインを取り過ぎると体調が悪くなる体質でして、その時々によって影響のない摂取量は異なるのですが、ここ数年はだいたい2,3日連続で複数杯飲むと頭痛や倦怠感、集中力の欠如などがが出ることが多くなっています。数ヶ月ほど前、原因不明の強い倦怠感が出て発熱かと思ったらどうもカフェインが原因だったようでコーヒーをしばらく止めたら落ち着いた、なんてこともありました。

ということで、最近自宅では主にカフェインレスコーヒーを飲み、通常のコーヒーは外出時に喫茶店に入ったときくらいしか飲まないようにしてます。カフェインレスコーヒーというと昔は美味しいと思えるものがほとんどなかったのですが、現在は「え、ほんとにカフェインレス?」というクオリティのものが販売されており、十分満足できてます。そんな美味しいカフェインレスコーヒーを2つご紹介。

illy(イリー) エスプレッソ デカフェ

エスプレッソ用に粉になっているカフェインレスコーヒーです。これをエアロプレス使ってエスプレッソにしていました。以前、ロンドンに仕事で行った際に現地の同僚が買ってきていて知りました。ちょっと力が要りますが、エスプレッソマシンが無くてもエスプレッソが楽しめるのはいいですね。

加藤珈琲店 眠れる珈琲

こちらは豆のまま、もしくは中挽きしたものが買えます。illyのはエスプレッソ用でしたが、こちらはドリップ用ですね。エスプレッソも試してみましたが、illyには叶わないなという感想でした。

ちなみに、今使っているドリップ用の機材は以下の通り。どれも手頃な価格ですが、レビューにもある通りしっかりしていて全く問題ないです。

自分はカフェインの取りすぎで頭痛などの症状がでますが、中にはカフェイン中毒になり、摂取しないと禁断症状でも頭痛とかが出るような人もいるとか。カフェインの取りすぎが気になる方や、妊婦さん・授乳中のお母さんなどで「いきなりコーヒーは辞められない」という方にも、カフェインレスコーヒーはおすすめです。

ruby-progressbar

今書いているRubyのコードで大量のテキストデータが入ったファイルを別形式に変換しているのですが、変換ロジックはほぼ出来たものの、進捗状況を手軽に確認することができずにこまっていました。そこで、fuubarを思い出し、ここで使っている出力ロジックを持って来れないかと考えました。fuubarのコードを見ると、このgem自体はruby-progressbarをrspecで使うためのwrapper相当のようで、ruby-progressbarを直接使うことでコンソールにプログレスバーを出すことが出来るようになりました。requireしてProgressBar.newして使うだけなので非常に手軽です。いろいろと使い勝手がありそうなライブラリです。

The Healthy Programmer

だいぶ前にタイトルだけ見て興味を持って(電子的に)積読になっていたThe Healthy Programmerをやっと読み終わりました。本書はそのタイトルから推測できるように、プログラマー向けに「どうやって仕事をしながら健康な体を維持するか」を書いている本です。取り上げられているエクササイズなどはプログラマに限らず、デスクワークをしている人全般に適用可能なものばかりなのですが、随所にプログラマーじゃないと分からないような用語がちりばめられています。「プログラマーが楽しみながら読むことの出来る健康読本」といったところでしょうか。

自分が面白いとおもった部分をいくつか紹介します。

  • スタンディングデスクが普通のデスクより健康に良いというデータはない。ただし、立っていることで消費カロリーが増えることは期待される。もっとも大事なのは座っていても立っていても、自由に姿勢を変えられる環境(この点で上下昇降できるデスクは優れているといえる)。
  • 腱鞘炎解消のためにアレクサンダー・テクニークを紹介している。
  • ポモドーロ・テクニックを使って休憩時間に筋トレをする。

おそらく翻訳本は出ていないと思うので、読むなら英語で読むことになりますが、気になるかたはチェックしてみてはどうでしょうか。

pgsanity

PostgreSQLでSQLのsyntax errorをチェックしたいけど実際にそのテーブルはない、というケースでどうやればいいのかと調べていたら、pgsanityというツールを見つけました。その後、pgsanityでググってたらよりわかりやすいまとめページも見つかりました。

http://siguniang.wordpress.com/2013/02/23/postgresql-syntax-check-with-pgsanity/

なるほど、EXPLAINを使うという手もあったんですな。

< メソッド

今gemを作っていて、その調査でActionDispatchのコードを見ていたらこんなコードを見つけました。

unless ActionController::Base < ActionController::Testing
  ActionController::Base.class_eval do
    include ActionController::Testing
  end
end

<メソッドの存在を知らなかったので「へぇー」という感じ。

irb(main):001:0> method(:<)
NameError: undefined method `<' for class `Object'
        from (irb):1:in `method'
        from (irb):1
        from /usr/local/opt/rbenv/versions/2.1.1/bin/irb:11:in `<main>'
irb(main):002:0> Array < Integer
=> nil
irb(main):003:0> Array < Enumerable
=> true
irb(main):004:0> Array.method(:<)
=> #<Method: Class(Module)#<>

Ruby 2.1.1のマニュアルを見てみると、こんな説明が。

Returns true if mod is a subclass of other. Returns nil if there’s no relationship between the two. (Think of the relationship in terms of the class definition: “class A<B” implies “A<B”)

クラス定義で継承を使うときと同じ<を演算子として使ってるよ、とのこと。これまでRubyでクラスの継承関係調べるコードを書く機会がなかったから、そういうメソッドがあるかどうかを調べることもなかったな。。