<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
  <title>iddy.jp - RSS feeds by arika</title> 
  <link>http://iddy.jp/rss/blog/arika/</link> 
  <description>RSS feeds by arika hosted at http://iddy.jp/</description>
  <language>ja</language>
  <item>
    <title>CAFE☆STAR → atelier 4fuku + cafe</title> 
    <description>
    <![CDATA[
    <p>
	CAFE☆STARが2月20日で閉店。3月末にatelier 4fuku + cafeとして新たにオープンとのこと。(<a href="http://cafestar.blog117.fc2.com/blog-entry-299.html">ソース</a>)</p>



    ]]>
    </description>
    <link>http://arika.org/2012/02/01/cafestar-4fuku</link> 
    <pubDate>Wed, 01 Feb 2012 03:51:00 -0000</pubDate>
   </item>
  <item>
    <title>2011年のまとめ</title> 
    <description>
    <![CDATA[
    <p>
	本年もお世話になりました。来年もよろしくお願いします。</p>
<p>
	以下、ぐだぐだととりとめなく。自分用に。</p>

<p>
	今年一年をふりかえってみたところ、8月の写真がまったくなかった。flickrにアップロードしていない写真すらほとんどなかった。7月と9月はそれでも数枚あり、10月以降はいくらか写真が残っていた。7月あたりから外出していなかったのを実感した。</p>
<table border="0" cellpadding="1" cellspacing="1">
	<tbody>
		<tr>
			<td>
				<a href="http://www.flickr.com/photos/arika/5359688348/" title="街路樹 by akira yamada, on Flickr"><img alt="街路樹" height="75" src="http://farm6.staticflickr.com/5209/5359688348_4b131f92ce_s.jpg" width="75" /></a></td>
			<td>
				<a href="http://www.flickr.com/photos/arika/5478134003/" title="横浜アイランドタワー by akira yamada, on Flickr"><img alt="横浜アイランドタワー" height="75" src="http://farm6.staticflickr.com/5054/5478134003_db34a9bbb6_s.jpg" width="75" /></a></td>
			<td>
				<a href="http://www.flickr.com/photos/arika/5576128396/" title="大通り公園 by akira yamada, on Flickr"><img alt="大通り公園" height="75" src="http://farm6.staticflickr.com/5297/5576128396_c4130a0cfb_s.jpg" width="75" /></a></td>
			<td>
				<a href="http://www.flickr.com/photos/arika/5649268526/" title="みなとみらい by akira yamada, on Flickr"><img alt="みなとみらい" height="75" src="http://farm6.staticflickr.com/5269/5649268526_ecf0e4293b_s.jpg" width="75" /></a></td>
		</tr>
		<tr>
			<td>
				<a href="http://www.flickr.com/photos/arika/5749310636/" title="人も車もいないね by akira yamada, on Flickr"><img alt="人も車もいないね" height="75" src="http://farm4.staticflickr.com/3396/5749310636_60638d75ab_s.jpg" width="75" /></a></td>
			<td>
				<a href="http://www.flickr.com/photos/arika/5842224642/" title="たたずむペンギン by akira yamada, on Flickr"><img alt="たたずむペンギン" height="75" src="http://farm4.staticflickr.com/3473/5842224642_079f5e6dff_s.jpg" width="75" /></a></td>
			<td>
				<a href="http://www.flickr.com/photos/arika/6579078435/" title="村上のあんみつ by akira yamada, on Flickr"><img alt="村上のあんみつ" height="75" src="http://farm8.staticflickr.com/7164/6579078435_8e1a16caa9_s.jpg" width="75" /></a></td>
			<td>
				&nbsp;</td>
		</tr>
		<tr>
			<td>
				<a href="http://www.flickr.com/photos/arika/6188260816/" title="大通り公園 by akira yamada, on Flickr"><img alt="大通り公園" height="75" src="http://farm7.staticflickr.com/6155/6188260816_b6692fb99b_s.jpg" width="75" /></a></td>
			<td>
				<a href="http://www.flickr.com/photos/arika/6579052901/" title="イスが壊れた by akira yamada, on Flickr"><img alt="イスが壊れた" height="75" src="http://farm8.staticflickr.com/7012/6579052901_503bca761b_s.jpg" width="75" /></a></td>
			<td>
				<a href="http://www.flickr.com/photos/arika/6367540187/" title="元町オープン前後 by akira yamada, on Flickr"><img alt="元町オープン前後" height="75" src="http://farm7.staticflickr.com/6036/6367540187_7327842bc3_s.jpg" width="75" /></a></td>
			<td>
				<a href="http://www.flickr.com/photos/arika/6542442107/" title="雪だるま飛んだ by akira yamada, on Flickr"><img alt="雪だるま飛んだ" height="75" src="http://farm8.staticflickr.com/7027/6542442107_e3d13085a2_s.jpg" width="75" /></a></td>
		</tr>
	</tbody>
</table>
<p>
	今年は仕事でもプライベートでも本当にあわただしかった。忙しいときとそうでないときの差が大きかった上に、忙しくなる時期をうまく予見できず実際の仕事量よりも疲労をためこんでしまった。また、浅浮き深沈みを何度か繰り返してしまい、どーんと落ち込んで無気力に陥いった。その度に迷惑をかけてしまったり、頼りまくったり、した。お世話になりっぱなしの一年だった。</p>
<p>
	今年、新たにやりたいと考えていたことはおおむねできなかった。そのうちの一つについて、なんとかとっかかりだけでもつけようと、この時期になって気力をしぼり出そうとしているような状況。来年は、と考えるのも少々つらい。</p>
<p>
	でも来年は、というよりできるだけ早い時期にあたりをつけて、その後のことを具体的に考えられるようにしよう。</p>

    ]]>
    </description>
    <link>http://arika.org/2011/12/30/year-2011</link> 
    <pubDate>Fri, 30 Dec 2011 03:30:00 -0000</pubDate>
   </item>
  <item>
    <title>まだあった1.9.3-p0化にともなうトラブル</title> 
    <description>
    <![CDATA[
    <p>
	Ruby 1.9.3に移行したところ不正なマルチバイトシーケンスであるという例外が発生するようになった。</p>
<p>
	というのはtypoのバグを放置していた自分のせいである。</p>
<p>
	最近どうだったのかは分からないが、以前のtypoはtrackbackなどの処理で長い文字列をマルチバイトシーケンスを無視して切り詰めていた。このため不正なマルチバイトシーケンスが生じることがあり、それらの文字列はそのままDBに入れられていた。こうした状況に気付かないままRuby 1.9系に移行してしまったため、特定のページを表示させようとすると不正なシーケンスであるという例外が発生する結果となる。</p>
<p>
	具体的には<tt>&quot;あいうえ\xE3...&quot;</tt>といったもので、エンコーディングはUTF-8。不正部分を取り除いて保存し直してやればよいのだが意外と手間取った。</p>


<p>
	Rubyの多言語機能を使えば、不正なマルチバイトシーケンスを無視してエンコーディング変換させることができる。これにより正しいシーケンスのみを残した文字列を生成できるのではないかと考えた。だが、これは単純には実行できなかった。次のようになる。</p>
<pre>str = &quot;あいうえ\xE3...&quot;
str.valid_encoding? #=&gt; false
str.<strong>encode(&#39;UTF-8&#39;, &#39;UTF-8&#39;, :invalid =&gt; :replace, :replace =&gt; &#39;&#39;)</strong> #=&gt; &quot;あいうえ\xE3...&quot;</pre>
<p>
	変換前のエンコーディングがUTF-8なのだが、UTF-8&rarr;UTF-8では変換が行われないということだ。次のように一度他のエンコーディングに変換すると期待通りとなる。</p>
<pre>str.<strong>encode(&#39;EUC-JP&#39;</strong>, :invalid =&gt; :replace, :replace =&gt; &#39;&#39;<strong>).encode(&#39;UTF-8&#39;)</strong> #=&gt; &quot;あいうえ...&quot;</pre>
<p>
	今回のケースでは、日本語であることが分かっており、まずまずUTF-8&rarr;EUC-JP&rarr;UTF-8でも問題なかろうという予想もついていた。件数も少ないし、これでもよいといえばよいのだが&mdash;&mdash;やっぱりちょっと手を抜きすぎているように思える。</p>
<p>
	そこで、同じやり方をIconvで行うとどうなるかを試してみた。</p>
<pre>require &#39;iconv&#39;
Iconv.<strong>iconv(&#39;UTF-8//IGNORE&#39;, &#39;UTF-8&#39;, </strong>str<strong>)</strong>.first #=&gt; &quot;あいうえ...&quot;</pre>
<p>
	こちらは期待通りの結果が得られた。Iconvについては「iconv will be deprecated in the future, use String#encode instead」とサポート終了が予告されているのだが、このようなケースではまだ使いでがある。(あまり一般的なケースではないだろうが。)</p>
<p>
	次に正規表現を使うことを考えた。鬼車のドキュメントによれば<tt>[[:print:]]</tt>により正しい文字にマッチさせられるはずだ。</p>
<pre>str.sub(/\A([\s[:print:]]+).*/, &#39;\1...&#39;) #=&gt; ArgumentError: invalid byte sequence in UTF-8</pre>
<p>
	残念。入力に不正なシーケンスが含まれていると扱えないようだ。だが、これに関していろいろ試しているうちに次の動作に気付いた。</p>
<pre>str.<strong>encode(&#39;UTF-8&#39;,&#39;UTF-8&#39;)</strong>.sub(/\A([\s[:print:]]+).*/, &#39;\1...&#39;) #=&gt; &quot;あいうえ...&quot;</pre>
<p>
	変換元、変換先に同じエンコーディングを指定して<tt>encode</tt>することで<tt>valid_encoding? #=&gt; true</tt>となる。(少なくとも今回のケースでは。)ちなみに変換元を指定しないと「ArgumentError: invalid byte sequence in UTF-8」が発生する。</p>
<p>
	とまあ、そんなような経緯の後、Iconvを使ってエラー状態から復帰することにした。</p>
<h3>
	追記(一夜明けて)</h3>
<p>
	EUC-JPではなくてUTF-16あたりを介せばよかっただけではないかと今になって気付いた。</p>
<pre>&quot;あいうえ\xE3...&quot;.encode(&quot;UTF-16&quot;, :invalid =&gt; :replace, :replace =&gt; &#39;&#39;).encode(&quot;UTF-8&quot;) #=&gt; &quot;あいうえ...&quot;</pre>
<p>
	それにしてももう少し簡単にできないだろうか。</p>

    ]]>
    </description>
    <link>http://arika.org/2011/12/09/1-8-7-to-1-9-3-p0-2</link> 
    <pubDate>Fri, 09 Dec 2011 05:31:00 -0000</pubDate>
   </item>
  <item>
    <title>Web系の開発を独学する人に: RailsによるアジャイルWebアプリケーション開発 第4版</title> 
    <description>
    <![CDATA[
    <p>
	レビューに参加させてもらったので発売よりも少し早く読むことができた。と、いうものの、仕事のスケジュールがかなりきびしい時期だったので部分的に。というよりもほんの少しだけ、といった程度の協力になってしまった。</p>
<p>
	それはともかく。レビューするとなると、普段ならざっくり飛ばし読みにしてしまうところまでじっくり読むことになる。そういうところも含めて読んでみていてふと思った。この本はwebアプリケーションの「開発」を始めたいという人のための入口にちょうどよいのではないか。</p>
<p>
	プログラミングの入門書でもweb系の題材が出てくることはおそらく珍しくないだろうと思う。ただ、そういった本の目的は、コードの一行一行を理解させること。だから、と言ってしまうと短絡的すぎるかもしれないが、多くはアプリケーションとして書いたことがきちんと動くというところが到達点になるのだと思う。</p>
<p>
	この本では、コードの一行一行の理解というところに焦点をあてていない。あ、これは前半のチュートリアル的なパートは、ということなのだけど、この部分においては、具体的なコードの細部について「きっとこのように動かすためのコードだろう」というあたりを付けられれば十分、それよりももう少し広い範囲を理解しようといった雰囲気がある。</p>
<p>
	本書は430ページほどあって、その半分ちょっとの240ページほどがチュートリアルと、本書を読みこなす上で必要となる最小限のRubyの解説に振り向けられている。そして、その前半部分のおよそ1/3あたりまで(Ruby自体の解説を除けば)コードらしいコードが出てこない。Railsのお約束に従ってアプリケーションを構築するばかりである。そして最初に書くコードはテストだった。</p>
<pre>test &quot;product attributes must not be empty&quot; do
  product = Product.new
  assert product.invalid?
  assert product.errors[:title].any?
  assert product.errors[:description].any?
  assert product.errors[:price].any?
  assert product.errors[:image_url].any?
end</pre>
<p>
	あなたが作るアプリケーションは、あなたの手を離れた環境で動作する。コードが単体で動くわけではなく、フロントエンドのHTTPサーバとか、CSSなどの外部ファイル群とか、キャッシュとか、そういった関連の中にあって運用される。そんな中で、Railsを使ってする開発というのは、どんなもので、どういうふうにすればいいのか。それを学ぼうとするのがこの本なのではないか。</p>
<p>
	このような印象となったのは、この本で扱っているRailsのバージョンが3.1だという点にもよるところがあると思う。Railsが注目されだした当初、フルスタックであるという言い方をされることがあった。その面はより実務的に進んできているように思う。その分、旧来からのRailsユーザの一部(私のような時々Rails者)にはしばしば戸惑いを感じたりもするのだが、それらを拾い集めていくと、最先端ではないにしても、また詳細に理解できるとまではいかないにしても、実際のサービスの場面で必要とされる、あなたの目の前のコード以外の様々なものの様子をとらえることができる&mdash;&mdash;んじゃないかな。と、そんなふうに思った。</p>
<table>
	<tbody>
		<tr style="vertical-align:top;">
			<td>
				<a href="http://estore.ohmsha.co.jp/titles/978427406866P">オーム社eStore(β)<br />
				PDF版 2,560円(+税)<br />
				PDF版+紙版 4,800円(+税)</a></td>
			<td>
				<a href="http://www.amazon.co.jp/gp/product/4274068668/ref=as_li_ss_il?ie=UTF8&amp;tag=aydiary-22&amp;linkCode=as2&amp;camp=247&amp;creative=7399&amp;creativeASIN=4274068668"><img border="0" src="http://ws.assoc-amazon.jp/widgets/q?_encoding=UTF8&amp;Format=_SL110_&amp;ASIN=4274068668&amp;MarketPlace=JP&amp;ID=AsinImage&amp;WS=1&amp;tag=aydiary-22&amp;ServiceVersion=20070822" /></a><img alt="" border="0" height="1" src="http://www.assoc-amazon.jp/e/ir?t=aydiary-22&amp;l=as2&amp;o=9&amp;a=4274068668" style="border:none !important; margin:0px !important;" width="1" /><br />
				<a href="http://www.amazon.co.jp/gp/product/4274068668/ref=as_li_ss_tl?ie=UTF8&amp;tag=aydiary-22&amp;linkCode=as2&amp;camp=247&amp;creative=7399&amp;creativeASIN=4274068668">amazon.co.jp</a><img alt="" border="0" height="1" src="http://www.assoc-amazon.jp/e/ir?t=aydiary-22&amp;l=as2&amp;o=9&amp;a=4274068668" style="border:none !important; margin:0px !important;" width="1" /></td>
			<td>
				<table border="0" cellpadding="0" cellspacing="0">
					<tbody>
						<tr>
							<td valign="top">
								<div style="border:1px none;margin:0px;padding:6px 0px;width:120px;text-align:center;float:left">
									<a href="http://hb.afl.rakuten.co.jp/hgc/02bd1831.30a1fc86.0786e7c9.e5bd40e1/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fbook%2f11464127%2f%3fscid%3daf_ich_link_tbl&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fbook%2fi%2f15660381%2f" target="_blank"><img alt="【送料無料】RailsによるアジャイルWebア..." border="0" src="http://hbb.afl.rakuten.co.jp/hgb/?pc=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fbook%2fcabinet%2fnoimage_01.gif%3f_ex%3d80x80&amp;m=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fbook%2fcabinet%2fnoimage_01.gif%3f_ex%3d64x64" style="margin:0px;padding:0px" /></a>
									<p style="font-size:12px;line-height:1.4em;text-align:left;margin:0px;padding:2px 6px">
										<a href="http://hb.afl.rakuten.co.jp/hgc/02bd1831.30a1fc86.0786e7c9.e5bd40e1/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fbook%2f11464127%2f%3fscid%3daf_ich_link_tbl&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fbook%2fi%2f15660381%2f" target="_blank">【送料無料】RailsによるアジャイルWebア...</a><br />
										<span style="">価格：3,360円（税込、送料別）</span></p>
								</div>
							</td>
						</tr>
					</tbody>
				</table>
			</td>
		</tr>
	</tbody>
</table>



    ]]>
    </description>
    <link>http://arika.org/2011/12/04/awdwr-4th-ja</link> 
    <pubDate>Sun, 04 Dec 2011 11:29:00 -0000</pubDate>
   </item>
  <item>
    <title>Ruby 1.9.3-p0化にともなうトラブル</title> 
    <description>
    <![CDATA[
    <p>
	変に早起きしてしまったためか急にぽっかり時間があいてしまった。そこで、ずるずる先延ばしにしていたtypoのバージョンアップを行うことにした。</p>
<p>
	コードそのものはCapistranoでdeployできるようにしてある。でも、久しぶりのことなので念のためdeploy:update_codeなど試しておく。typo自体のテストも通してみる。いくつかfailしているが、ざっと見た上で、リリースされていることでもあるから問題ないのだろうということにした。順調。だったから。ここで、ふとRuby 1.9.3化もやってしまうかと考えたのだった。</p>
<p>
	Ruby Enterprise Edition 1.8.7-2011.03から1.9.3-p0へ。軽く考えていていたのだが、まあ実際のところ、全体的にはそう大変な作業ではなかったと思う。とはいえトラブルはあった。</p>

<p>
	最初のトラブルは<a href="http://d.hatena.ne.jp/akishin999/20111123/1322017002">Ruby 1.9.3 &amp; Passenger 3.0.9 で「Unexpected end-of-file detected」</a>(ITS: <a href="http://code.google.com/p/phusion-passenger/issues/detail?id=714&amp;sort=-stars&amp;colspec=ID%20Type%20Status%20Priority%20Milestone%20Stars%20Summary">Passenger</a> <a href="http://redmine.ruby-lang.org/issues/4958">Ruby</a>)だった。まったく同じ状況になった。が、その分、同じ方法で回避できた。</p>
<p>
	ただ、こちらの環境はPassenger+Nginxであったため、Passengerの再インストールはNginxの再インストールにもつながり少々めんどうである。Passengerの<a href="https://github.com/FooBarWidget/passenger/commit/57f33639ffcfbf75be2fbd758b2beae726fcb29d">修正</a>を見てみたところ、ラッキーなことに、Ruby用の拡張ライブラリに対する変更だけであった。そこでこの変更を直接適用し、拡張ライブラリのみrebuildすることにした。(このことを忘れて後ではまるかもしれないが&hellip;&hellip;。)</p>
<p>
	次のトラブルは文字エンコーディングに関するもの。ほとんど問題なかったのだが、管理画面のうちのサイドバーの設定の部分で例外が発生した。(サイドバーが消えさってしまったので、どうなっているか見ようとしたときに気付いた。)</p>
<p>
	ビューの中でエンコーディング非互換の例外が起きている。ビューの中にロジックがあるわけではなく、メソッド呼び出しがそのまま埋め込みになる部分だった。そのため何が起きているのか逆に把握し難い。ひとまずその場でforce_encodingして表示できるようにし、何がどのように混じっているのか見てみることにした。すると、typoのサイドバー用のレコードの一部がASCII-8BITになってしまっていること、文字化けが発生していることが分かった。</p>
<p>
	これらのレコードは1.8.7で運用していたときに保存されたものである。当然、記事データなども同じなのだが、そちらでは問題は発生していない。両者の違いはserializeされているかどうかにあり、つまりYAMLの挙動にもよるようだ。文字化けのほうは、YAML上の<tt>&quot;\xE3\x81\x93&quot;</tt>のような表現の解釈の違いによる。(この形式のYAMLデータがDBに保存されていた。)</p>
<p>
	YAMLの挙動を確認してみる。</p>
<dl>
	<dt>
		Ruby 1.8.7</dt>
	<dd>
		<pre>irb(main):001:0&gt; YAML.load(&quot;--- \ntitle: \&quot;\\xE3\\x81\\x93\&quot;\n\n&quot;)
=&gt; {&quot;title&quot;=&gt;&quot;\343\201\223&quot;}</pre></dd>
	<dt>
		Ruby 1.9.3</dt>
	<dd>
		<pre>irb(main):001:0&gt; YAML.load(&quot;--- \ntitle: \&quot;\\xE3\\x81\\x93\&quot;\n\n&quot;)
=&gt; {&quot;title&quot;=&gt;&quot;ã\u0081\u0093&quot;}</pre></dd>
	<dt>
		Ruby 1.9.3 (YAML入力が<tt>!binary</tt>形式だった場合)</dt>
	<dd>
		<pre>irb(main):001:0&gt; YAML.load(&quot;--- \ntitle: !binary |\n  44GT\n\n&quot;)
=&gt; {&quot;title&quot;=&gt;&quot;\xE3\x81\x93&quot;}</pre></dd>
</dl>
<p>
	問題が発生していることは確かなのだが、その場合でも、文字エンコーディングはUTF-8になる。これがASCII-8BITになってしまったのは、どこでどうしたからなのかよく分からない。はて。(<tt>!binary</tt>形式の場合、文字化けせず、ASCII-8BITになる。)</p>
<p>
	と、そうこうしているちに空き時間を使い切りそうになってしまい&mdash;&mdash;結局、問題が起きたレコードがそれほど多くはなかったので、あらかじめとっておいたMySQLのダンプからコピー&amp;ペーストにより上書き再設定を行った。</p>
<h3>
	その後</h3>
<p>
	もう少し調べてみようと思ったのだけど、二つの環境をいったりきたりが意外にめんどうで追求できていない。ただ、YAMLに関してはデータを移行できないケースがあることがわかった。</p>
<pre>$ ruby1.8 -r yaml -ve &#39;YAML.dump(&quot;あいう&quot;, $stdout)&#39;
ruby 1.8.7 (2010-08-16 patchlevel 302) [x86_64-linux]
--- !binary |
44GC44GE44GG

(Ruby 1.9.2)
$ ruby1.8 -r yaml -e &#39;YAML.dump(&quot;あいう&quot;, $stdout)&#39; | ruby -r yaml -ve &#39;p YAML.load($stdin)&#39;
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux]
&quot;\xE3\x81\x82\xE3\x81\x84\xE3\x81\x86&quot;

(Ruby 1.9.3)
$ ruby1.8 -r yaml -e &#39;YAML.dump(&quot;あいう&quot;, $stdout)&#39; | ruby -r yaml -ve &#39;p YAML.load($stdin)&#39;
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux]
/home/akira/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/psych.rb:154:in `parse&#39;: (&lt;unknown&gt;): couldn&#39;t parse YAML at line 3 column 0 (Psych::SyntaxError)
	from /home/akira/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/psych.rb:154:in `parse_stream&#39;
	from /home/akira/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/psych.rb:125:in `parse&#39;
	from /home/akira/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/psych.rb:112:in `load&#39;
	from -e:1:in `&lt;main&gt;&#39;
</pre>
<p>
	マルチバイトというか<tt>!binary</tt>だとまずいみたい。また、<tt>!binary</tt>であっても配列やハッシュの中にあれば例外にはならない。</p>

    ]]>
    </description>
    <link>http://arika.org/2011/11/25/1-8-7-to-1-9-3-p0</link> 
    <pubDate>Fri, 25 Nov 2011 07:07:00 -0000</pubDate>
   </item>
  <item>
    <title>ArelでLIKEとかいうRails</title> 
    <description>
    <![CDATA[
    <p>
	同じ名前のカラムがあるモデルに関連があるとする。FooとBarがあってそのどちらにもname属性があるようなケース。</p>
<pre>Foo.where(:name =&gt; &#39;baz&#39;)</pre>
<p>
	これはもちろん問題なく実行できる。次のような関連を使う場合でも特に問題は起きない。</p>
<pre>Foo.joins(:bar).where(:name =&gt; &#39;baz&#39;)</pre>
<p>
	ここでハッシュ表現できないような条件を考えてみる。</p>
<pre>Foo.where(&#39;name like &quot;baz&quot;&#39;)</pre>
<p>
	これももちろん問題ないのだけれど、次のようなのになるとちょっと困ってしまう。</p>
<pre>Foo.joins(:bar).where(&#39;name like &quot;baz&quot;&#39;)</pre>
<p>
	もしもこれを実行しようとするとStatementInvalid例外が上がってくる。SQL文を生成させてみると「<tt>WHERE (<strong>name</strong> like &quot;baz&quot;)</tt>」となってしまっているのを確認できる。</p>

<p>
	whereメソッドで指定するSQL片の書き方を変えればこの状況を回避できる。ただ、ここでテーブル名を持ち出すというのには引っかかりあって、これはどうにかならないものかと思ってしまう。table_nameメソッドを使うなどしてテーブル名を書かないようにしてみたりもするが、それも少し引っかかる。</p>
<p>
	ある時、Rails 3では次のように書けるというのを知った。</p>
<pre>t = Foo.arel_table
Foo.joins(:bar).where(t[:name].matches(&#39;baz&#39;))</pre>
<p>
	こちらで生成されるSQL文では「<tt>WHERE (<strong>`foos`.`name`</strong>&nbsp;LIKE &#39;baz&#39;)</tt>」のようになり、上のような例外は発生しない。</p>
<p>
	これがArel。Arelを使うと、この他にも、たとえば「or」なんかもSQL直書きをせずにすませられる。次のようにかなり強力である。</p>
<pre>Foo.where(t[:name].eq(&#39;foo&#39;).or(t[:name].eq(&#39;bar&#39;))).order(t[:name].asc))
#=&gt; ... WHERE ((`foos`.`name` = &#39;foo&#39; OR `foos`.`name` = &#39;bar&#39;)) ORDER BY `foos`.`name` ASC</pre>
<p>
	実際、Arelは新しくなったActiveRecordを支えているものの一つであって、Rails 3でおなじみになった次のような書き方もこのArelのレイヤで可能となっている。</p>
<pre>c1 = t[:name].eq(&#39;foo&#39;)
c2 = t[:name].eq(&#39;bar&#39;)
Foo.where(c1.or c2)</pre>
<p>
	もっともこれらは例のための例といったものでもあって、このような単純なケースであれば次のように書いてしまったほうが早いかもしれない。</p>
<pre>Foo.where(t[:name].eq_any %w(foo bar))</pre>
<p>
	詳しくは<a href="http://gihyo.jp/dev/serial/01/ruby/0043?page=3">Ruby Freaks Lounge第43回 Rails 3を支える名脇役たち その1 - Arel -</a>を。どんなメソッドがあるのかについては今のところ<a href="https://github.com/rails/arel">ソースコード</a>を見るのかな。(ところでmatchesで生成されるLIKEへのESCAPEを指定する方法はあるのだろうか。)</p>

    ]]>
    </description>
    <link>http://arika.org/2011/11/22/arel</link> 
    <pubDate>Tue, 22 Nov 2011 01:43:00 -0000</pubDate>
   </item>
  <item>
    <title>ssh、socks、proxy.pac、spidermonkey、johnson</title> 
    <description>
    <![CDATA[
    <p>
	特定のホストからのみ接続できるwebサイトにアクセスしなければならない。しかし自ホストからの直接アクセスはできない。</p>
<p>
	こうしたとき、まず考えるのはproxyの利用だ。目的のwebサイトにアクセス可能な別のホスト(中間ホスト)でproxyサーバを動作させる。そしてそのproxyを経由して目的のwebサイトにアクセスする。この方法でめんどうなのは、アクセス元(自ホスト)、アクセス先(目的のwebサイト)とは本来関係のないホストで管理・運用作業が発生する点である。今後ずっと、というのでなければ採用しづらい。</p>
<p>
	次に考えるのはSSHによるポートフォワードを使った方法だ。こうした一時的な状況では、関係各ホストにSSHでならアクセスできることが多い。SSHの機能を使い、自ホストと中間ホストにトンネルを作る。webサイトへのアクセスを、このトンネルへのアクセスに代えることにより関接的なアクセスが可能となる。</p>
<pre>ssh -L 20080:www.example.com:80 proxy.exmaple.jp</pre>
<p>
	この例では自ホストの20080ポートへのアクセスが中間ホスト(proxy.example.jp)を経由して目的のwebサイト(www.example.comの80ポート)へとつながっていく。中間ホストで特別な作業は発生せず、手軽でよいのだが、一般的なブラウザでアクセスする際に「http://www.example.jp」でなはく「http://localhost:20080」を指定しなければらない問題がある。単純なところではリンク切れが起きる可能性がある。</p>
<p>
	通常通りのURLを指定して、かつ、SSHのトンネルにアクセスを導くには、SSHおよびブラウザのSOCKS対応機能を使う。</p>

<p>
	sshにはSOCKSサーバとして動作する機能がある。また、多くのブラウザは、proxy機能の一部としてSOCKSクライアントとしての動作ができるようになっている。proxy機能であるから、通常通りのURLを指定しても実際のアクセスはSOCKSサーバに振り向けられる。よってURLを「localhost」などと変えなくてもすむ。</p>
<pre>ssh -D 21080 proxy.example.jp</pre>
<p>
	ブラウザではSOCKSサーバをlocalhost、ポートを21080とする。この設定したブラウザは、すべての通信を指定のSOCKSサーバを介して行うようになる。となると、目的のwebサイト意外へのアクセスまで含めて中間サイトからアクセスする状況に陥いってしまう。これは通常やりすぎである。</p>
<p>
	SOCKSサーバの使用をアクセス先によって選択することができないか。FirefoxならFoxyProxy、ChromeならProxy Switchy。これらはまさにそのための拡張だ。ところが、現在のProxy Switchyには問題があるようで、こうした動的なproxy選択の機能が動作しない。この問題の回避方法もあるようなのだが、そのためにはシステムのproxy設定を変更することになる(そもそもそうした動作をするものであるようだ)。そして、そのための設定にはPACと呼ばれるファイルを用いる。</p>
<p>
	PACには、ブラウザがproxyの使用が必要かどうかを判定するための要件を記述できる。これまでほとんど縁がなかったため考えから抜け落ちていたのだが、前述した拡張を使うまでもなく、適切な内容でPACを作成してシステムに適用すればよい。</p>
<p>
	PACの書き方については検索すればいくつもの情報が見つかる。けれども、それらの多くで参照している大本のnetscapeのサイトが消失しておりなかなか追求できない。そのため現在では<a href="http://en.wikipedia.org/wiki/Proxy_auto-config">Wikipedia</a>を参照するのがよさそうだ。日本語では<a href="http://ash.jp/freebsd/proxy_auto.htm">プロキシの自動設定方法</a>や<a href="http://unixlife.jp/unixlife/linux/s-pac.jsp">PacファイルによるProxyの指定</a>などを併わせて読むと参考になる。今回のケースでは次のような記述をすれば十分であろう。</p>
<pre>function FindProxyForURL(url, host) {
  if (shExpMatch(url, &#39;*://www.example.jp/*&#39;)) {
    return &#39;SOCKS localhost:21080&#39;;
  }

  return &#39;DIRECT&#39;;
}</pre>
<p>
	この程度の簡単な内容であれば動作確認は簡単である、と言いたいところだが、実際のところ「()」の書き忘れをするなどということをしてしまい書き換えと確認を何度か繰り返し行った。そこで、w3cのHTML validatorのようなものはないものかと探してみたのだが見付からない。次に、結局のところPACはJavaScriptであるためコマンドラインから実行するツールを探してみたところ<a href="http://code.google.com/p/pactester/">pactester</a>が見付かった。</p>
<p>
	pactesterはJavaScriptの実装であるSpiderMonkeyと、PAC記述のためのサポートスクリプト(JavaScript)およびコマンドそのものとなるPerlスクリプトからなる。SpiderMonkeyとPerlを接続するためにJavaScript::SpiderMonkeyというライブラリを使っている。問題はこのライブラリのパッケージが手元の環境にはない点である。もちろんCPANを使うなどすればよいのだろうが&hellip;&hellip;。</p>
<p>
	別の実装はないかと探してみたがこれというものを見付けられない。SpiderMonkeyのほうで何かないかと検索範囲を広げていったところ、JavaScriptのテストというテーマの中で発表された<a href="http://d.hatena.ne.jp/secondlife/20110309/1299597318">さいきんのJavaScriptテストの資料</a>に行きあたった。同資料の中ではAjaxを含む、というよりそれをメインのターゲットにしたJavaScriptのテストを支えるテスティングフレームワークの興味深い内容に触れられている。そんな中に、今回の状況、PACのテストに使えそうなものがあった。</p>
<p>
	<a href="http://github.com/jbarnette/johnson">Johnson</a>はRubyとSpiderMonkeyを結び付けるライブラリである。前述のJavaScript::SpiderMonkeyがPerlとJavaScriptの中間に立ったように、このライブラリはRubyとSpiderMonkeyの中間に立つ。資料の本題ではEnvjsと組み合わさることでブラウザ上でのJavaScriptコードの動きをコマンドライン上で検証できる様子が示されている。もちろん、ここではそこまで高度なことは必要ない。PACを実行し、その動作が想定通りであることを確認するのが目的である。</p>
<p>
	前掲のPACのような簡単なものでもJavaScriptの組み込みではない関数が登場する。一般的なJavaScript実装においてPACの動作を検証するためには、これらの関数を何らかの形で実装しなければならない。だが、これを独自に実装するのでは本末転倒である。幸い、先に紹介したpactesterにそのためのJavaScriptコードが含まれている。pac_utils.jsがそのコードであり、もともとはmozillaのコードの一部をもとにしたものだそうだ。</p>
<p>
	pac_utils.jsがあれば十分かというと、もう少し足りない。Wikipediaの解説にもある通り、さらに二つの関数、dnsResolve()とmyIpAddress()を実行系で使用できるようにする必要がある。pactesterではこの部分をPerlコードとして実装しており、Johnsonを使うのであればRubyコードで実装することになる。このようにしてできたのが以下のPACテスト用スクリプトだ。</p>
<pre>pac_file = &#39;proxy.pac&#39;

tests = [
  # {:url =&gt; &#39;http://example.jp&#39;, :expect =&gt; &#39;proxy spec&#39;, ... }, ...
  {
    :url =&gt; &#39;http://www.example.jp/&#39;,
    :expect =&gt; &#39;SOCKS localhost:21080&#39;,
  },
  ...
]

hosts = {
  # hostname =&gt; &#39;10.1.1.1&#39;, ...
}

require &#39;uri&#39;
require &#39;socket&#39;
require &#39;rubygems&#39;
require &#39;johnson&#39;

def dns_resolve(host)
  Socket.gethostbyname(host)[3].unpack(&#39;C4&#39;).join(&#39;.&#39;)
rescue
  nil
end

runtime = Johnson::Runtime.new
runtime.load(&#39;pac_utils.js&#39;)
runtime.load(pac_file)
runtime[&#39;dnsResolve&#39;] = proc do |host|
  map[host] || dns_resolve(host)
end

failed = false
tests.each do |hash|
  runtime[&#39;url&#39;] = hash[:url]
  runtime[&#39;host&#39;] = hash[:host] || URI(hash[:url]).host
  runtime[&#39;myIpAddress&#39;] = hash[:client_ip] || &#39;10.0.0.1&#39;

  expect = hash.delete(:expect)
  proxy = runtime.evaluate(&#39;FindProxyForURL(url, host)&#39;)
  unless expect == proxy
    puts &quot;failed: #{hash.inspect} #=&gt; #{proxy} (expected #{expect})&quot;
    failed = true
  end
end

exit 1 if failed</pre>
    ]]>
    </description>
    <link>http://arika.org/2011/11/20/ssh-socks-proxy-pac-spidermonkey-johnson</link> 
    <pubDate>Sun, 20 Nov 2011 07:51:00 -0000</pubDate>
   </item>
  <item>
    <title>外に出てひきこもった一日</title> 
    <description>
    <![CDATA[
    <p>
	家の中は誘惑が多いので。そんな気分になってきたので久しぶりに外出することにした。スターバックスでお仕事。</p>
<p>
	日曜だということもあってか、全体的にさわがしくて気が散らなくてよかった。電源があるかどうかは確認しなかったけど、思いのほかはかどったので電池切れになる前に一段落つけることができた。</p>
<p>
	いや、実のところ、もう少しで一段落というところで、きつーい香水をこれでもかってほどふりかけてきたらしき中年女性が入ってきて、しばらく気付かなかったのだけど、リアルに噎せかえるというのをやらかしてしまったのだった。もう少し、もう少し、と言いきかせながら息を止めぎみでcommit。一段落させた。</p>
<p>
	帰りについでに本屋に寄ったら気になる本が三点ばかり。</p>
<ul>
	<li>
		鎌倉・横浜・湘南今昔歩く地図帖 - 古い地図や風景写真と今とを並べて紹介、解説しているという内容。ぱらぱらめくるだけでも楽しかった。今度鎌倉に行くときには買っていこうかな。</li>
	<li>
		日本人はなぜ日本のことを知らないのか - 帯に「ここが最古の国って知ってた?」というようなことが書いてあって気になった。前書きをざっとながめたところではあおるようなトーンでもなさそうな感じだった。</li>
	<li>
		コーヒーもう一杯 - 小説。カフェを開業することになった女性の話、みたい。帰ってからずんずん気になってきて、中身をたしかめてから帰ればよかったなと今になって。</li>
</ul>
<table border="0">
	<tbody>
		<tr>
			<td>
				楽天ブックス<br />
				<span style="font-size:smaller;"><a href="http://hb.afl.rakuten.co.jp/hgc/02bd1831.30a1fc86.0786e7c9.e5bd40e1/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fbook%2f11373035%2f%3fscid%3daf_ich_link_txt&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fbook%2fi%2f15583124%2f" target="_blank">鎌倉・横浜・湘南今昔歩く地図帖</a></span></td>
			<td>
				楽天ブックス<br />
				<span style="font-size:smaller;"><a href="http://hb.afl.rakuten.co.jp/hgc/02bd1831.30a1fc86.0786e7c9.e5bd40e1/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fbook%2f11342341%2f%3fscid%3daf_ich_link_txt&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fbook%2fi%2f15556362%2f" target="_blank">日本人はなぜ日本のことを知らないのか</a></span></td>
			<td>
				楽天ブックス<br />
				<span style="font-size:smaller"><a href="http://hb.afl.rakuten.co.jp/hgc/02bd1831.30a1fc86.0786e7c9.e5bd40e1/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fbook%2f11387310%2f%3fscid%3daf_ich_link_txt&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fbook%2fi%2f15593362%2f" target="_blank">コーヒーもう一杯</a></span></td>
		</tr>
		<tr>
			<td>
				Amazon<br />
				<a href="http://www.amazon.co.jp/gp/product/4054051030/ref=as_li_ss_il?ie=UTF8&amp;tag=aydiary-22&amp;linkCode=as2&amp;camp=247&amp;creative=7399&amp;creativeASIN=4054051030"><img border="0" src="http://ws.assoc-amazon.jp/widgets/q?_encoding=UTF8&amp;Format=_SL160_&amp;ASIN=4054051030&amp;MarketPlace=JP&amp;ID=AsinImage&amp;WS=1&amp;tag=aydiary-22&amp;ServiceVersion=20070822" /></a><img alt="" border="0" height="1" src="http://www.assoc-amazon.jp/e/ir?t=aydiary-22&amp;l=as2&amp;o=9&amp;a=4054051030" style="border:none !important; margin:0px !important;" width="1" /></td>
			<td>
				Amazon<br />
				<a href="http://www.amazon.co.jp/gp/product/4569799337/ref=as_li_ss_il?ie=UTF8&amp;tag=aydiary-22&amp;linkCode=as2&amp;camp=247&amp;creative=7399&amp;creativeASIN=4569799337"><img border="0" src="http://ws.assoc-amazon.jp/widgets/q?_encoding=UTF8&amp;Format=_SL160_&amp;ASIN=4569799337&amp;MarketPlace=JP&amp;ID=AsinImage&amp;WS=1&amp;tag=aydiary-22&amp;ServiceVersion=20070822" /></a><img alt="" border="0" height="1" src="http://www.assoc-amazon.jp/e/ir?t=aydiary-22&amp;l=as2&amp;o=9&amp;a=4569799337" style="border:none !important; margin:0px !important;" width="1" /></td>
			<td>
				Amazon<br />
				<a href="http://www.amazon.co.jp/gp/product/410301752X/ref=as_li_ss_il?ie=UTF8&amp;tag=aydiary-22&amp;linkCode=as2&amp;camp=247&amp;creative=7399&amp;creativeASIN=410301752X"><img border="0" src="http://ws.assoc-amazon.jp/widgets/q?_encoding=UTF8&amp;Format=_SL160_&amp;ASIN=410301752X&amp;MarketPlace=JP&amp;ID=AsinImage&amp;WS=1&amp;tag=aydiary-22&amp;ServiceVersion=20070822" /></a><img alt="" border="0" height="1" src="http://www.assoc-amazon.jp/e/ir?t=aydiary-22&amp;l=as2&amp;o=9&amp;a=410301752X" style="border:none !important; margin:0px !important;" width="1" /></td>
		</tr>
	</tbody>
</table>
<p>
	帰りにちょっとだけぶらついてみた。ゆっくり歩く。二の酉が明日ということで準備をしているようだった。</p>
<p>
	<a href="http://www.flickr.com/photos/arika/6339293133/" title="空 by akira yamada, on Flickr"><img alt="空" height="240" src="http://farm7.static.flickr.com/6225/6339293133_f6ae4df464_m.jpg" width="180" /></a> <a href="http://www.flickr.com/photos/arika/6340041210/" title="関内の夕方 by akira yamada, on Flickr"><img alt="関内の夕方" height="240" src="http://farm7.static.flickr.com/6045/6340041210_db80ea2392_m.jpg" width="180" /></a> <a href="http://www.flickr.com/photos/arika/6340041428/" title="二の酉準備中 by akira yamada, on Flickr"><img alt="二の酉準備中" height="240" src="http://farm7.static.flickr.com/6107/6340041428_a491967903_m.jpg" width="180" /></a></p>



    ]]>
    </description>
    <link>http://arika.org/2011/11/13/working</link> 
    <pubDate>Sun, 13 Nov 2011 01:26:00 -0000</pubDate>
   </item>
  <item>
    <title>まんが雑誌の読み方</title> 
    <description>
    <![CDATA[
    <ol>
	<li>
		アンケート用紙を切り離す</li>
	<li>
		自由記入が求められる項目の要件を把握する</li>
	<li>
		ペンを用意する</li>
	<li>
		アンケートを書き込みながら読み進める</li>
	<li>
		読み終える</li>
	<li>
		投函する</li>
</ol>
<p>
	好きなまんががちゃんと続いてくれるためにはやっておいたほうが良いのだなと、かなり今更なのだけど思うようになったので。いつもいつもでなくても「これだけは」という連載や読み切りがあったときには送ろうと思う。</p>
<p>
	ただまあイス取りゲームなんだよね。やっぱり。</p>



    ]]>
    </description>
    <link>http://arika.org/2011/11/04/manga-zasshi</link> 
    <pubDate>Fri, 04 Nov 2011 08:58:00 -0000</pubDate>
   </item>
  <item>
    <title>今なら36%オフな「徳丸本」PDF版を買った</title> 
    <description>
    <![CDATA[
    <p>
	「体系的に学ぶ 安全なWebアプリケーションの作り方」の<a href="http://bookpub.jp/books/bp/144">DRMなしのPDF版</a>が10/17までお安くなっているということで、紙版を持っていたのだけど購入した。</p>
<p>
	PDF版も買ったのは、なんせ紙版はでかくて重いから。ボリュームたっぷりなので検索できるのはうれしいし。紙版を買うタイミングでPDF版もあれば(別に安くなくても)PDF版を買っただろうと思う。もちろん今と同じくDRMなし、つまり特定デバイスしばりなしならば、という条件は付けたろうけど。</p>
<p>
	ところで、この本を手にすべきかどうか迷っている人は、まずこの本の目次なり紹介なりに目を通してみて、その上で「これは読まなくてよい」と確信できないならば読んだほうがよいと思う。(あ、もちろん、このテーマに興味があるとか業務で関わっているとかというのが前提だけど。)</p>
<p>
	これから買うなら、PDFで「読書」する環境をすでに整えている人はPDF版がお得だろう。特に今は、ってまあ言うまでもないけど。他方、紙以外での読書になじみがなく、かつ、通読したいという場合にはもしかすると紙のほうが扱いやすいかもしれない。</p>
<table>
	<tbody>
		<tr>
			<td>
				<iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=FFFFFF&amp;IS2=1&amp;nou=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=aydiary-22&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=ss_til&amp;asins=4797361190" style="width:120px;height:240px;"></iframe></td>
			<td>
				<table border="0" cellpadding="0" cellspacing="0">
					<tbody>
						<tr>
							<td valign="top">
								<div style="border:1px none;margin:0px;padding:6px 0px;width:160px;text-align:center;float:left">
									<a href="http://hb.afl.rakuten.co.jp/hgc/02bd1831.30a1fc86.0786e7c9.e5bd40e1/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fbook%2f6994894%2f%3fscid%3daf_ich_link_tbl&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fbook%2fi%2f14382532%2f" target="_blank"><img alt="【送料無料】体系的に学ぶ安全なWebアプリケ-ションの作り方" border="0" src="http://hbb.afl.rakuten.co.jp/hgb/?pc=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fbook%2fcabinet%2f1193%2f9784797361193.jpg%3f_ex%3d128x128&amp;m=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fbook%2fcabinet%2f1193%2f9784797361193.jpg%3f_ex%3d80x80" style="margin:0px;padding:0px" /></a>
									<p style="font-size:12px;line-height:1.4em;text-align:left;margin:0px;padding:2px 6px">
										<a href="http://hb.afl.rakuten.co.jp/hgc/02bd1831.30a1fc86.0786e7c9.e5bd40e1/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fbook%2f6994894%2f%3fscid%3daf_ich_link_tbl&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fbook%2fi%2f14382532%2f" target="_blank">【送料無料】体系的に学ぶ安全なWebアプリケ-ションの作り方</a><br />
										<span style="">価格：3,360円（税込、送料別）</span></p>
								</div>
							</td>
						</tr>
					</tbody>
				</table>
			</td>
		</tr>
	</tbody>
</table>
<p>
	やはりいったりきたりしながら読み進めるときは紙のほうがまだ楽かな。指三本くらいはさんでたりとかできるし。もっとも、この本を読むときにそんなに指をはさんでおかなければならないかというと、そうでもないんじゃないかなとも思うけど。</p>



    ]]>
    </description>
    <link>http://arika.org/2011/10/07/developing-secure-web-applications-pdf-edition</link> 
    <pubDate>Fri, 07 Oct 2011 07:19:00 -0000</pubDate>
   </item>
  <item>
    <title>キッチンのカレー</title> 
    <description>
    <![CDATA[
    <p>
	関内あたりのカレーといえばキッチンかアルペンジロー。久しぶりにキッチンで食べた。</p>
<p>
	なかなか行けないのは量が多いため。値段も相応に高めではあるのだけど、それでも十分なボリュームがある。具がたっぷり&mdash;&mdash;野菜カレーならどっさり、といった具合い。数年ぶりでも変わりなし。ただメニューは少し増えているような気がする。</p>
<p>
	<a href="http://www.flickr.com/photos/arika/6187736503/" title="ハンバーグ&amp;ビーフカレー by akira yamada, on Flickr"><img alt="ハンバーグ&amp;ビーフカレー" height="180" src="http://farm7.static.flickr.com/6152/6187736503_85391d488f_m.jpg" width="240" /></a> <a href="http://www.flickr.com/photos/arika/6187738281/" title="カツカレー by akira yamada, on Flickr"><img alt="カツカレー" height="180" src="http://farm7.static.flickr.com/6169/6187738281_e23ecc6a19_m.jpg" width="240" /></a></p>
<p>
	食後、めがねの鼻あてがひんまがってしまっていたのを直してもらいに行って、その道中でセール中であることを知ったかずさ屋で雅芋などを買ってきた。</p>



    ]]>
    </description>
    <link>http://arika.org/2011/09/27/curry-house-kitchen</link> 
    <pubDate>Tue, 27 Sep 2011 10:32:00 -0000</pubDate>
   </item>
  <item>
    <title>FUSE</title> 
    <description>
    <![CDATA[
    <p>
	<a href="http://www.flickr.com/photos/arika/6184465321/" title="ヒューズ by akira yamada, on Flickr"><img alt="ヒューズ" height="375" src="http://farm7.static.flickr.com/6161/6184465321_a01ba53d02.jpg" width="500" /></a></p>
<p>
	我が家で現役、現存する(おそらく)ただ一つのヒューズ。見えないところには他にもあったりするのかな。</p>



    ]]>
    </description>
    <link>http://arika.org/2011/09/27/fuse</link> 
    <pubDate>Tue, 27 Sep 2011 01:05:00 -0000</pubDate>
   </item>
  <item>
    <title>18時までは禁煙のZOULI Cafe</title> 
    <description>
    <![CDATA[
    <p>
	<a href="http://www.flickr.com/photos/arika/6175041236/" title="ランチデザートのチーズスフレ - ZOULI Cafe by akira yamada, on Flickr"><img alt="ランチデザートのチーズスフレ - ZOULI Cafe" class="left" height="180" src="http://farm7.static.flickr.com/6158/6175041236_a9d07080a6_m.jpg" width="240" /></a>チャーミングセール中の元町へ、ちょこっと買い物に出掛けた。出掛けるぞーっていって出掛けるのはここ二か月ぶり。</p>
<p>
	元町通りに入ってしまうとどこも込み合っているだろうから、その少し手前、ちょうどよく空いていたZOULI Cafeでランチをとることにした。ずっと前から知ってはいたけど入るのは初めて。チャーミングセール向けのランチメニューがあったのでそれをたのんだ。前菜にカレーとパスタ、パン、ミニデザートと飲み物がセットで1,000円。デザートのチーズスフレは一口サイズではあったがおいしくて満足。</p>

<p>
	<a href="http://www.flickr.com/photos/arika/6175040198/" title="ランチの前菜 - ZOULI Cafe by akira yamada, on Flickr"><img alt="ランチの前菜 - ZOULI Cafe" height="180" src="http://farm7.static.flickr.com/6172/6175040198_9ccb984d9d_m.jpg" width="240" /></a> <a href="http://www.flickr.com/photos/arika/6174513547/" title="若鶏とひよこ豆のラグーパスタ - ZOULI Cafe by akira yamada, on Flickr"><img alt="若鶏とひよこ豆のラグーパスタ - ZOULI Cafe" height="180" src="http://farm7.static.flickr.com/6158/6174513547_2a1c22057c_m.jpg" width="240" /></a> <a href="http://www.flickr.com/photos/arika/6174513937/" title="ベトナムココナツチキンカレー - ZOULI Cafe by akira yamada, on Flickr"><img alt="ベトナムココナツチキンカレー - ZOULI Cafe" height="180" src="http://farm7.static.flickr.com/6169/6174513937_732aa3de59_m.jpg" width="240" /></a> <a href="http://www.flickr.com/photos/arika/6175040590/" title="バゲット - ZOULI Cafe by akira yamada, on Flickr"><img alt="バゲット - ZOULI Cafe" height="180" src="http://farm7.static.flickr.com/6152/6175040590_246445e286_m.jpg" width="240" /></a></p>
<p>
	意外にも、といってよいかどうか、18:00までは禁煙とのことだった。ありがたい。</p>
<p>
	買い物の成果はというと、セールっぽいものは特に買わず。1ロールケーキで季節限定のロールケーキを買って帰ってきた。</p>
<h3>
	閉店してた(追記 2011-11-04)</h3>
<p>
	先日通りがかったら営業してなくて、休みかな?でも 妙にさっぱりしてるね、などと言っていたところ、今日通りがかったら中身が空になっていた。10月で閉店したとのこと。</p>

    ]]>
    </description>
    <link>http://arika.org/2011/09/25/zouli-cafe</link> 
    <pubDate>Sun, 25 Sep 2011 15:14:00 -0000</pubDate>
   </item>
  <item>
    <title>GR DIGITAL IV</title> 
    <description>
    <![CDATA[
    <p>
	<a href="http://www.ricoh.co.jp/dc/gr/digital4/index.html">GR DIGITAL IV</a>が発表された。</p>
<p>
	IIと比べると液晶の解象度が格段に上がっている。I、IIでの不満はここだったので今回はちょっと欲しい度が高め。今見ててIIIのときに液晶が変わってたことに気付いたんだけど、タイミングとかあれやこれやで見送ったのだったかな。</p>
<p>
	GR Dはなんだかんだ使い勝手がよくて手離せない。(というのには一眼のレンズがないせいも含まれるかもしれない。)手元のはIIなので一般的なコンデジと比べてもまだまだ遅い。そのせいで猫がいっちゃった、なんてこともちょくちょくあったりする。ただ、なんというか、気持ちの面でいうと「あは、撮れてる」というようなところで、それはそれで。そんな撮りそこねが手元にわりと残っていたりする。</p>
<p>
	まあ、その一方で、一眼のレンズも欲しいわけなんだけど&hellip;&hellip;。</p>



    ]]>
    </description>
    <link>http://arika.org/2011/09/15/gr-digital-iv</link> 
    <pubDate>Thu, 15 Sep 2011 12:24:00 -0000</pubDate>
   </item>
  <item>
    <title>魔法の材料ございます</title> 
    <description>
    <![CDATA[
    <p>
	<a href="http://www.amazon.co.jp/gp/product/4797355352/ref=as_li_ss_tl?ie=UTF8&amp;tag=aydiary-22&amp;linkCode=as2&amp;camp=247&amp;creative=7399&amp;creativeASIN=4797355352">魔法の材料ございます</a><img alt="" border="0" height="1" src="http://www.assoc-amazon.jp/e/ir?t=&amp;l=as2&amp;o=9&amp;a=4797355352" style="border:none !important; margin:0px !important;" width="1" />がすごい。面白かった。といっても五巻まで読んだところで、まだ続きが出ている。</p>
<p>
	わりとちゃんとしたファンタジー。感じとしてはマロリオン物語とかリフォトウォーサーガなんかを気に入っている人ならがっつりいけるんじゃないかと思う。</p>
<p>
	まあ、私がそうだっていう話なんだけど。実際のとこ、マロリオンもリフトウォーも久しぶりに読み返したくなった。ただ両作とも読み返すとなるとどっぷりつかってしまうボリュームなので今はむずむずしつつもガマン中。特にマロリオンはベルガリアードから読み返しにくなるし、このきっかけだとエレニア記やタムール記にまで手がのびそうだし。</p>
<p>
	逆に「魔法の材料ございます」を気に入った人ならエディングスやフィーストもいけるんじゃないかなと思う。問題はどっちも入手困難っぽいことなんだけど&hellip;&hellip;。</p>
<table>
	<tbody>
		<tr>
			<td>
				<iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=FFFFFF&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=aydiary-22&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=ss_til&amp;asins=4797355352" style="width:120px;height:240px;"></iframe></td>
			<td>
				<table border="0" cellpadding="0" cellspacing="0">
					<tbody>
						<tr>
							<td valign="top">
								<div style="border:1px none;margin:0px;padding:6px 0px;width:160px;text-align:center;float:left">
									<a href="http://hb.afl.rakuten.co.jp/hgc/02bd1831.30a1fc86.0786e7c9.e5bd40e1/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fbook%2f6145634%2f%3fscid%3daf_ich_link_tbl&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fbook%2fi%2f13246004%2f" target="_blank"><img alt="【送料無料】魔法の材料ございます" border="0" src="http://hbb.afl.rakuten.co.jp/hgb/?pc=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fbook%2fcabinet%2f7973%2f79735535.jpg%3f_ex%3d128x128&amp;m=http%3a%2f%2fthumbnail.image.rakuten.co.jp%2f%400_mall%2fbook%2fcabinet%2f7973%2f79735535.jpg%3f_ex%3d80x80" style="margin:0px;padding:0px" /></a>
									<p style="font-size:12px;line-height:1.4em;text-align:left;margin:0px;padding:2px 6px">
										<a href="http://hb.afl.rakuten.co.jp/hgc/02bd1831.30a1fc86.0786e7c9.e5bd40e1/?pc=http%3a%2f%2fitem.rakuten.co.jp%2fbook%2f6145634%2f%3fscid%3daf_ich_link_tbl&amp;m=http%3a%2f%2fm.rakuten.co.jp%2fbook%2fi%2f13246004%2f" target="_blank">【送料無料】魔法の材料ございます</a><br />
										<span style="">価格：630円（税込、送料別）</span></p>
								</div>
							</td>
						</tr>
					</tbody>
				</table>
			</td>
		</tr>
	</tbody>
</table>
<p>
	それにしてもこれがデビュー作ってすごい。</p>



    ]]>
    </description>
    <link>http://arika.org/2011/09/04/mahou-no-zairyou-gozaimasu</link> 
    <pubDate>Sun, 04 Sep 2011 11:30:00 -0000</pubDate>
   </item>
</channel>
</rss>
