前の月 / 次の月 / トップページ
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

2007-01-31 Wed

Buzzurl(バザール)のアイコンを追加した

Buzzurlのアイコンを、タイトルの側に表示することにしました。
いままでは、はてなブックマークとlivedoorクリップだけでした。

【Buzzurl[バザール]の関連リンク】


Buzzurl[バザール] / bazaar of buzz
[を]ソーシャルブックマークのアイコン追加
[N] ECナビ人気ニュースが「Buzzurl」にリニューアル

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2007-01-30 Tue

Lighttpd + Catalyst + FastCGIが動かない

Catalystのデバッグ用のサーバ「myapp_server.pl」は「-k -f」しないと、
いちいちIEをリロードしなきゃいけないことにブチ切れ。
もう、あれだ、FastCGIをデバグに使おう!と思った。

だけど、もー、どうにもこうにも動かないのである。
404エラーじゃ無くて、真っ白になってしまう。

Lighttpd-CatalystTechniqueのヘルパーを使ってみようとしたり、
使わないでやってみたりしてるんだけど、なんか駄目。
2時間やって駄目なので週末に再度やってみる。

それとは別の話として、環境を使い始めたころにいじった
わけの分からないことになってるところが影響して、
スムーズな環境構築ができてない場合が多くなってる気がする。
そろそろtestingで再インストールしようかな。
# 検索しても引っかからないエラー多すぎるんだよね。
# しかも、ほかの環境で再現しないんだよね。orz

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2007-01-29 Mon

ノンアルコール炭酸飲料 グビットシュタイン

グビットシュタインというビールみたいなノンアルコール炭酸飲料を
見かけました。ちょっと気になったので調べてみます。

グビットシュタイン

いろいろ調べましたが、インターネット上からは買えないようです。

コロワイドがビール風ノンアル飲料を発売

直営飲食店チェーンを展開するコロワイド(横浜市西区みなとみらい2)
は11月20日、ノンアルコール炭酸飲料「グビットシュタイン<クラシック
>」の販売を開始した。


なるほど。コロワイド系列の飲食店でのみ販売しているようです。
それで先日「銀豚」に行ったときに見かけたんですね。

 同飲料は、飲酒運転の追放の機運が高まる中、酒類を提供する側として、
車での来店客にも宴会の場を楽しんでもらえるように考案された商品で、
開発に半年の時間をかけて本物のビールのような「泡」と「のどごし」の
実現に成功したという。


なるほど。315円というお値段に見合うものか分かりませんが、
大人向けよりも子供向けに頼む人が多そうだなと思いました。
自分の子供と酒を飲むのって典型的な父親の夢っぽいし。違います?

炭酸飲料って他にあるかな、と調べてみると
結構あるもんですね。
ハタ鉱泉のよいこのびいるは、いろんなブログで紹介されていますね。

【ノンアルコール炭酸飲料の関連リンク】


ハタ鉱泉株式会社
- ラムネやクリームソーダのメイカーとして有名。
株式会社コロワイド
- 有名。シュリンプコブサラダがおいしそう。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

ワンセグはアイドルの味方

あんまり深い意味はないんですが、
先日、食事しているときにみんなで話していたら、
「ワンセグはアイドルの味方だ」という結論に至りました。

USB2.0 ワンセグテレビチューナー “ちょいテレ” DH-ONE/U2

[Amazonで詳細を見る]


理由は単純で、ワンセグって解像度が低いから、
字幕とかワーっとなるじゃないですか。
解像度が低いおかげで、シワとかもわーっとなるんじゃないかと、
そういうことです。

ハイビジョンが普及すると、シワやシミや白髪が目立つという
話がありましたが、それの逆ですね。それだけっす。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

いわしの揚げ煮定食

いわしの揚げ煮定食を頼んでみました。

画像

今回はさつまいもの天ぷらが付け合せ。
七味唐辛子をちょっとつけて食べると良い感じでした。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2007-01-28 Sun

片倉の銀豚でとんかつを食べた

片倉の銀豚でロースかつ膳を食べました。

画像

ご飯、豚汁、漬物、キャベツ、レモンがおかわり自由。
揚げ物が苦手な自分としては、カラっと揚がった
とんかつを食べれるのが幸せ。カリッ、ジュワー、ウマーです。

ご飯はご飯釜で炊いてあっておいしい炊き立てご飯。
釜にはお茶碗3杯分のご飯が入っています。
キャベツも山盛りでした。
全部食べたらお腹いっぱいになったのでおかわりしませんでした。

また疲れた週末に食べにきます。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

PHPのマニュアル

PHPマニュアル翻訳プロジェクトのPHPマニュアルがいい感じっぽい。

PHP マニュアル - PHPマニュアル翻訳プロジェクト

関数名が見出しになっているので、
検索すると引っかかるところが好みです。

最近たまにPHPを使うので、今後利用率が上がるかも。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

キーワード検索サービスから受ける印象

キーワード検索を一度に見比べて、
どんなサービスがあるのか見てみることにしました。

調度良い記事を赤松さんが書いていたので引用します。

a++ My RSS 管理人ブログ



ほかにも、以下のサイトはフィードで提供していますね。
Kizasi - 今日、ブログで話題になったことって?
話題の.jp 総合ランキング

これらの検索ワードランキングから受ける印象をメモします。

キーワードランキングの印象


検索回数によるキーワードランキング

Yahoo!ブログ検索 - 検索数急上昇のキーワード
Yahoo!新着情報 - 急上昇の検索ワード
ブログ検索はユーザの年齢が通常の検索よりユーザが若そう。

gooのウェブ検索で検索回数が急上昇したキーワード
goo 急上昇エンタメ
gooの急上昇総合は、通常検索とブログ検索が混ざってるのかな?
Yahoo!とgooのランキングは共通のキーワードがあるな。
gooの急上昇エンタメは総合からエンタメ関連のキーワードを抽出したもの。

BIGLOBEサーチAttayo キーワードランキング
BIGLOBEサーチは時事性を強く反映している気がする。
これは急上昇を検出しているわけではないからかな。

瞬!ワード by @nifty
瞬ワードはテレビとかに敏感な反応をするな。

デイリーニュース検索キーワードランキング - フレッシュアイNewsWatch
デイリーニュースは、他のとは違いニュースによく出るキーワードや、
みんなが知っているような芸能人の名前が多い。

JTB キーワードランキング
JTBのランキングは、これからユーザがする行動に近いキーワードで、
なかなか興味深い。スキーに行ったあとスキーで検索しないもんね。

ブログで頻出のキーワードランキング

Kizasi - 今日、ブログで話題になったことって?
上位30位までの24時間以内の人気キーワードランキング。
物凄い精度に見えるキーワード切り出しがすごい。

はてな 注目キーワード
はてなはユーザ層が偏ってるからなー。

人気サイトのタイトルをランキング

話題の.jp 総合ランキング
人気サイトや人気記事のタイトルをランキングしているだけですが、
今、注目されている芸能人、映画、ドラマ、ニュースなどが分かる。

サーファーの気まぐれキーワードランキング

gooのウェブ検索で検索回数が急上昇したキーワード
個人的には一番面白いと思う。これで自動ならなー。無理か。



プログラムで処理する場合にはRSSで提供していても、いなくても、
結局フォーマットはすべてのランキングサイトで異なるから、
キーワードを抽出するために異なるモジュールや正規表現が必要。
なのでフィードを提供していないランキングは駄目だ、
というわけではないです。でもフィードの方がユーザにやさしいですね。

自分が知りたい情報のキーワードは、これくらい見れば十分探せるので
こいつらをRSSリーダーに登録しておけば、
今起きていることを端的に知ることができると思いました。

あ、あと止まってますけど、bW3のメタブログもなかなか面白いですよ。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2007-01-27 Sat

ウィッシュルームをクリアした

このエントリーをはてなブックマークに追加 Delicious [DS]

昨日「ウィッシュルーム」を購入したのですが、クリアしました。
適度なボリュームでサックリと終わりました。

ウィッシュルーム 天使の記憶

[Amazonで詳細を見る]


ゲームのストーリーについては賛否両論あるみたいですが、
私は、お手軽ゲーにしてはかなり良いのではないかと思います。
操作性も個人的には新鮮で楽しかったです。

繰り返しクリアすると、ええ話になるみたいなので
今後はのんびりと「ええ話」を楽しもうと思います。
とりあえず2周目はレイチェルとカイルが・・。

DSを買った人で、アドベンチャーゲームが好きなら
「ウィッシュルーム」はとりあえす買って平気だと思いました。
個人的におすすめです。

関連エントリ

[2007-01-26-3] ウィッシュルームを買った
[-] 1
投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

Bフレッツの下見の業者が来た

Bフレッツを自宅に開通するための下見をする業者が来ました。

「午後から行きます」と言われて油断していたら、
午前10時に「今から行っていいですか?」と聞かれて驚きました。

今住んでいる場所は、電話線の配管が無いことが分かり、
エアコンのダクトから光ファイバーを引っ張ることになりました。
どうなるんだろう。

まー、ともかく近日中にBフレッツになるようです。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2007-01-26 Fri

元祖七輪炭火焼肉 ホルモン いくどん 八王子駅前店

月曜日に行った焼肉屋「いくどん」に、
ついつい今日も行ってしまいました。

しかも写真取り忘れてしまった。

まー、食べたものも同じようなものです。
うまかったです。あと、安いし。

店に入った時間が遅くて、帰りが終電に近かったです。
八王子駅は人身事故で中央線が止まっていたらしく大混雑。
横浜線も中央線の影響で遅れました。うーむ。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

ウィッシュルームを買った

このエントリーをはてなブックマークに追加 Delicious [DS]

Nintendo DSのソフト「ウィッシュルーム」を買いました。
探偵ものアドベンチャーということで、
私が思わず買ってしまうタイプのゲームです。

ウィッシュルーム 天使の記憶

[Amazonで詳細を見る]

Amazon.co.jp商品紹介
79年のロサンゼルス郊外が舞台の、モノトーンのアドベンチャーゲーム。
元刑事のセールスマン、カイル・ハイドがたどり着いたホテル・ダスクに
隣り合わせた人物たちの隠された秘密とは? 願いが叶う部屋、消えた友
人。パズルのピース。小説を読み解くように謎をといていこう。開発は、
「アナザーコード 2つの記憶」を手がけた(株)シング。


まだプレイしていないので分かりませんが、
ヨドバシカメラの店頭でデモを見る限りは、
期待して良さそうですね。

[2007-01-27-2]:追記
ウィッシュルームをクリアしました。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

柳川風煮定食

ごぼうが食べたくて、柳川風煮定食を選びました。

画像

意外にボリュームもあり、味もなかなか。
こういうメニューがもっと頻繁に出るといいのにな。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

Windowsの共有フォルダをDebian Sarge Linux上にmountできない

Windowsの共有フォルダをDebian Sarge Linux上の
/mntディレクトリにmountしたいんだけど、mountできないや。
なんでだろう。

%smbmount //overlast/shared /mnt -o username=hoge,rw
passward:
22575: session setup failed: ERRDOS - ERRnoaccess (Access denied.)
SMB connection failed


現状はこんな感じ。

- hogeユーザはWindowsにユーザ登録されている。
- hogeユーザはWindows XPの共有フォルダ上の//overlast/sharedに
  フルアクセスする権限を持っている。
- //overlast/sharedはネットワーク上で他のWindows PCから参照できる
- Windows XP側のウィルス対策ソフトやファイヤーウォールは
  一時的にずべて切った。

もう、よくわからんです。再インストール前はmountできたのにな。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2007-01-25 Thu

やわらかな心をもつを読了

やわらかな心をもつを読み終わりました。

やわらかな心をもつ—ぼくたちふたりの運・鈍・根

[Amazonで詳細を見る]


「やわらかな心をもつ」は30年前に発売されたのですが、
2人の才能豊かな努力家の姿勢や発言は、
現代の自分にとって役立つことばかりでした。

「やわらかな心をもつ」の構成は全体に大雑把な章立てはあるものの、
基本的には雑談の書き起こしなので、
読みたい内容を決めて狙いを絞って読むのは難しいです。

全体を通して感じたメッセージをいくつかピックアップしてみます。

- 他人を恐れない
- 努力をし続ける。根性。
- 効率よく時間を使う
- ひとつのことを仕上げる
- 基本を大切に
- 母国には無い価値観を早い時期に体感する

どれも自分が心がけねば、と思っていたことで
読んでいて背中を押された気分でした。

ときどき「この本は何度も読むな」と思う本がありますが、
「やわらかな心をもつ」は間違いなく人生の節目で読み直したい一冊です。


投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

八福 若鳥の竜田揚げ定食

若鳥の竜田揚げ定食を食べました。

画像

次に来たときは、さばの味噌煮にしようと思います。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

徹夜

今日は久々に徹夜した。
とはいえ自動的な仮眠は何回か取った。
今日は、今日までの日がそんなに間違っていなかったことが
分かり、少しほっとした日だった。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2007-01-24 Wed

ハタダ 御栗タルト(おんくりタルト)

友人から「御栗タルト」という愛媛土産をいただきました。
ありがとうございます。

画像画像

この「御栗タルト」はパッケージがすごい。
剥いても剥いてもタルトにたどり着きません。
あんまり厳重なので楽しくなりました。

画像
画像
画像

おお、やっと見えたー。

画像

「御栗タルト」は、あらかじめ切れ目が入っていて、
切れ目ごとに大きな栗が見える贅沢なタルトです。
う、うまそう。

画像

ちょっと栗を箸でつまんでみました。こんなに大きいのか。

画像

「御栗タルト」の味はゆず風味で上品な甘さの餡子と、
しっとりとした甘い卵の香りがする生地と、
やわらかくて口に入れると崩れる栗が合わさって、
めちゃくちゃ幸せな味です。う、うまい。うまい。
あっという間に1/3位食べてしまいました。

いけないなと思いつつ、また食べたいから調べたら
「御栗タルト」は楽天で売ってましたブラボー。
贈答用にオススメです。

【ハタダ 御栗タルト(おんくりタルト)の関連リンク】


楽天で「御栗タルト」を調べる。
アマゾンストアで「お菓子」を調べる。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

トイレ工事地獄

今日は精密工学研究所R2のトイレが工事でした。

でも、トイレは行きたくなるわけです。

研究室は7階なんですよ。下の階を使えと指示が出ています。

画像

階段を下りてみると、上か下に行けという表示があります。
えええええ!!!

画像

で、下に降りると・・・(以下略)

結局1階まで降りましたよ。上から下まで一気に工事しないでよー。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

Semi-supervised Learning (Adaptive Computation and Machine Learning)

Semi-supervised Learningという書籍が奥村研の勉強会で紹介された。

Semi-supervised Learning

[Amazonで詳細を見る]


複数の論文を集めたときにありがちな、
同じことを表す記号が全然違うということが無いように、
記号が統一されているらしい。それは良いですね。

複数の研究者がSemi-supervisedな手法について、
自分自身の適用方法を述べている感じで、
教科書的というわけではないそうです。
なるほどね。

分厚さ的にはFSNLPぐらいでした。


こういう本を読めるパワーを、何歳になっても持とうと思いました。

【Semi-supervised Learningの関連リンク】


アマゾンストアで「学習」を調べる。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

かき揚げそば

昼にかき揚げそばを食べました。

画像

今日は小柱のかき揚げでした。うまいなー。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2007-01-23 Tue

mixiクリアフォルダーをゲット

mixiクリアフォルダーをゲット。

画像

mixiカレンダーもゲット。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

チーズクリームメンチ

生協でチーズクリームメンチを食べました。

画像

チーズクリームメンチは久々食べたけど、
チーズがあつあつで美味しかったです。

あつあつのご飯を食べる喜びを、学食では忘れがちですね。
麺類を食べるようにすると、出来立てを食べられるのかなー。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

冬ですなー

すずかけ台の木々はすっかり葉が落ちて、冬真っ盛りです。

画像

すずかけ台キャンパスの木々は、かなり自由に枝を伸ばしていて、
見ていて気持ちが良いです。いいなー。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

何故焼肉食べ放題とか横浜中華街で食べ放題は元が取れないのに満足できるのか。

私は食べ放題という言葉の響きが好きです。
焼肉食べ放題とか横浜中華街で食べ放題と聞いて嫌な気持ちになりますか?
何というか、食べ放題と不幸って結びつかないと思いませんか?
お腹いっぱいに好きなものを食べられるって幸せそのものです。

とはいえ食べ放題は冷静になると微妙な値段設定だったり、
味わってみると原価が物凄く低そうだったりすることも多いですね。
焼肉だと肉の質が・・とか、中華や点心だと品数が・・・とかですかね。
よって、少しは「食べ放題」という概念自体が
不幸とか不満足に結びついても良いような気がします。

何故食べ放題は元が取れないのに満足できるのか、
自分の考えはともかく他の人の意見をちょっと眺めて見ました。

眺めてみると幸せに感じるポイントが、人それぞれですね。

- 好きなものを好きなだけ食べられる
- 例えば寿司、焼肉、うどん、ケーキ、焼き鳥、野菜、と自宅ではありえない種類の料理に囲まれる
- もっと食べなくては!という気持ちになる
- お腹いっぱいになる
- 色んな種類のメニューが一度に食べられる
- なんといっても低料金

一番多いのは「好きなときに好きなだけちょっとずつ食べられる」という
ことを魅力にあげている人が多かったですね。
なるほどなー。

食べ放題について調べると、ときどきあたるのが「満漢全席」です。
満漢全席は中国料理の頂点といわれていますよね。
中国全土から集めた100種類以上の料理を延々2日くらいかけて
食べ続けるのですから、満漢全席は元祖食べ放題なのかも。

満漢全席 - NHKが企画し日中共同プロジェクトが製作

[Amazonで詳細を見る]


いろいろ考えてみると「品数の多さ」「好きな時間に食べれる」という
2点の魅力を併せ持つ食べ放題は究極の贅沢のうちのひとつで、
人間は贅沢のためなら金を惜しまないよなー、と思ったのでした。
そもそも自分の考える贅沢を実行して不幸なわけがありません。
自分で贅沢しておいて不幸を嘆くなんて贅沢の極み。
そうか、みんな贅沢したいんだ。なるほどねー。私も贅沢したいです。

【食べ放題の関連リンク】


楽天で「食べ放題」を調べる。
アマゾンストアで「食べ放題」を調べる。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2007-01-22 Mon

元祖七輪炭火焼肉 ホルモン いくどん 八王子駅前店

ホルモン食って元気になろう、ということで
八王子駅前の「いくどん」にいってきました。

画像

店内は煙でモクモク。さらに非常に混んでいました。

画像画像

白モツを焼いたり、生レバー、生ハツ、生タンなどを堪能しました。
生系は全然生臭くなくて、美味しかったです。
モツはガッツリとした味で、これまた最高。

今日は平日なのでウーロン茶だったのですが、
「いくどん」はウーロン茶とスープとキャベツが無料で、
気がつかないで飲み物がただの状態を過ごしていました。
ジュースとか頼めばよかったかな。

【炭火焼肉の関連リンク】


楽天で「焼肉」を調べる。
アマゾンストアで「ホットプレート」を調べる。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

なんともいえない夕方

なんともいえない、雲の切れ間から日が差す夕方でした。

画像

こういう感じの雲は八王子ではあんまり見ないので、
見とれちゃいました。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

から揚げ定食

昼飯はから揚げ定食でした。

画像

まー、普通の味でした。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

無線LANルーター バッファロー WHR-G54Sを購入

無線LANルーター「バッファロー WHR-G54S」を購入しました。

BUFFALO WHR-G54S 無線LAN

[Amazonで詳細を見る]


家ではもともと無線LANの802.11gしか使わないと思うし、
早い速度が欲しければ有線にすれば良いので、
無線LANルーターは、これくらいで調度良いかなという結論です。

「バッファロー WHR-G54S」よりも良い無線LANルーターが
欲しくなるころには、もう少し良いルーターが
お買い得になっているのでは、と思います。

他にもいろいろ検討したのですが、
coregaやIOが地雷が多いとの噂を目にしたり、
NECが自宅サーバ用途には向かなかったりということで、
消去法でバッファローなんですよね。
まー、無難な選択ですね。



折角IOSの使い方を勉強したことあるんだから、
いつかは自宅にCiscoのルーターを置くなんていう、
無駄なことをしてみたいなー、なんて思ったりもしたのでした。

【無線LANルーター バッファロー WHR-G54Sの関連リンク】


楽天で「無線LAN ルーター」を調べる。
アマゾンストアで「無線LAN ルーター」を調べる。

関連エントリ

[2007-01-20-2] Bフレッツに申し込んだ
[-] 1
投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

Bフレッツ開通に関する電話が来た

Bフレッツ開通に関する電話が来ました。

下見が2月3日で、開通は2月10日だそうです。

もうすこし早くなるかもしれないそうです。

意外と早く開通しそうなので嬉しいです。

[関連リンク]
楽天で「無線LAN ルーター」を調べる。
アマゾンストアで「無線LAN ルーター」を調べる。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

眠れない

口コミ情報をちゃんと調べきれないで無駄な買い物したのが、
あまりに悔しくてぜんぜん寝付けなかった。

「まー、勉強になったしいい買い物だよ。
また明日別の買えばいいじゃん。そのときに返品してみれば?」

と、考えられるようになったのは朝5時でした。うーむ。

[関連リンク]
楽天で「口コミ」を調べる。
アマゾンストアで「口コミ」を調べる。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

関連エントリ

[2007-01-20-2] Bフレッツに申し込んだ
[-] 1

2007-01-21 Sun

八王子 ラーメン(たんめん) 丸吉

八王子のたんめんのお店「丸吉」にいってきました。
このお店は、たんめんと餃子しか無いんですよね。
なので、たんめんを頼みました。

画像画像

一口目を食べたときに「うまーい」と思いましたよ。
味的にはジャンクな味でしたね。
一口目がうますぎるって言うのは、後で飽きますよね。
野菜たっぷりなので、野菜不足の時には調度良さそうです。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

国立新美術館が開館

国立新美術館が乃木坂にオープンしたそうです。

きょう開館の国立新美術館 - 東京新聞

五番目の国立美術館となる国立新美術館(港区六本木七)は二十一日午前
十時、正式に開館する。
 波のように曲面的なガラス張りの外観が特徴の建物は、建築家黒川紀章
さんの設計。青山公園など、周辺環境との調和に配慮した。
 二十一日から始まる展覧会「日本の表現力」では、ゴジラの着ぐるみや
鉄腕アトムの乗り物など新旧のマンガ、アニメ作品も展示され、子どもか
ら大人まで楽しめる内容になっている。観覧料無料。二月四日まで。


黒川紀章さんて、いろいろな意味で濃い人ですよね。
建物が特徴的で是非見てみたいう気持ちが先行していますが、
きっと興味のある企画が出てくると思うので、
これだ、と思ったときに行ってみます。

住所〒106-8558 東京都港区六本木7-22-2
開館時間10:00〜18:00(入館は17:30まで)
休み毎週火曜日(祝日又は休日に当たる場合は開館し、翌日休館)
問い合わせ先独立行政法人国立美術館 国立新美術館 03-5777-8600
アクセス地下鉄千代田線「乃木坂駅」6出口からすぐ、または地下鉄「六本木駅」から徒歩5分

黒川紀章さんの作品はあんまり関東に無いんですね。

Wikipedia - 黒川紀章
* 寒河江市庁舎(山形県寒河江市)
    * 中銀カプセルタワービル(東京都中央区銀座)
    * 福岡銀行本店(福岡市中央区天神)
    * 国立民族学博物館(大阪府吹田市千里万博公園)
    * ソニータワー(大阪市中央区心斎橋筋)
    * 日本赤十字社本社(東京都港区芝大門)
    * WINS銀座(東京都中央区銀座)
    * 和歌山県立近代美術館(和歌山県和歌山市)
    * 和歌山県立博物館(和歌山県和歌山市)
    * 国立文楽劇場(大阪市中央区日本橋)
    * ベルリン日独センター(ドイツ・ベルリン)
    * 沖縄県庁舎(沖縄県那覇市泉崎)
    * 愛媛県総合科学博物館(愛媛県新居浜市大生院)
    * クアラルンプール国際空港(マレーシア クアラルンプール)
    * 大阪府立国際会議場(大阪市北区中之島)
    * 国立新美術館(東京都港区)
    * 奈良市写真美術館(奈良県奈良市)
    * ソフトピアジャパンセンタービル(岐阜県大垣市)
    * 埼玉県立近代美術館(埼玉県さいたま市浦和区)
    * パシフィック・タワー(フランス・ラ・デファンス)
    * パルティ瀬戸(愛知県)瀬戸市
    * 広島市現代美術館(広島県広島市)
    * 九州石油ドーム(大分県大分市)
    * 豊田スタジアム(愛知県豊田市)
    * 長崎歴史文化博物館(長崎県長崎市)
    * 長崎新聞本社ビル(長崎県長崎市)


クアラルンプール国際空港は一回見てみたいな。

[関連リンク]
楽天で「黒川紀章」を調べる。
アマゾンストアで「黒川紀章」を調べる。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

とりあえず更新

走り書き程度のエントリがほとんどなので、
とりあえずそいつらをコメントアウトして、
ブログを更新することにした。
これから数日はちょろちょろ、以前のエントリが増える予定。

[関連リンク]
楽天で「ブログ」を調べる。
アマゾンストアで「ブログ」を調べる。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2007-01-20 Sat

Bフレッツに申し込んだ

Bフレッツに申し込みましたよ。

どこに申し込んだのかというと、BBエキサイトです。

以下に何でそうなるかをメモしました。

自分がBBエキサイトに申し込むまで


今朝までフレッツADSLにしようとしていた

今朝までフレッツADSLにしようとして安くなる業者を見つけたので
申し込みをしようと思っていた。
正確には一回申し込んで、もう一回本申し込みする寸前だった。

ところが電話加入権が0円というページがやけに目について、
なんで電話加入権が0円なんだろうと疑問が浮かんだ。

そこで電話加入権の現状について調べてみると、
電話加入権自体の価値がどんどん落ちていて、
その原因のひとつに光ファイバーによるブロードバンド環境の普及があり、
今自分が申し込もうとしているADSLも今後戸淘汰されることが分かった。

な、なんだってー。
あわてて光ファイバーによるブロードバンドの値段調査

ということで光ファイバーによるブロードバンド関連を調べてみると、
今なら大体「ADSL + プロバイダ + 電話基本料」にかかるコストと、
「光ファイバーによるブロードバンド + プロバイダ」にかかるコストが、
だいたい同じくらいだと分かった。

冷静に考えると、今、自宅の電話が鳴る事なんて年1回くらいのこと。

この時点でADSLという選択肢は消えたので、ADSL業者にキャンセル入れた。
とりあえず相談してみた。

こういうことは自分だけで悩んでいてもしょうがないので、
他の人に相談してみた。
私;いま、回線を光にしようと検討中なんですがおすすめってありますか??
相手:光はわからんです。bb.excite?はまちちゃんとこでオススメされてたね。

へえ。

ぼくはまちちゃん!(Hatena) - きみの部屋にも光ファイバー
ちなみにプロバイダは、bb.excite が安くていいですね!
バックボーンの IIJ と、ガッチリつながってて速いよ!


なるほどねー。
早速調査開始。

アドバイスに感謝しつつ、光ファイバー業界がどうなってるのか調べた。
が、別にそんなに気合を入れるほどのことは無くて、
光ファイバーでインターネットやるなら、大体以下の2社になる。

- NTTのBフレッツ
- 東京電力&KDDIのひかりONE(旧 TEPCOひかり)

いろいろあるけど結局2択ですね。
どう違うのか

私の住んでいるところを基準に見ると、
BフレッツとひかりONEには以下のような違いがある。

- ひかりONEは提携プロバイダの数が限られている。
- Bフレッツは、結構いろいろなプロバイダを使える。
- ひかりONEは回線の品質がNTTより上っぽい
- 回線の基本使用料はBフレッツの方が安い

目的や収入によって、どちらにすべきかを変えるとよさそうです。
BフレッツとひかりONEどっちにする?

プロバイダの選択肢の広さと、支出の少なさが重要なので、
Bフレッツを選んだ。結構悩んだのですが。
さー、プロバイダどうしよう。

私はハイパーファミリープランなので、月額5460円。
今は2ヶ月の基本料が無料なので、10960円得できる。
つまり10960円以上のお得さがあるプロバイダを選べば良いわけです。
さらにできれば、還元が多いよりも支出が少ない方が良いですね。
いろいろ比較したけどね。

Bフレッツ対応プロバイダ一覧を見ながら、
首都圏なプロバイダを見て、値段を調べた。
結果、現時点ではBBエキサイトのページからBフレッツを申し込むのが
2年先を考えると、一番支出が少なくて良い感じでした。
速さの評判はBBエキサイトかOCNかSONETが良いことが多かったので、
そういう面からも、BBエキサイトはそんなに悪くなさそう。
何より月額500円っていう安さが魅力。
本当に大丈夫?

BBエキサイトが駄目でも、別の固定IPを取得できるプロバイダとも
契約してマルチセッションを張ろうと思っているので、
BBエキサイトが多少遅くても別に平気そう。
BBエキサイトは固定IP割り当てが2500円だけど、
たとえば、「さくらのフレッツ接続」は月額1000円で固定IP付き。
そういうのを使えばいいや、と思ってます。
IP電話はどうする

正直固定電話は使わないのですが、
一応万が一の場合の保険としてIP電話くらいには入っておきます。
まー、ひかり電話じゃなくてBBエキサイトフォンで良いかなと。
メールアドレスはどうする

メルアドはGメールと学校ので十分だったりする。
どうしても欲しければ、エキサイトメールに入るさ。
不動産屋に許可をもらう

不動産屋さんに許可をもらうために電話した。
私は大家さんが窓口じゃない物件に住んでいるので、
Bフレッツの導入交渉もスムーズに終わった。
要求はただひとつ「穴開けないでね」だった。
それ以外は好きにしてくれ、とのこと。話が早いなー。
即申しこんだ

BBエキサイトから申し込みメールを出して申し込み完了。
お疲れ。
あとは、下見と工事の日が確定したら一安心。


結局BBエキサイトになっちゃいました。
BBエキサイトを解約した場合には違約金がかかるけど、
学生には安さが魅力でした。

今後は下見や工事がどうだったのか、記事にしておきます。

[2007-01-22]:追記
[2007-01-22-3]にNTTから電話がありました。

【無線LANルーターの関連リンク】


楽天で「無線LAN ルーター」を調べる。
アマゾンストアで「無線LAN ルーター」を調べる。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

Lighttpdを使ってサブドメインというものを設定

別に意味が無いけれど、せっかく取得準備したドメインが
取得されないまま3ヶ月くらい放置してあったので、
さっさと取得してHTMLだけでもおく事にしたのです。

で、どうせなら一回やってみたかったサブドメインの
設定もしてみようとおもったので、作業メモ。

Lighttpdにおけるサブドメイン設定


前提となる単なるドメイン設定

Lighttpdでサーバを構築する際に、
設定はlighttpd.confに書いています。

たとえば、overlasting.netの設定を書きたければ
lighttpd.confって通常以下のように追記します。
HTTP["host"] == "overlasting.net" {
  『overlasting.netの設定ども』
}

まぁ、もちろん適当な位置に書かなければいけませんが、
どこに書かなければいけないかは省略します。
オラなんだかサブドメイン化したくなったぞ

では次にoverlasting.netをサブドメイン化したいときは、
どうするのでしょうか。

lighttpd.confに書くサブドメイン設定は
ほんの少しのポイントを抑えていれば大丈夫。
なぜなら最悪でも作りたいサブドメインの数だけ
設定を書けば意外と問題なく目的が達成できるからです。

覚えておくべきことは具体的には、以下の点ですね。

1、lighttpd.confでは正規表現が使える
2、基本の設定やメインドメインの設定ほど先に書く
lighttpd.confではPerlっぽい正規表現を使える

lighttpd.confでは正規表現が使えます。
しかも、よく見かける形式の正規表現表記です。
たとえば「"(https?)"」って書くと$1がhttpかhttpsになります。

具体的にどうやって使うのかというと、さっきの設定の
HTTP["host"] == "overlasting.net" {

この行に着目します。


この行はifやwhileが書いていないけれど、
実は明らかに論理式を書いていました。
trueなら{}の中に入るということです。

本題の正規表現が使いたければ、こんな感じにします。
HTTP["host"] =~ "overlasting.net" {

これで正規表現でマッチを判定しています。

つまり上記の例だと、overlasting.netでも、
overlastinggnetでもマッチしてしまいます。
# とはいえ、overlastinggnetじゃサーバにアクセスできませんね。

では、なんとなくwww.overlasting.netと
blog.overlasting.netを同じ設定にしたいので
以下のような設定を書いてみました。
HTTP["host"] =~ "((www\.)|(blog\.))overlasting.net" {
  『wwwかblog.overlasting.netの設定ども』
}

こんな感じで、正規表現とかor記号とかを書けます。
今時は$1がwww.かblog.になってるわけですね。

何がメリットかというと、同じような設定をする
複数のサブドメインの設定を正規表現をちょっと書くだけで
束ねられるところですね。
リダイレクトしたいドメインは先に設定

lighttpdは、上から順に設定ファイルを解釈するようなので、
リダイレクト先に設定する可能性が高いドメインは、
その高さが高いほど先に設定すると良いでしょう。

今回の例だと、blog.overlasting.netより
優先度の高そうな、overlasting.netの設定は、
blog.overlasting.netの設定よりも先に設定したいですね。
blog.overlasting.netを先に設定すると、
blog.overlasting.netの中でoverlasting.netに
リダイレクトする行を書いたときに、
思ったように動いてくれなさそうですね。

つまり、より短いURLだったり、参照をすることが多いような
ドメインほど先に書いておけば後で面倒なことが起こりにくい
ということがメリットでしょうね。あとは生理的な問題とか。


メモなので他の人に意味があるか本当にわかんない。

ということで、設定ファイルをちょろちょろ書いて、
今日の時点では以下の3つのアドレスを同じファイルに転送しています。

-http://overlasting.net
-http://www.overlasting.net
-http://blog.overlasting.net

トップトップのよくあるやつ
ブログっぽいアドレスです。

そういえば、何日間でこいつらがインデキシングされるのが楽しみっす。

【サーバーの関連リンク】


楽天で「サーバー」を調べる。
アマゾンストアで「サーバー」を調べる。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2007-01-19 Fri

ハードディスクを換装してWindows XPを再インストールした

自分のノートパソコン「ThinkPad T42」のハードディスクを換装し
Windows XPを再インストールしました、

ハードディスクの容量は80GByteから120GByteにアップ。
本当はLinux環境も再構築したいけれど今回は我慢します。

ということで以下がメモ。作業中にWindowsのメモ帳を使って書きました。

Windows XPを再インストールした時のメモ


OSインストール

ハードディスクのパーティションは
あとでパーティションマジックでつめる。
細かいことは考えない。

Windowsインストール
ユーザ関連

起動後、強制的につくらされたデフォルトユーザのパス変更。
administratorにユーザを切り替え
administratirのパス変更。
初期状態をつくる

余分なエフェクトを全部切る。

ThinkPad用のネットワークドライバを
レノボからダウンロードしてUSBメモリ経由でインストール。

レノボからソフトウェア導入支援を取り寄せて
ひたすらインストール待ち。

WindowsUpdate用に必要なやつを
一回Windowsアップデートにつないで落としてくる。

再起動

Thinkpadの指紋ユーティリティの設定(切る

再起動

Windowsアップデートから
アップデートパッケージをインストールしまくり。
アップデート時に追加選択のソフトウェアは全部選択。
ハードウェアの方は一切選択しない。
推定で2時間かかる、と出てきて鬱。一応30分で終わった。
デバイスの設定

その間にThinkpadのデバイス設定。
-マウス
--タッチパッドを切る
--トラックポイントの感度をもっとも軽い設定に
--マウスのポインタ速度を最速にする
-電源
--電源設定を常にオンにする
--アラームはバッテリー切れアラームだけにする
--アイコンをタスクバーに表示
--液晶を閉じても何もしない
--電源ボタンを押しても何もしない
--電源系のビープは全部切る
-画面設定
--モニタのプロパティの色設定でガンマ値の調整。(1.0→1.8に
-フォルダオプション
--すべてのファイルを表示
--登録されている拡張子も表示
--簡易ファイル共有を使わない
-キーボード
--表示までの待ち時間を短く
-システム
--コンピュータ名の変更
以前の環境に戻す準備

前のHDDのC:\Documents and Settings\ユーザ名\Application Data内の
必要そうなフォルダを、今のHDDの同じ位置に移動

フォントを旧HDDからコピーしてWindows\Fontフォルダにインスト。
必要なソフトをインストール

-spybot search & destory
--http://www.spybot.info/en/download/index.html
-Lhaplus
--http://www7a.biglobe.ne.jp/~schezo/
-Google toolbar for IE
-Google デスクトップ
--マイドキュメント内だけを検索インデックスに含めた。
--拡張機能は全部切った
--正直タスクとスクラッチパッドだけ使いたい
-Fire File Copy
--http://www.k3.dion.ne.jp/~kitt/pc/sw/ffc/
-Skype
--http://www.skype.com/intl/ja/helloagain.html
-Firefox2.0.0.1
--http://www.mozilla-japan.org/products/firefox/
---Application Dataの移行でスンナリ以前の環境に戻った。mozilla萌え。
-Xkeymacs
--http://www.cam.hi-ho.ne.jp/oishi/index.html
---CtrlとCaps Lockの入れ替え
---ブラウザやエディタにだけEmacsなショートカットを使う
-VMware Player
--http://www.vmware.com/download/player/download.html
-Putty
--ぐはっ。設定書き直しか・・・
-Setuna
--http://www.clearunit.com/clearup/setuna/
-XnView
--http://perso.orange.fr/pierre.g/xnview/enxnview.html
---IrfanViewより人気あるっぽ。
---日本語だし問題ないかも
---ショートカットをカスタマイズできるのがいいね
-WinRAR
--http://www.win-rar.com/affdownload/download.php
-Adaware
--http://www.lavasoft.de/
-DirectX 9.0c
--http://www.microsoft.com/japan/windows/directx/default.mspx
トラブル発生

このあたりでスパイウェアをスキャンしたら
Smitfraud系のスパイウェアに入りこまれていた。

なんでやねん!!!!早っ!!!

このスパイウェアを駆除するために6時間くらい使ってしまった。
Adawareとspybot search & destoryとSmitfraudFixで修復。
SmitfraudFixにたどり着くのに時間がかかった。
-http://fine.tok2.com/home/heto2/0700SecurityApp/0100FixAndRemove/SmitFraudFix/0100.htm

その後3回再起動するたびに3種のソフトでスキャンして、
一切何も検出されなくなったので気を取り直してインストール続行。
気を取り直して続行

-AOLのActive Virus Shield
--http://www.activevirusshield.com/antivirus/freeav/index.adp?
--メールでレジスト
---どこかのウィルス対策ソフトの検証で、名だたる市販ソフトをぶっち
ぎって検出率2位くらいだった。
---これだね↓。つか1位はカぺ様。
---http://www.virus.gr/english/fullxml/default.asp?id=82&mnu=82

以下はインストールがいらないので古いHDDからコピー。
-DesktopSpice
--ランチャー
-chibisna
--画像縮小ソフト
-ColorPicker
--直感的にRGBの値がわかる
-eClip
--クリップボードの拡張
-kbdacc
--キーボード加速ソフト
-Media Player Classic
--軽量ムービープレイヤー
-TaskTrayPlus
--VMwareをタスクトレイに格納するために使う
-typect
--タイプ数カウンター
-ClearType
--フォントなめらか
--http://www.microsoft.com/typography/ClearTypePowerToy.mspx
-Virtual Desktop for Win32
--http://homepage1.nifty.com/salt/fsw.htm
--ノートPCを持ち運んでるときに、結果確認用の仮想デスクトップとして。
--2*1にして使ってます。ctrl+alt+1⇔ctrl+alt+2で移動。
無いと死ぬソフトをインストール

-Office2003
--これが無いとね。
-Real Player
-Acrobat Reader
-FlashとShockwaveのPlayer
-iTunes
-Yahooウィジェット
--http://widgets.yahoo.co.jp/
---アナログ時計の音が好きなので入れてる。


とりあえず、こんな感じ。
作業は昨日の夕方から始めたんですよ。
スパイウェアが無ければ6時間位で終わったのかな。

開発環境が全部VMwareのイメージに入っているので、
WindowsにApacheいれてゴニョゴニョとかは無いですね。

今後は他の人のインストメモを見て便利ソフトを探そうかな。

【Windows XPの関連リンク】


楽天で「Windows XP」を調べる。
アマゾンストアで「Windows XP」を調べる。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2007-01-18 Thu

もつ鍋

もつ鍋を食べて元気になろうということで、もつ鍋を食べに行った。

画像

うまかったですよ。

[関連リンク]
楽天で「もつ鍋」を調べる。
アマゾンストアで「鍋」を調べる。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

揚げなすのあんかけ定食

揚げなすのあんかけ定食を食べた。

画像

まー、普通の味でしたよ。

[関連リンク]
楽天で「なす」を調べる。
アマゾンストアで「なず」を調べる。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

きれいな空だなー

今日の青空は抜けるように青い空だった。

画像

きれいな青空っていうことは、寒いっていうことで、
今日はめちゃくちゃ寒いです。

[関連リンク]
楽天で「青空」を調べる。
アマゾンストアで「青空」を調べる。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2007-01-17 Wed

天玉そば

炊き込みご飯が人気で、あっという間に無くなったために
全然お腹が膨れなかったので帰りにそばを食べた。

画像

蕎麦屋に行くたびに、かき揚げ入りのそばを食べているな。
ちょっと自粛したほうが良いかもしれないな。

[関連リンク]
楽天で「蕎麦」を調べる。
アマゾンストアで「蕎麦」を調べる。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

研究室で炊き込みご飯

研究室で炊き込みご飯を作っていた。
おいしそうなのでいただいた。

画像

ちなみに、この炊き込みご飯は意外なレシピだった。

炊き込みご飯のレシピ


材料

- 米6合
- 3人分の炊き込みご飯のもと
- なめたけ一瓶
- シーチキン1缶
手順

米を磨いだら材料を全部入れて、水を6合の米を炊く量より
微妙に多めに入れて、おもむろに炊飯。

ちょっと乱暴ですけど、意外にも期待していた味より美味しかったです。
なめたけ一瓶とシーチキン1缶(油も)を入れてしまうのは
かなり衝撃的だったな。

【炊き込みご飯の関連リンク】


炊き込みご飯・おこわ 料理レシピ - キッコーマン
楽天で「炊き込みご飯」を調べる。
アマゾンストアで「炊飯器」を調べる。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2007-01-16 Tue

Net::Amazonが0.36になってECS4(AWS4)対応になってた

Net::Amazonがようやくアップデートした。
今回の一番大きな変化はECS4(AWS4)対応ってことみたい。

Net-Amazon-0.36

Revision history for Perl extension Net::Amazon:
0.36 (01/09/2007)
(cb) Update the library to use AWS4 from AWS3. The changes
involved are quite deep. While I have strived to keep interfaces
the same that was not always possible. I am sure there are still
bugs to be had that need to be fixed.


でも、いろいろ変更があるみたいなので
0.35と0.36を取り替えて終了ってわけにはいかなさそうですね。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

研究室で鍋

研究室で鍋だったのでいただいた。

学生鍋はいいなー。

写真はうっかり撮り忘れた。

でも、まー、うまかったですよ。

【鍋の関連リンク】


楽天で「鍋」を調べる。
アマゾンストアで「IH調理器」を調べる。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2007-01-15 Mon

メガマックを目撃した

話題のメガマックを食べた、と言いたいところですが
メガマックは買う気がしないので買っていませんでした。
だって、半分食べたら飽きそうじゃないですか。

で、たまたま目の前にメガマックが出現したので
メガマック写真を撮らせていただきました。

画像

箱を空けたら、今までのハンバーガーでは考えられない高さの
物体が出現。これがメガマックか。
あー、これは、すごいビッグマックだなー。

画像画像

メガマックは見ただけで大満足してしまいました。
ちなみに食べると1個でお腹いっぱいになるみたいです。
メガマックに意外と人気が出ている理由が分かった気がします。

【メガマックの関連リンク】


http://www.geocities.com/yokatonian/megamac/megamac.htm">MEGA MACの誘惑
楽天で「ベーグル」を調べる。
アマゾンストアで「マクドナルド」を調べる。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

揚げ餃子定食を食べた

すべて微妙な選択支の中から揚げ餃子定食を選択した。

画像

揚げてある餃子は具が少なくてスカスカな割りに、
重たい感じがして最後の方にはお腹いっぱいでした。



みんみんで食べた揚げ餃子は美味しかったなぁ。
また食べたいなー。

【揚げ餃子の関連リンク】


餃子 宇都宮みんみん
楽天で「餃子」を調べる。
アマゾンストアで「和風」を調べる。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2007-01-14 Sun

八福 和風ハンバーグ定食

八福で和風ハンバーグ定食を頼みました。
得々ハンバーグ定食がなくなっちゃったんですね。

画像

食べていて気がついたんですが、
このハンバーグはパサパサ。
もしかして肉の量が少ないのかな?
それとも油の量が少ないのかな?

【和風ハンバーグの関連リンク】


楽天で「ハンバーグ」を調べる。
アマゾンストアで「和風」を調べる。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2007-01-13 Sat

赤松さんのスパムサイト作成講座(SEO講座)

サイドフィードの赤松さんが「スパムサイト作成講座」と題して
SEOに関する記事を書いています。シリーズものになるみたい。

スパムサイト作成講座 - 序章 : a++ My RSS 管理人ブログ

もともと SEO についてつらつら書こうかと思っていたのですが、逆にダー
クサイドから眺めたほうが SEO をより深く理解できると思ったので、し
ばらくネタだししながら連載してみることにします


クローラーの挙動や、世の中のWebサイト運営者がどのようにして
日夜検索順位を上げているかを勉強する意味で、面白い試みですね。



SEO業者はもっとエグいことをしてると思うので、
技術的だけどエビル度の低い技が沢山でてくるのかな。
一連の記事に反応している人のサイトを見ると勉強になりそう。

【SEOの関連リンク】


楽天で「SEO」を調べる。
アマゾンストアで「SEO」を調べる。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2007-01-12 Fri

ロングアイランド・アイスティーを飲んでみた

ロングアイランド・アイスティーを飲んでみようと思い、
行きつけのお店で頼んで作ってもらいました。
たまに頼んでいる人を見ていて、美味しいのかなと思っていたんです。

画像

ロングアイランド・アイスティーって紅茶使ってないんですね。

ロングアイランド・アイスティー Liqueur&Cocktail サントリー

1980年代初頭、アメリカ・ニューヨーク州ロングアイランドで生まれた
カクテル。紅茶を一滴も使わないで、アイスティーの味わいと色を出した
魔法のカクテル。ケーキに紅茶という組み合わせもいいけれど、アイス
ティー風味のカクテルとの相性も試してみたい。アルコール度の高いカク
テルなので、レモンジュースやコーラの甘味にだまされないように注意!


飲んでみると全然お酒っぽく無いけど、
確実にアルコール度数が高い感じでした。
バタンと行きたくないのでゆっくり飲みました。
まー、ほらアイスティっぽいんですよ、と言われるとそんな気分も。

その後、何故かギネスキャンペーンのクジを高く積み上げて
遊んでしまいました。完全に酔っ払いですね。本当に(ry

画像

いや、でも7段ってスゴクねー?

【ロングアイランド・アイスティーの関連リンク】


ロングアイランド・アイスティー - Wikipedia
一般的なレシピ
    * 材料 (1)
・ラム 15 ml
・ウォッカ 15 ml
・テキーラ 15 ml
・ドライ・ジン 15 ml
・コアントロー 2 tsp
・レモンジュース 30 ml
・粉砂糖 2 tsp
    * 材料 (2)
・コーラ 適量
・レモン・スライス 1枚

楽天で「カクテル」を調べる。
アマゾンストアで「カクテル」を調べる。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

Newtonの完全図解周期表を買った

正確には私は買ってないですけど、はらださんが買いました。
Newtonの完全図解周期表って、気のせいかも知れませんが
たまに見る気がしますね。気のせいでしょうか??

画像

もしかしてNewtonが時々出しているのかな?
それとも他のNewton以外の雑誌かな?

完全図解周期表—自然界のしくみを理解する第1歩

[Amazonで詳細を見る]


いちおうパラリとみて見ると、トイレに張るのにぴったりな
周期表ポスター(超大判)が入っていてドキドキしました。
私はこういうウンチクポスターに弱いんです。欲しいなー。
でも家のトイレの壁に画鋲で穴を開けたくないので我慢しました。

周期表を覚えるときに、一つ一つの元素に感情移入できるような、
仕上げになっていてボーっと眺めると良さそうです。
やっぱり買おうかな。うーん。

【Newtonの関連リンク】


楽天で「Newton」を調べる。
アマゾンストアで「Newton」を調べる。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

週刊ロボザック(Robozak)を見かけた

週刊ロボザック(Robozak)を書店で見かけました。
軽く中を読んだのですが、いったい幾ら注ぎ込むとロボットができるのか
計算してみると、15万円くらい?ということが分かって恐怖を感じました。

画像

しかも、第一号で出来上がるのは「肩」です。超地味。
気が遠くなるとともに、肩、膝、手のひら、みたいに
パーツがばらばらでしか集まらなくて、
最後の方で結合が始まって再集合で頭がきたりしたら嫌だなと、
勝手に妄想しました。

世の中には週刊ロボザック(Robozak)をネタにブログを書いてる
猛者がいるんですね。尊敬しました。

【ロボザック(Robozak)の関連リンク】


君はデアゴスティーニの罠にはまったか?
ご存知デアゴスティーニのパーツ付きマガジンRobozakとMyRobotの製作記です。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

いわしの揚げ煮定食

昼食はいわしの揚げ煮定食でした。

画像

見た目が微妙ですが、味はなかなか普通でしたよ。
ただレンコンがレンコンじゃなくてびっくり。
これはなんだったんだろう。白くて穴が開いてる何かでした。

【いわしの関連リンク】


[を] たたみいわし
楽天で「いわし」を調べる。
アマゾンストアで「いわし」を調べる。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2007-01-11 Thu

八王子 讃岐うどん いそや

久々にいそやに、うどんを食べに行った。とても込んでいた。
天ぷらが売り切れまくっていて、ちくわ天しか欲しいのが無かった。

画像

うどんはかけの中を頼んだ。美味しかったです。ダシが。
麺は普通ぐらい。来る時間でこんなに違うとひくな。
前にきたときは空いていて、そのときは文句無く美味しかった。
いそやってご飯時に来ちゃいけないお店なのかもなー。

【讃岐うどんの関連リンク】


はじめてのさぬきうどん 讃岐うどん巡り解説
楽天で「讃岐うどん」を調べる。
アマゾンストアで「讃岐うどん」を調べる。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2007-01-10 Wed

モスバーガーのバーベキューフォカッチャ

モスバーガーでフィッシュバーガーとバーベキューフォカッチャを食べた。

画像画像

バーベキューフォカッチャは実際の見た目がかなりコンパクトですが、
スモークソーセージが美味しいし、フォカッチャがモチモチとしており、
食べ終わった後には満足していました。
フィッシュバーガーはいつもどおりの美味しさです。うまいっす。

【モスバーガーのバーベキューフォカッチャの関連リンク】


MOS BURGER
楽天で「ハンバーガー」を調べる。
アマゾンストアで「ハンバーガー」を調べる。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

無印良品 パステル6色ボールペン

無印良品のパステル6色ボールペンを見ました。
色がかなり鮮やかで、手帳記入や書類チェックに使うと、
憂鬱な作業もパステル色になるかも。

画像画像

とはいえ、個人的には4色ボールペンでも良いよね、と思い
無駄な買い物をしないように今回は様子見です。

もう一回みかけて欲しかったら買うと思います。

【ボールペンの関連リンク】


楽天で「ボールペン」を調べる。
アマゾンストアで「ボールペン」を調べる。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2007-01-09 Tue

ChangeLogを使ったToDO管理手法

ChangeLogを使ったToDOの管理手法について、
ひげぽんさんが書いていたのを見かけました。

ひげぽん OSとか作っちゃうかMona- - EmacsのChangeLog で todo を管理するときにちょっとだけ楽しく

僕は ChangeLog で todo を管理しています。
以下の様に箇条書きで、終わっていないものは□、
終わったものは■(塗りつぶし)で書いています。
(この方式は id:kambara に教わりました。)


■⇔□変換を楽しくするEmacsマクロも公開されていました。
早速試してみたのですが、□を変換するのがとても気持ち良いです。
かなり良い感じです。


楽天で「マネジメント」を調べる。
アマゾンストアで「マネジメント」を調べる。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

ニュースの集め方について考えてみた

日々いろいろなサイトやブログが発行するフィードを読んでいると、
他の人の集めたり発信したりしている情報の幅広さに驚きます。
また、自分も情報収集や発信をしてみたいな、という気持ちが多少出てきます。

では自分自身の情報収集力を高めるためにはどうすれば良いでしょうか。
自分が自分の役に立つ情報を集めるとしたら自分はどうあるべきでしょうか。

個人の情報収集力には個性や限界があるので、一概には言えませんが
分野の幅広さ、扱う情報の深さ、情報の新しさなどの尺度を、
できるだけ高い状態にしてあげると情報源として役に立ちそうです。
ただ、私はニュースサイトを運営しているわけではないので、
分野の幅広さや情報の新しさを追求すると生活のバランスが崩れそうです。

そのため実際には実行できませんが、自分がニュースを集めるとしたら、
どういうところから集めるかな、と思い考えて見ました。

ニュースのネタの集め方


新聞社や大手ポータルのニュースコンテンツの網羅

Yahooニュースとスポーツ新聞や地域新聞を網羅すれば、
今起きている大体の新しい出来事を収集できました。
ニュースサイトを網羅

自分で集められないような細かな情報を集めてくれている
ニュースサイトさんを網羅的に監視すると、
自分では消化できないほどの、それぞれが異なるニュースを
得ることができました。
大手ポータルや雑誌社のコンテンツを網羅

雑誌社のサイトの独自コンテンツや、大手ポータルの特集は
ネタの宝庫。自分の興味の分野の情報があればラッキー
ライバルの情報源を網羅

引用元を示さないニュースサイトは尊敬できないけれど、
ちゃんと引用元を示してくれているサイトさんは、
尊敬できるし勉強にもなりますね。
ということでライバルの情報源は徹底的にチェックするか、
徹底的に見ないかするべきだなと感じました。
外国のニュースやブログをチェック

ニュースサイトをやったとして、一番強いのは
海外ニュースの翻訳サイトでしょうね。
IT系以外にも日本人が手をつけていない面白情報源はたくさんあります。
外国の有名ブロガーが何を言っているかを、翻訳するだけでも
ネタとしては面白そうですね。
実際にたくさん外国人ブロガーの記事を購読していますが、
文化や視点の違いが非常に興味深く面白いです。
気になるキーワードをチェック

気になるキーワードをブログ検索や、ソーシャルブックマークを使い
ひたすらマークするのです。最近はブログ検索の感度が良いですね。
キーワードの選び方が良いと、ノイズが少なくて新鮮な情報源が
低コストで得られそうです。


正直、目新しいことは無いですねー。

話題の集め方を探したり、実際にニュースサイト作りを想定して
情報を集めてみて、いくつか感じました。

ニュースサイトを作るなら、
- 全部の情報を自分で集めようとしない。
- 情報収集から記事作成までを半自動化すべし。
- 速さ、広さ、深さ、珍しさのどれかのレベルを最大に保つ。
- 個人ニュースサイトがそれほど進出していない分野を探す。
- 何より自分が楽しいテーマを探す。
- ひとつひとつの記事に入れ込み過ぎない。

とくに半自動化は必須だと思います。
最後の味付けは人間が行わないといけませんよ。やはり。

取り留めない文章ですがオシマイ。

【ニュースサイトの関連リンク】


[N]ネタフル
百式
楽天で「ニュース」を調べる。
アマゾンストアで「ニュース」を調べる。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2007-01-08 Mon

モスバーガーで調べ物

またか、と自分で思いつつモスバーガーに入った。

画像

コンセントもあるし、暖房も効いてるし快適なんだよなー。

【モスバーガーの関連リンク】


MOS BURGER
楽天で「モスバーガー」を調べる。
アマゾンストアで「モスバーガー」を調べる。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

サライ2006年12月21日のブックレビュー

たまたま読んだサライのチョイ古なのに、書評がありました。
書評を写経する気にはなりませんが、こんなのが紹介されていました。

よこはま動物園ズーラシアの園長、増井光子さんの人生を変えた2冊。

シートン動物記1
シートン動物誌1

とくにシートン動物誌はシートン動物記の背景となった資料集で、
全12巻すべてがオススメのようです。

増井光子さんは、もう1冊紹介していました。
ツキノワグマが何故人間をおそれなくなったのか、が書いてあるみたい。

ツキノワグマ

レイモンド・チャンドラーが作り出したハードボイルドな主人公、
フィリップ・マーロウが何故格好良いのかの分析本。
フィリップ・マーロウのダンディズム



祭り、酒宴と酒肴、醸造と保存の観点から日本人の生活・文化と
深いつながりをもつ酒を考察した興味深い1冊。
酒の日本文化

もやしもんとかを読んでいる人にオススメかも。

現代風の徒然草。独特の文体と書体が魅力的。
莫山つれづれ

何故日本の食べ物に必要なダシが大切なのか。
おいしさを化学する

芋版画は輪切りじゃなくて、縦切りでね。
お芋で年賀状



不出世の噺家、三遊亭円朝の足跡。
円朝ざんまい よみがえる江戸・明治のことば (単行本)

浅草花屋敷の150年の歴史を綴っている。
江戸ッ子と浅草花屋敷元祖テーマパーク奮闘の軌跡

映画や小説の舞台となった120の坂道を、地図入りで紹介。
東京坂道散歩—坂道上れば昭和がみえた

熱狂的なファンが多い小林研一郎さんによるクラシック案内。
小林研一郎とオーケストラへ行こう



激動の時代を生きた近代画家16人の鮮烈な生き様。
讃歌 美に殉じた人びとへ

日本の北から南まで日本の美しさと、各地の自然、風土、暮らしを描写。
写真家の旅—原日本、産土を旅ゆく。

現在85歳の東大寺長老による東大寺ガイド。東大寺の裏を掘り下げた1冊。
東大寺を深く知ることで大仏だけに眼が行きがちな東大寺を見る眼が変わ
るそうです。まー、こういうのは歴史的に重要ですよね。
誰も知らない東大寺



キャッチフレーズは自分のメモ代わりなので、
内容を正確に表現していない可能性もありますが。

普段読まない本を読むと、普段読まない本を紹介していて、
異業種交流会に参加したような気分になりますね。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

八福 鶏肉の竜田揚げ定食

八福の鶏肉の竜田揚げ定食。

画像

おかずが増えているような気がしたので、
自分のブログを確認[2006-12-28-3]してみたら増えてた。
ツイてる!

同じものを10日に一回食べていることを確認してショックを受けた。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

今年はバーティカル検索が来る、らしい

Googleコードサーチや、Amazonの商品検索などに代表される、
目的特化・範囲限定型の検索、バーティカル検索が来るのでは、と、
ツイてる!ポッドキャスト新春2007中でたつをさんが語っていました。

以下、自分用メモ。




例として挙げられていたのは以下のような検索。

下流検索 : もう駄目だ。給料が低い。とか連発するネガティブな生き方
      なブロガーによる記事を検索
アキバ検索:アキバな記事をクロールしてインデキシング

APIが沢山公開されているので、趣味に特化した検索アプリを
作りやすくなってきた。
おまけにバーティカル検索ならノイズレスなインデックスを作りやすい。

何がバーティカルなのかは難しい。
ブログ検索は複数ジャンルの記事が含まれた、
メタなジャンルの記事を検索するようなイメージがある。

ブログ検索はブロガーによる評判を検索できるので、
ユーザが目的をもって検索すれば、それなりにブログから
範囲をしぼった情報を得られそう。
例えば下流ブロガーによる評判を知りたいとか。




この話題を聞くだけでもツイてる!ポッドキャスト新春2007を
聞く価値があるような気がしました。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

ツイてる!ポッドキャスト新春2007 3日目

ツイてる!ポッドキャスト新春2007の3日目。

[2007-01-08-1] 1日目
[2007-01-08-2] 2日目
[2007-01-08-3] 3日目

ポッドキャスト中で出てきたキーワードをメモ

ツイてる!ポッドキャスト新春2007 3日目


2007年のキーワード

- 愛の流刑地がドラマ化
- Windows Vista
- RSSリーダー
- アカデミー賞
- 東京ミッドタウン
- 交通博物館
- 鉄道博物館
- さいたま市
- 下流喰い
- 下流ブログ
- 明日があるさ
- ツイてる
- バイナリハックス
- 縁の下の力持ち
- 地に足が着いている
- バーティカルサーチ

---

何のことやら、という感じでしょうけど聞くと分かります。

関連エントリ

[2007-01-08-3] ツイてる!ポッドキャスト新春2007 3日目
[2007-01-08-2] ツイてる!ポッドキャスト新春2007 2日目
[2007-01-08-1] ツイてる!ポッドキャスト新春2007 1日目
[-] 3
投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

ツイてる!ポッドキャスト新春2007 2日目

ツイてる!ポッドキャスト新春2007の2日目。

[2007-01-08-1] 1日目
[2007-01-08-2] 2日目
[2007-01-08-3] 3日目

ポッドキャスト中で出てきたキーワードをメモ

ツイてる!ポッドキャスト新春2007 2日目


アサマシ&ブログの人気記事

- はてブの量でブログエントリの人気度を測定
- 若者はなぜ3年で辞めるのか? 年功序列が奪う日本の未来
- 仕事の禁句変換辞典—モノは言いよう
- 「頭がいい人」が武器にする 1分で話をまとめる技術
- フェルマーの最終定理—ピュタゴラスに始まり、ワイルズが証明するまで
- 戦争における「人殺し」の心理学
- ストレスフリーの仕事術—仕事と人生をコントロールする52の法則
- Life Hacks PRESS ~デジタル世代の「カイゼン」術
- アイデア・ブック スウェーデン式
- すばらしい思考法 誰も思いつかないアイデアを生む
- 全米NO.1のセールス・ライターが教える 10倍売る人の文章術
- ソースネクスト:まるで手書き PLUS
- パワポ使いへの警告
- アメリカ口語教本・入門用(最新改訂版)
- 英語多読にかかる費用について
- 自分の小さな「箱」から脱出する方法
# 1回絶版になった幻の本
- 「手帳ブログ」のススメ
- 「続ける」技術
- レバレッジ・リーディング
- 齋藤孝の速読塾—これで頭がグングンよくなる!




何のことやら、という感じでしょうけど聞くと分かります。

関連エントリ

[2007-01-08-3] ツイてる!ポッドキャスト新春2007 3日目
[2007-01-08-2] ツイてる!ポッドキャスト新春2007 2日目
[2007-01-08-1] ツイてる!ポッドキャスト新春2007 1日目
[-] 3
投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

ツイてる!ポッドキャスト新春2007 1日目

ツイてる!ポッドキャスト新春2007を聞きました。
出演は橋本さんと、たつをさんと、聖幸さんです。

3人で温泉地に行って収録したらしいですよ。へえ。
3回構成で、毎日司会の担当者が違っていました。

とても長いので3つに分けました。

[2007-01-08-1] 1日目
[2007-01-08-2] 2日目
[2007-01-08-3] 3日目

ポッドキャスト中で出てきたキーワードをメモ

ツイてる!ポッドキャスト新春2007 1日目


1日目が個人的にツイていたことベスト3×3人分。


・紹介されていたオススメ本
実録 SEの履歴書
# たつをさんを知りたい人は読むとよいそうです

トム・ピーターズのサラリーマン大逆襲作戦
# ワーキングスタイルについて含蓄のある言葉が書いてある名著

情報考学—WEB時代の羅針盤213冊
# 橋本大也氏による213冊分の書評。超ブ厚い。濃い。






何のことやら、という感じでしょうけど聞くと分かります。

関連エントリ

[2007-01-08-3] ツイてる!ポッドキャスト新春2007 3日目
[2007-01-08-2] ツイてる!ポッドキャスト新春2007 2日目
[2007-01-08-1] ツイてる!ポッドキャスト新春2007 1日目
[-] 3
投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

関連エントリ

[2007-01-03-4] DBICのリレーションが良くわからないのでメモ - 1対多
[2007-01-03-3] DBICのリレーションが良くわからないのでメモ - 1対1
[-] 2

2007-01-07 Sun

新宿駅東口 Segafredo ZANETTI

甘いものが食べたいと幹事が言ったので、
30分くらいコーヒーを飲むか、と入りました。

画像

店内はすし詰め状態でギューギュー。
店内が座れるか座れないか位は店員さんが管理するべきではと思いました。

コーヒーを飲んでいるあいだに、個人的にためになる話を聞きました。
本人は愚痴程度のつもりだったのだと思いますが、非常に有益です。
さっそく実生活で活かしたいと思います。

ちょっと休んだらいい感じになったので帰りました。おつかれです。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

新宿 磯善

新年会で新宿の磯善というところへ行きました。
西武新宿駅からずっと歩いたところにあります。
よく分からない場所ですが、目の前のネオンは綺麗でした。

画像画像

店内は広かったですけど、お客さんが沢山でした。
頼んだものが全然来なかったのがショックでしたね。

画像

鍋ものを中心に頼みました。
磯善の鍋はボリュームがあっていいですね。
3人で1つという感じの量でした。
あー、おいしかったですよ。もちろん。

それにしても、最近全然カメラのピントがキチっと合いません。
調子が悪いのをだましだまし使っている感じです。
明るさもキチンと調整してこんなに暗いのですから、困りもの。

周りがほとんど社会人になっていましたが、
みんなの顔はそんなに変わっていなくて嬉しかったです。
ストレスに負けて死にそうな人が居ないのは良いことです。
元気を貰いました。また元気に忘年会を迎えたいですね。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

 DBICのリレーションシップ

やっぱり、DBIx::Class::Relationshipを読み直すことにした。
こういうのをちゃんと理解しておかないと足をすくわれるし。
ちょっとづつ書いたら、何日もかかった。ションボリ。

まずは前提となるデータ

こんな感じで、Authorテーブルと、Bookテーブルがあるとする。
ID | Name | Age
 ------------------
   1 | Fred | 30
   2 | Joe | 32

  ID | Author | Name
 --------------------
   1 | 1 | Rulers of the universe
   2 | 1 | Rulers of the galaxy

リレーションシップなしの場合

もしもリレーションシップを使わないときに、Fredの書いた全ての本を取
り出すとしたら、以下のようになる。
my $fred = $schema->resultset('Author')->find({ Name => 'Fred' });
my $fredsbooks = $schema->resultset('Book')->search({ Author => $fred->ID });

2行書かなきゃいけなくて、理解はしやすいかも知れないけど面倒すぎ。
リレーションシップありの場合

リレーションシップを使えば1行ですむ。
今回の場合は「Author上でbooksという名前のhas_manyなリレーションシッ
プを宣言」しておけば、以下のようにできる。(細かいことは後)
my $fredsbooks = $schema->resultset('Author')->find({ Name => 'Fred' })->books;

確かに手間が半分以下になる。すごい。
リレーションシップって何??

各リレーションシップは、 テーブルのアイテムたちを構成する
DBIx::Class::Manual::Glossaryオブジェクト
の"Row"がもつ、アクセサメソッドをセットアップする。
RowオブジェクトはResultSetオブジェクトから返ってきた実際のデータ。
DBIx::Class::Manual::Glossaryオブジェクトの"ResultSet" より、
search_relatedを使って、リレーションシップたちは検索されることが可能になる。
ResultSetオブジェクトはテーブルオブジェクトのこと。データそのもの。
リレーションシップの利点

リレーションシップは
リストコンテキストでは、リレーションはRowオブジェクトたち
のリストを関連するクラスに返す。
スカラーコンテキストでは、JOINされたテーブルを表現する新し
いResultSetを返す。

だから、クエリ圧縮のためのリレーションの連鎖呼び出しができる。
従って、実際にデータベースにクエリが投げられるのは、
実際のアイテムのためのデータを検索する必要に迫られたときで、
それまでは一切無駄な時間を使わない。

例えば、以下のようにsearch_relatedメソッドを使うと、
以下のような1行のSQLを発効する。
 my $cheapfredbooks = $schema->resultset('Author')->find({
   Name => 'Fred',
 })->books->search_related('prices', {
   Price => { '<=' => '5.00' },
 });

 SELECT * FROM Author me
 LEFT JOIN Books books ON books.author = me.id
 LEFT JOIN Prices prices ON prices.book = books.id
 WHERE prices.Price <= 5.00

複数回のfetcheなしでいける。
つか、リレーションシップを記述する利点は豊富なヘルパーメソッド

このとき、どこかでpriceという名前で、Bookテーブルと値段の書いたテー
ブル(多分Priceテーブル)との間のリレーションを記述しておく必要がある。

リレーションシップを記述すると、search_relatedなどのヘルパーメソッドが使
えるようになる。
search_relatedメソッド以外にも、頻繁に使う基本的なヘルパーなメソッドが用意されている。

search_relatedメソッド以外の、頻繁に使う基本的なヘルパーメソッドは
DBIx::Class::Relationship::Baseにあるから、そっちを見る。
(add,regist,search,count,create,find,update,set,delete,add,remove・・・)
まー、何か大体あるなー。

で、実際のリレーションシップに使うメソッドを見てね。

ヘルパーメソッドどもの使い方について


すべてのヘルパーメソッドは以下のような引数を取得する。
_PACKAGE__>$method_name('relname', 'Foreign::Class', $cond, $attrs);

$condと$attrsはオプションだから、何も書かなくてもいい。
どうしても何かを書きたくて、かつ無記入と同じデフォルトの値を渡したいときは、
undefを渡せばいいよ。

ヘルパーメソッドはさておき、リレーションの記述方法


実際にリレーションを記述するのは、テーブルスキーマを記述するクラス。

例えば、DB用のスキーマと、テーブルのスキーマを用意する。
package My::DBIC::Schema;
use strict;
our $VERSION = '0.01';
use warnings;
use base qw/DBIx::Class::Schema/;
__PACKAGE__->connection('dbi:mysql:testapp', 'id', 'pass');
__PACKAGE__->load_classes(qw/Books Authors ISBN/);
1;

MySQLにtestappという名前のDBをcreateした状態。
idとpassには接続に必要なものを書く。
つか、いい加減だからコピペしても動かないと思う。

さらに、テーブルのスキーマ。
package My::DBIC::Schema::Book;
use strict;
our $VERSION = '0.01';
use warnings;
use base qw/DBIx::Class/;
__PACKAGE__->load_components(qw/PK::Auto Core/);
__PACKAGE__->table('book');
__PACKAGE__->add_columns(qw/id author name/);
__PACKAGE__->set_primary_key('id');
1;
__END__

package My::DBIC::Schema::Author;
use strict;
our $VERSION = '0.01';
use warnings;
use base qw/DBIx::Class/;
__PACKAGE__->load_components(qw/PK::Auto Core/);
__PACKAGE__->table('author');
__PACKAGE__->add_columns(qw/id name age/);
__PACKAGE__->set_primary_key('id');
1;
__END__


まー、多分こんな感じ。
説明とスキーマ内のテーブルとかアイテムの名前が違うけど、そこはそれ。
何書いているのか良く分からない人は、WEB-DBマガジンVol.36のnaoyaさ
んの連載を見ると、へえ、と分かると思います。

これらのものが少なくともある状態で、以下につづく。
has_one

Arguments: $accessor_name, $related_class,$foreign_key_column|$cond?, $attr?
引数:アクセサ名、関連付け対象のクラス名が必須。必要ならその他の引数も。

どこかにBookテーブルのidカラム(PK)と対応付けられている、
ISBNテーブルがあって、確実にBookとISBNが1対1対応すると分かっている
ときの例は以下のような感じ。My::DBIC::Schema::ISBNは省略。
package My::DBIC::Schema::Book;
・・・
__PACKAGE__->has_one(isbn => 'My::DBIC::Schema::ISBN');

My::DBIC::Schema::Bookに追記するってことですよ。

こういうリレーションシップを書いておくと、
isbnを呼び出してResultSetを得たり、ヘルパーメソッドを使えたりする。
あるクラスと他のクラスの1対1のリレーションシップを作ったことになる。
my $schema = My::DBIC::Schema->connect;
my $obj = $schema->resultset('Book')->find(1);
my $isbn_obj = $obj->isbn; # to get the ISBN object

この場合、スカラーコンテキストなのでResultSet(データ)が返ってくる。
返ってきたResultSetは、BookテーブルとISBNテーブルがINNER JOINされ
たもの。

JOINする際に「対応するオブジェクトが必ずある」という暗黙の了解がな
い場合は、might_haveを使うと良い。
might_haveの場合には、LEFT JOINされたResultSetが返ってくる。
has_oneとmight_haveの違いは、それだけ。
INNER JOINの場合は、対応関係が取れないデータは無視するし、
LEFT JOINの場合には対応関係が取れない場合に、対応先として、
とりあえずnullを挿入してJOINしてくれる。

JOINするときに使われるキーについては、might_haveの説明中に書く。
ちなみに、上のリレーションシップの場合は、
My::DBIC::Schema::ISBNのisbnカラムか、My::DBIC::Schema::ISBNのPKが、
My::DBIC::Schema::BookのPKと対応していると考えられる。
might_have

あー、えーと、Pseudonymテーブルが出てきますけど記述は省略。

Arguments: $accessor_name, $related_class,$foreign_key_column|$cond?, $attr?
引数:アクセサ名、関連付け対象のクラス名が必須。必要ならその他の引数も。
package My::DBIC::Schema::Author;
・・・
__PACKAGE__->might_have(pseudonym => 'My::DBIC::Schema::Pseudonym');

このようなリレーションを記述することで、以下のようにできる。
my $schema = My::DBIC::Schema->connect;
my $obj = $schema->resultset('Author')->find(1);
my $pname = $obj->pseudonym; # to get the Pseudonym object

で、JOINするときのキーが一体何なのか。
これが知りたくて英語ドキュメントを読み直したんだけど、
ちゃんと書いてありましたよ。
JOINするときのキーは何なのか

My::DBIC::Schema::Author->might_have(pseudonym =>'My::DBIC::Schema::Pseudonym')


上の例のMy::DBIC::Schema::Authorへの記述は、
クラスに対する任意の1対1のリレーションシップを作る。
これはhas_oneとmight_haveで共通のこと。

「Authorはmight_haveだ。Pseudonymを。」という関係。
つまりAuthorがPseudonymを所有している。
PseudonymがAuthorを所有するかなー?と思うので、
この場合、AuthorはPseudonymのPKを知らないけれど、
PseudonymはAuthorのPKを知っている状態ということになる。

まー、もちろん、AuthorがPseudonymのPKを知っていて、
互いに所有しあっていても問題はない。
ポイントは所有される側が、所有する側のPKを知っているか、
ということだろう。
これって、何か哲学的だなー。

例えば主人と犬がいて、犬は主人のPKを知らなきゃいけないけれど、
主人は犬のPKを知っていても知らなくてもいいってことだよなー。
ふかいー。子供が泣くから親は子を育てるんですねー。

あ、脱線した。

リレーションシップは標準ではアクセサ名(例、pseudonym)を、
関連付けされたクラス(例、My::DBIC::Schema::Pseudonym)中の外部キー
として、JOINを解決するために使う。
リレーションの記述の3つめの引数は、$foreign_key_columnか$condだが
例外は、関連付けされたクラスに$foreign_key_columnに明記されたカラムが
ある場合や、$condがJOIN条件を示すハッシュへの参照を示す場合だ。

リレーションシップは
- 関連付けされたクラスに$foreign_key_column(外部キーのカラム)と明記されたカラムがあるか
- JOIN条件を示すハッシュ$condがあるか
を調べて、JOINの対応を解決しようとする。
そもそも$foreign_key_columnか$condがなければ、
- 関連付けされたクラスに、アクセサ名と同じ名前のカラムはあるか
を調べてくれる。もしカラムがあればJOIN時につかわれる。
それでも駄目なら、2つのテーブルはPKを共有していると見なすようだ。

なるほどねー。あとで試してみよう。やっと分かったよー。

つまり、上述のAuthorとPseudonymのリレーションシップでは、
AuthorにPseudonym関連の記述がないことは分かっているので、
PseudonymのpseudonymカラムかPKが、AuthorのPKと一致していないと、
期待通りの結果を得られないことがわかる。

PseudonymのauthorというカラムにAuthorのPKが入っているときには、
以下のように書いてあげれば、期待通りのJOINの解決がおこなわれる。
これが、$foreign_key_columnの設定。
この場合、PseudonymのauthorカラムをJOINに使う。

My::DBIC::Schema::Author->might_have( pseudonym =>
					 'My::DBIC::Schema::Pseudonym',
					 'author' );


さもなくば、こう書く。これがJOIN条件を示すハッシュ$cond。

  My::DBIC::Schema::Author->might_have( pseudonym =>
					 'My::DBIC::Schema::Pseudonym',
					 { 'foreign.author' => 'self.author' } );


この場合、foreign(My::DBIC::Schema::Pseudonym)のauthorカラムと
self(My::DBIC::Schema::Author)のauthorカラムをJOINの解決に使ってくれる。
JOINの解決に呼び出し側のPKを使わない場合はこれだね。

結局has_oneとmight_haveとbelongs_toは、それぞれ理解すると理解が深
まるので、上を見たり下をみたりするといいかも。
belongs_to

では、belongs_to。基本はhas_oneやmight_haveと同じ。

Arguments: $accessor_name, $related_class,$foreign_key_column|$cond?, $attr?
引数:アクセサ名、関連付け対象のクラス名が必須。必要ならその他の引数も。

  # in a Book class (where Author has many Books)
  My::DBIC::Schema::Book->belongs_to( author => 'My::DBIC::Schema::Author' );
  my $author_obj = $obj->author; # get author object
  $obj->author( $new_author_obj ); # set author object


「Bookは所有されている。Authorに。」という関係。
AuthorがBookの親であるという関係ですね。

AuthorがBookのPKをどのカラムにも持っていないときに使う。
つまり呼び出される側が呼び出す側のPKを持っていない場合が、
belongs_toとなる。

呼ぶ側のクラスが呼ぶ側のクラス自身のカラムの一つ(または複数)に、
呼ばれる側である外部クラスのプライマリキー(PK)を保存している、とい
うリレーションシップを作る。

上の例の場合、
呼ぶ側クラスから見た外部クラスは「My::DBIC::Schema::Author」で、
呼ぶクラス「My::DBIC::Schema::Book」は、コラムのどこかにAuthorのPK
をもっているということだ。

ふむふむ。

上述の例だと、$foreign_key_columnや$condが無いので、
Bookのauthorカラムを使おうとするわけだ。

ちなみにbelongs_toは1対1、1対多、多対多の関係のどれでも使われる。
has_oneやmight_haveは必ず1対1ね。

$foreign_key_columnや$condの使い方は同じ。

  My::DBIC::Schema::Book->belongs_to( author=> 'My::DBIC::Schema::Author',
				       { 'foreign.author' => 'self.author' } );

4つめの引数$attって何?

$attの説明をすっ飛ばしてきた。じゃあ、理解してみよう。

has_oneやmight_haveは、そのようなリレーションシップにおけるオブジェ
クト(JOINされたデータ)を作るためにあるんだけれど、
そのオブジェクトにdeleteしたりupdateしたりしたときに、
標準では関連付けされた基のオブジェクトもdeleteされたりupdateされ
たりする。これが嫌なときは$attを使う。

関連づけされた基のオブジェクトへの作用を切るには以下のようにする。
My::DBIC::Schema::Author->might_have( pseudonym =>
					 'My::DBIC::Schema::Pseudonym',
					 'author', {cascade_delete => 0} );

こうすることで、DBレベルのdaleteやupdateの制約を無効化できる。へえ。

belongs_toの$attではJOINの方法を指定できる。
どうもbelongs_toの標準はINNER_JOINのようだ。
そうすると、$obj->authorして、Bookのauthorカラムを見たときに、
Authorのauthorカラムと対応するものがないときに、
その対応するものがないauthorカラムの要素はJOIN時に無視される。
そうではなくて、Bookのauthorカラムに対応する要素がないなら、
対応要素の代わりにNULLをいれて欲しい場合もある。
そんな時は、以下のようにしてleft_joinだよ、と思えてあげればいい。
  # in a Book class (where Author has_many Books)
  __PACKAGE__->belongs_to(author => 'My::DBIC::Schema::Author',
			   'author', {join_type => 'left'});

また、belongs_toでは標準で「cascade_delete => 0」になっている。
なので、DBレベルのdaleteやupdateの制約を有効にしたければ、
「cascade_delete => 1」と指定してあげればいい。
has_many

はぁ、疲れてきた。has_manyか。

Arguments: $accessor_name, $related_class,$foreign_key_column|$cond?, $attr?
引数:アクセサ名、関連付け対象のクラス名が必須。必要ならその他の引数も。

has_oneじゃなく、1対多のhas_many。
「こいつはもってる。たくさんのあれを。」な関係。
今回は著者と本の関係。一人の著者が沢山の著書をもってる場合ですね。

記述はhas_oneとかの時と、そんなに変わっていない。
  # in an Author class (where Author has_many Books)
  My::DBIC::Schema::Author->has_many(books => 'My::DBIC::Schema::Book', 'author');

Authorから見て、複数のbookを持っているんだから、
直感的にbooksという名前のアクセサ名にしたい。
Author - has_many - booksね。

でも、そうするとbooksカラムなんて無いから、
ちゃんと$foreign_key_columnを指定する必要がある。
上述の場合は、BookのauthorカラムとAuthorのPKが対応してる。
もちろん、$foreign_key_columnや$condが無いときには、
アクセサ名を使って呼ばれたクラス(例だとBook)のカラムを探す。
なるほどね。

has_manyなリレーションシップを作ると、
3つのメソッドが作られて、それらを使えるようになる。
上述の例だと、以下の3つが作られる。

- books()
- books_rs()
- add_to_books()

要するに、

- $accessor_name()
- $accessor_name + _rs()
- add_to_ + $accessor_name()

の3つが作られる。

まず、例文を示す。

  # in an Author class (where Author has_many Books)
  My::DBIC::Schema::Author->has_many(books =>
  'My::DBIC::Schema::Book', 'author');

  my $booklist = $obj->books;
  my $booklist = $obj->books({
    name => { LIKE => '%macaroni%' },
    { prefetch => [qw/book/],
  });
  my @book_objs = $obj->books;
  my $books_rs = $obj->books;
  ( $books_rs ) = $obj->books_rs;

  $obj->add_to_books(\%col_data);


3つのメソッドを使っている。
リレーションシップで返ってくるオブジェクトは、
スカラーコンテキストの場合ResultSetだと分かっているので、
books()の使い方については割愛。
# だって、今はリレーションシップが分からないんだもん。

さらに、books_rs()は、単純にResultSetを返してくれる。
ただ、ポイントなのはスカラーコンテキストでも、
リストコンテキストでも、お構い無しにResultSetを返す。

add_to_books()については、詳しくはDBIx::Class::Relationship::Base
を参照してくれと書いてある。
新しいRowアイテムを追加するためにあるメソッドのようだ。
そのため、has_manyは標準ではDBレベルのdaleteやupdateの制約が
有効になっている。無効にしたければ$attに「cascade_delete => 0」
を入れておけばいい。

ちなみに、add_to_の例はこんな感じ。
  my $role = $schema->resultset('Role')->find(1);
  $actor->add_to_roles($role);
      # creates a My::DBIC::Schema::ActorRoles linking table row object
  $actor->add_to_roles({ name => 'lead' }, { salary => 15_000_000 });
      # creates a new My::DBIC::Schema::Role row object and the linking table
      # object with an extra column in the link

あー、なるほどねー。だ。
many_to_many

最後だ最後。many_to_manyいってみよう。

Arguments: $accessor_name, $link_rel_name, $foreign_rel_name, $attr?
引数:アクセサ名、リンクリレーションシップ名、外部リレーションシッ
プ名が必須。必要ならその他の引数も。

どんなときがmany_to_manyなのか。
それはマルチユーザなブックマークとかを考えるといいかも。
複数のユーザと複数のエントリがあって
あるユーザの行に複数のエントリの行が対応していて、
また、複数のユーザの行に、あるエントリの行が対応している。
そんなのをイメージすると、many_to_manyって必要だなと分かる。

実際のところ、このmany_to_manyな関係は例えばBookとAuthorのような、
2つのテーブルがあれば使えるわけではなく、
もう1つ中間テーブルのようなものが必要になる。

UserテーブルとEntryテーブルのmany_to_manyを表現するには、
Bookmarkテーブルも必要ってことですね。へえ。

丁度良いので、WEB-DBマガジンVol,36のBookmarkアプリの
スキーマを使って考えてみようかな。
create table user(
    id int unsigned auto_increment primary key,
    name varchar(32),
    key (name)
) TYPE = MyISAM DEFAULT CHARSET=utf8;

create table entry(
    id int unsigned auto_increment primary key,
    url varchar(255) binary unique,
    title varchar(255),
    created_on datetime,
    key (url)
) TYPE = MyISAM DEFAULT CHARSET=utf8;

create table bookmark(
    user_id int unsigned,
    entry_id int unsigned,
    comment text,
    created_on datetime,
    primary key(user_id, entry_id)
) TYPE = MyISAM DEFAULT CHARSET=utf8;

あー、ふーん。なるほど。

で、many_to_manyを使うまえにhas_manyな関係を記述する。

・userとbookmarkの関係
package Bookmark::Schema::User;
use strict;
our $VERSION = '0.01';
use warnings;
use base qw/DBIx::Class/;
__PACKAGE__->load_components(qw/PK::Auto Core/);
__PACKAGE__->table('user');
__PACKAGE__->add_columns(qw/id name/);
__PACKAGE__->set_primary_key('id');
__PACKAGE__->has_many(
     bookmarks=>'Bookmark::Schema::Bookmark',{
	  'foreign.user_id'=>'self.id'
     }
);
1;

・entryとbookmarkの関係
package Bookmark::Schema::Entry;
use strict;
our $VERSION = '0.01';
use warnings;
use base qw/DBIx::Class/;
__PACKAGE__->load_components(qw/PK::Auto Core/);
__PACKAGE__->table('entry');
__PACKAGE__->add_columns(qw/id url title created_on/);
__PACKAGE__->set_primary_key('id');
__PACKAGE__->has_many(
     bookmarks=>'Bookmark::Schema::Bookmark',{
	  'foreign.entry_id'=>'self.id'
     }
);
1;

・bookmarkとentryの関係、と、bookmarkとuserの関係
package Bookmark::Schema::Bookmark;
use strict;
our $VERSION = '0.01';
use warnings;
use base qw/DBIx::Class/;
__PACKAGE__->load_components(qw/PK::Auto Core/);
__PACKAGE__->table('bookmark');
__PACKAGE__->add_columns(qw/user_id entry_id comment/);
__PACKAGE__->set_primary_key('user_id', 'entry_id');
__PACKAGE__->belongs_to(
     entry=>'Bookmark::Schema::Entry',{
	  'foreign.id'=>'self.entry_id'
     }
);
__PACKAGE__->belongs_to(
     user=>'Bookmark::Schema::User',{
	  'foreign.id'=>'self.user_id'
     }
);
1;

で、ここからmany_to_manyにしてみる。
あんまり意味がありませんが・・。

いじくるのは、Bookmark::Schema::EntryとBookmark::Schema::User。
・userとbookmarkの関係にmany_to_manyを追記
package Bookmark::Schema::User;
use strict;
our $VERSION = '0.01';
use warnings;
use base qw/DBIx::Class/;
__PACKAGE__->load_components(qw/PK::Auto Core/);
__PACKAGE__->table('user');
__PACKAGE__->add_columns(qw/id name/);
__PACKAGE__->set_primary_key('id');
__PACKAGE__->has_many(
     bookmarks=>'Bookmark::Schema::Bookmark',{
	  'foreign.user_id'=>'self.id'
     }
);
__PACKAGE__->many_to_many(
	  entries=>'bookmarks', 'entry'
);
1;

・entryとbookmarkの関係にmany_to_manyを追記
package Bookmark::Schema::Entry;
use strict;
our $VERSION = '0.01';
use warnings;
use base qw/DBIx::Class/;
__PACKAGE__->load_components(qw/PK::Auto Core/);
__PACKAGE__->table('entry');
__PACKAGE__->add_columns(qw/id url title created_on/);
__PACKAGE__->set_primary_key('id');
__PACKAGE__->has_many(
     bookmarks=>'Bookmark::Schema::Bookmark',{
	  'foreign.entry_id'=>'self.id'
     }
);
__PACKAGE__->many_to_many(
	  'users'=>'bookmarks', 'user'
);
1;


Bookmark::Schema::Bookmarkが、Bookmark::Schema::Entryと
Bookmark::Schema::Userの間を取り持ってくれている。

Bookmark::Schema::Userではentriesというリレーションシップを作って、
Bookmark::Schema::Userのhas_manyで記述したbookmarks経由で、
Bookmark::Schema::Bookmarkのuserリレーションシップを呼ぶ。

Bookmark::Schema::Entryではusersというリレーションシップを作って、
Bookmark::Schema::Entryのhas_manyで記述したbookmarks経由で、
Bookmark::Schema::Bookmarkのentryリレーションシップを呼ぶ。

こうすることで、「B::S::Entryから、あるエントリに紐づく複数のユーザ」や
「B::S::Userから、あるユーザに紐づく複数のエントリ」を取得できる。
ああ、まー使えるかも。

many_to_manyでは、アクセサは2つのリレーションシップのようなものをつくり
ともかくアクセサはhas_manyのように、ResultSetやオブジェクトのリス
トを返す。

上の例のBookmarkクラスのように、many_to_manyな関係を作りたい
2つのテーブルの間を取り持つクラスをリンクテーブルクラスと言う。

Bookmark::Schema::Entryの例に着目して、many_to_manyの記述を見る。
package Bookmark::Schema::Entry;
・・・
__PACKAGE__->has_many(
     bookmarks=>'Bookmark::Schema::Bookmark',{
	  'foreign.entry_id'=>'self.id'
     }
);
__PACKAGE__->many_to_many(
	  'users'=>'bookmarks', 'user'
);

package Bookmark::Schema::Bookmark;
・・・・
__PACKAGE__->belongs_to(
     user=>'Bookmark::Schema::User',{
	  'foreign.id'=>'self.user_id'
     }
);

Bookmark::Schema::Entryを見る。Bookmark::Schema::Entryからの視点で
は、Bookmark::Schema::Bookmarkがリンクテーブルクラスと呼ばれ
Bookmark::Schema::Bookmark::Schema::Userは外部クラスと呼ばれる。

many_to_manyだけ、他のリレーションシップと引数が違って
引数 = ($accessor_name, $link_rel_name, $foreign_rel_name, $attr?)
だった。

アクセサ名は今までと同じ。

$link_rel_nameパラメタは、many_to_manyを記述しているクラスのテーブ
ル(例ではBookmark::Schema::Entry)からリンクテーブル(例では、
Bookmark::Schema::Bookmark)へのhas_manyなリレーションシップのアク
セサ名を記述する。

$foreign_rel_nameパラメタには、リンクテーブルから外部テーブルへの
belongs_toなリレーションシップのアクセサ名を記述する。

many_to_manyを使うためには、データを格納している外部テーブル(オリ
ジナルテーブルとも呼ぶ)からリンクテーブルへのリレーションシップと、
リンクテーブルからmany_to_manyを記述したテーブル(エンドテーブルと
も呼ぶ) へのリレーションシップが必要となる。
many_to_manyリレーションシップを呼ぶと合計3つのリレーションシップ
を使うことになる。

many_to_manyリレーションシップでも、
has_manyと同じような感じで3つのメソッドが作られる。

上の例では以下の3つのメソッドがつくられる。

- users();
- add_to_users();
- set_users();

つまり、

- $accessor_name();
- add_to_ + $accessor_name();
- set_ + $accessor_name();

が作られる。使い方は

・add_to_
Arguments: ($foreign_vals | $obj), $link_vals?
  $actor->add_to_roles({ name => 'lead' }, { salary => 15_000_000});
      # creates a new My::DBIC::Schema::Role row object and the linking table
      # object with an extra column in the link

・set_
Arguments: (\@hashrefs | \@objs)
  my $actor = $schema->resultset('Actor')->find(1);
  my @roles = $schema->resultset('Role')->search({ role => 
     { '-in' -> ['Fred', 'Barney'] } } );
  $actor->set_roles(\@roles);
     # Replaces all of $actor's previous roles with the two named


add_to_は追加したオブジェクトからリンクテーブルオブジェクトが作ら
れる。追加したリンクテーブルのカラムは$link_valsで指定できる。

set_は、既存のリンクテーブルオブジェクトをset_で与えたオブジェクト
を入れ替える。既存のリンク関係は全部破棄されて、新しいリンクが作ら
れる。

詳しくはDBIx::Class::Relationship::Base




はー、長い。一応自分が使ったお試しスクリプトも貼っておく。

#!/usr/bin/perl
use strict;
use warnings;
use lib qw(./lib);
use Bookmark::Schema;

my $schema = Bookmark::Schema->connect;
$schema->storage->debug(1);

# 完全に削除
$schema->resultset('User')->search(     {} )->delete;
$schema->resultset('Bookmark')->search( {} )->delete;
$schema->resultset('Entry')->search(    {} )->delete;

my $u_rs = $schema->resultset('User');
my $b_rs = $schema->resultset('Bookmark');
my $e_rs = $schema->resultset('Entry');

$u_rs->create( { name => 'bw4' } );
$u_rs->create( { name => 'satou' } );

$e_rs->create(
    {   url =>
	 'http://gigazine.net/index.php?/news/comments/20070106_firefox_revenue/',
	 title => 'firefox',
    }
);
$e_rs->create(
    {   url   => 'http://www.popxpop.com/archives/2007/01/5firefox.html',
	 title => 'firefox',
    }
);

my $users_rs = $u_rs->search( {} );    # get ResultSet
while ( my $user = $users_rs->next ) { # use iterator(search once)
    print $user->name, ": search\n";
}

my $bw_users_rs = $u_rs->search_like( { name => 'bw%' } );    #LIKE get ResultSet
while ( my $user = $bw_users_rs->next ) {    # use iterator(search once)
    print $user->name, ": search like bw\n";
}

my $tmp_user;

$tmp_user = $u_rs->find( { name => 'satou' } );    # get Bookmark::Schema::User
# $bookmarks will be Bookmark::Schema::Bookmark
my $bookmarks = $tmp_user->bookmarks();    # has_many
while ( my $bm = $bookmarks->next ) {      # use iterator(search once)
    print $bm->comment, ": entry->bookmarks()\n";
}

$bookmarks = $tmp_user->bookmarks_rs();
while ( my $bm = $bookmarks->next ) {      # use iterator(search once)
    print $bm->comment, ": entry->bookmarks_rs()\n";
}

# has_many
$bookmarks = $tmp_user->add_to_bookmarks(
    {   entry_id => 1,
	 comment  => 'hahaha',
    }
);

# has_many
$bookmarks = $tmp_user->add_to_bookmarks(
    {   entry_id => 2,
	 comment  => 'fufufu',
    }
);

# get Bookmark::Schema::Bookmark
my $bookmark = $tmp_user->search_related( 'bookmarks', { entry_id => 2 }, )->first;
my $entry = $bookmark->entry;    # get Bookmark::Schema::Entry

# get ResultSet
my $bookmark_rs = $entry->search_related( 'bookmarks', { entry_id => 2 }, );
while ( my $bm = $bookmark_rs->next ) {    # use iterator(search once)
    print $bm->comment, ": search related\n";
    }

my $entries_rs = $tmp_user->entries();
while ( my $ent = $entries_rs->next ) {    # use iterator(search once)
    print $ent->url, ": entries()\n";
}

$tmp_user->add_to_entries(
    {   url   => 'http://www.popxpop.com/archives/2007/01/5firefox.xml',
	 title => 'firefox!!!',
    }
);
$entries_rs = $tmp_user->entries();
while ( my $ent = $entries_rs->next ) {    # use iterator(search once)
    print $ent->url, ": entries()\n";
}

my @ent_arr = $e_rs->search_like( { title => '%!%' } );
$tmp_user->set_entries( \@ent_arr );
$tmp_user->add_to_entries(
    { url => 'http://overlasting.dyndns.org/', title => 'my blog', } );
$entries_rs = $tmp_user->entries();
while ( my $ent = $entries_rs->next ) {    # use iterator(search once)
    print $ent->url, ": entries()\n";
}


書き始めたときは、あとで読み返すかな?と思ったけど、
記事にしちゃうと理解がおわっていて、後で見返すか不安。ま、いいか。

あと、書き忘れたけど、has(have)とbelongsは表裏一体の関係なので、
片方向からだけでなく、双方向になるように両方とも記述しておくと、
あとで楽ですよっていうか、双方向にするような慣習があるみたい。

はっきりしないところはDBICよりもRuby on Railsの資料を読んだほうが
わかったりするかもしれませんね。

関連エントリ

[2007-01-03-4] DBICのリレーションが良くわからないのでメモ - 1対多
[2007-01-03-3] DBICのリレーションが良くわからないのでメモ - 1対1
[-] 3
投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2007-01-06 Sat

TaskPadを使いながら作業作業

年始で休みのあいだに、やらなきゃいけないことが山積みです。
ということでTaskPadとにらめっこしながら、ガガガっと作業してました。
TaskPadをオフラインで使いたくなってきたので、
そろそろCatalyst版のローカルクローンに乗り換えようかなと思ってます。

TaskPadいいですよ。とくにやる気が無いときに良く効きます。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2007-01-05 Fri

卓上ライトを購入した

ヨドバシカメラで卓上ライトを購入しました。
寝る前に点ける用なので、蛍光灯じゃなくて電球タイプにしました。

光量を自由に調整できるのが良いです。
金属製なので、ちょっと重いのが難点ですが。

こういうライトを点けていると、30分くらいでウトウトしてきて
とても良い感じです。以前持っていたライトは落として壊れたんですよ。
もっと早く買っていれば良かったなー。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

八王子駅ビル ステーキ紅矢

駅ビルのそごうの10階にあるステーキ紅矢に行ってきた。
なんだか焼肉が食べたくなったんですよ。

画像画像

メニューがステーキかハンバーグかしかないし、
バリエーションも量を増やすか、ソースを変えるかしかない、
非常に割り切ったお店でした。

肉も意外なほどに柔らかく、味もちゃんとしていて美味しかったです。

どうやら紅矢は八王子のいたるところにあるので、
今後は時々行ってみようと思います。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2007-01-04 Thu

没頭

今日は起きてから食事を取らずトイレも行かず、
水も飲まず、朝から深夜まで作業をしていた。

こういうことをすると、明日以降がガタガタになりがち。
というかガタガタになりそう。
今年は計画的な中断をちゃんと取ってムラを減らします。明日からね。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

ルピシアでお茶を買った

昨日ルピシアの6256番「名間金萓 冬茶」というお茶を買いました。
「ミンジジェンジンジュアン」と読むような気がします。
萓は日本語だと「ジ」と読むみたい。いままで使ったことのない漢字です。

香りの味も甘い中国茶でした。好みの香りなのでよかったです。

画像画像

年始ということで、福茶ももらいました。
「名間四季春 冬茶」というお茶でした。
「ミンジェンスージーチュン」というお茶のようです。
こっちの方がサッパリしていますよ、と、店員さんが教えてくれました。
まだ、飲んでいないのでそのうちサッパリ度が分かると思います。

今年はルピシアの福袋(というか福箱)を買おうか悩んだ末に買いません
でした。家にあるお茶をちゃんと消費したいと思います。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2007-01-03 Wed

横浜駅西口 ダイヤモンド地下街 まん天餃子

考え事して実装して、とやっていたら辺りが暗くなったので、
ご飯を食べて八王子へ戻ることにしました。

まん天餃子というダイヤモンド地下街にある店に入りました。

画像画像

まん天餃子2人前とご飯とスープを店内でいただきました。
きゅうりのぬか漬けは売り切れていました。残念。

味は美味しかったです。食べようと思えば倍くらい食べれそうです。
でも、ちょっと足りないくらいがよろしかろー、ということでやめました。

すごく小さなカウンターしかなくて持ち帰り中心なんですけど、
店内では餃子とビールで1杯やってる人が3組もいてギューギュー。

また来ようかな。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

DBICのリレーションが良くわからないのでメモ - 1対多

[2007-01-08]:追記
[2007-01-07-0]で、DBICのリレーションシップについてのエントリを
書きました。以下は非常にいい加減なので[2007-01-07-1]をどうぞ。




よく分からない1対多のhas_manyと、belongs_toの使い方を理解したい。
引き続き、以下の文献をグルグル読みながら理解してみる。。

101号室より愛をこめて: [DBIx::Class][DBIC][perl] DBIx::Classのリレーション
Perl/DBIC - Nekokak's core dump
DBIx::Class::Manual::Cookbook
DBIx::Class::Relationship
カエルチュウイホウ - DBICで多対多の設定を
カエルチュウイホウ - DBICで多対多

以下に出てくるコードとかは参照先を書いてませんが、
上の参考記事のどこかから持ってきました。ありがとうございます。

Userテーブルと本テーブルがあって、Userが本を各自多数持っている状態を考えると、いい感じかな。

基本的なことは、1対1と同じ。
CREATE TABLE User (
  user_id text primary key,
  password text,
  ....
);
CREATE TABLE Book (
  book_id integer primary key,
  user_id text,
  name text,
  author text,
  ....
);

こんなときに、
My::DBIC::Schema::User->has_many( books =>'My::DBIC::Schema::Book', "user_id" );


My::DBIC::Schema::Book->belongs_to( user_id =>'My::DBIC::Schema::User' );

のように記述できる。

前者は$user->booksで、ユーザが持っている本のリストを得られて、
後者は$book->user_idで、着目している本を持っているユーザのリストを得られるのだ。

うーん、なんか不十分な気がするので、もうちょっと例を探そうかな。
いや、ドキュメント中心にちゃんと読もう。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

DBICのリレーションが良くわからないのでメモ - 1対1

[2007-01-08]:追記
[2007-01-07-1]で、DBICのリレーションシップについてのエントリを
書きました。以下は非常にいい加減なので[2007-01-07-1]をどうぞ。




よく分からないというか、has_oneとmight_haveとbelong_toの明確な違い
が分からなくて、どうすれば一生間違いなく理解できるかなと、

これらを見て、理解することから始めた。
101号室より愛をこめて: [DBIx::Class][DBIC][perl] DBIx::Classのリレーション
Perl/DBIC - Nekokak's core dump
DBIx::Class::Manual::Cookbook
DBIx::Class::Relationship
カエルチュウイホウ - DBICで多対多の設定を
カエルチュウイホウ - DBICで多対多

以下に出てくるコードとかは参照先を書いてませんが、
上の参考記事のどこかから持ってきました。ありがとうございます。

リレーションはテーブル間にリファレンスを張るようなもの。
JOINでテーブルをくっつけてくれる。

has_oneとmight_hasとbelongs_toはテーブルAの行とBの行の間に1:1対応の関係

has_one : INNER JOIN(一致する行のみを持ってくる)
might_have : LEFT JOIN(一致しない行には、片側にNULLを付けて持ってくる)
CREATE TABLE User (
  user_id text primary key,
  password text,
  ....
);
CREATE TABLE Profile (
  user_id text primary key,
  name text,
  mail text,
  ....
);

こういう風に互いに相手のprimary keyがどこかに入っているときには、
has oneでリレーションを記述できる。
My::DBIC::Schema::User->has_one(profile=>'My::DBIC::Schema::Profile' );




My::DBIC::Schema::Profile->has_one( user=>'My::DBIC::Schema::User' );


のようにできる。

こんな風にリレーションを記述しておくと、$user->profileみたいにアクセスできる。
この場合Primary Keyを使ってJoinしてる。

もちろん、相手のPrimary Keyが自分のPrimary Keyじゃなくても良い。

以下のように、Primary Keyが共有じゃないけど、普通のカラムには持っているときには、
CREATE TABLE User (
  user_id text primary key,
  profile_id text,
  password text,
  ....
);
CREATE TABLE Profile (
  profile_id text primary key,
  user_id text,
  name text,
  mail text,
  ....
);


My::DBIC::Schema::User->has_one(profile=>'My::DBIC::Schema::Profile', 'user_id' );


My::DBIC::Schema::Profile->has_one( user=>'My::DBIC::Schema::User', 'profile_id' );

のようにできる。

つまり、has_oneはINNE RJOINする相手のテーブルが、自分のPrimary Keyを
Primary Keyか普通のカラムのどれかに持っていることをあらわしている。
might_haveはLEFT JOINする以外はhas_oneと同じ。

でも、都合よく相手が自分のPrimary Keyを持っていないときもある。
CREATE TABLE User (
  user_id text primary key,
  password text,
  ....
);
CREATE TABLE Profile (
  profile_id text primary key,
  user_id text,
  name text,
  mail text,
  ....
);

このときUserから見ると、ProfileはUserのPrimary Keyをもっている。
けど、Profileから見ると、UserはProfileのPrimary Keyをもっていない。

なので、
My::DBIC::Schema::User->has_one( profile =>'My::DBIC::Schema::Profile', "user_id" );

これはできそうだけど、逆は???って感じ。

こういうときにbelongs_toを使う。

使い方はこんな感じ。
My::DBIC::Schema::Profile->belongs_to( user_id =>'My::DBIC::Schema::User' );

Profileは、Userのアクセサ名テーブルか、
UserのPrimary Keyに従ってJOINするよ、という解釈ができる。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

横浜西口 スターバックス

実装しようとして入ったら店内がとてつもなく混んでいてビックリ。

画像

3分くらい並んだら座れたので、セーフ。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

QUOVADIS(クオバディス)のスケジュール帳

小さいスケジュール帳を試したくて、横浜のハンズでメモ帳を購入した。

購入するときに、以下のポイントを意識した。

・何年後かにも、安定して供給されること。
・使っていて気持ちが良いこと。
・小ささと使いやすさのバランスが良さそう
・手帳型

いろいろ見たけど、QUOVADIS(クオバディス)が良さそうなので、
Trip PrestigeのJapanese Editionを購入した。

画像画像

カバーのバリエーションは少なかったけど、
今年は情熱的になろうということで、まずは形から入ろうと赤を選択。

かなりコンパクトで、見開き1週間なんですよね。
8時から22時までしか書いていないということは、
これくらいの範囲で働くのが効率よろしめであるということかなー。
22時以降も実装してウンウン言ってちゃいかんのかもしれない。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2007-01-02 Tue

忠臣蔵

父親が忠臣蔵を見ていた。

忠義、大儀、面子、名誉って難しいものです。

今まで見かけた忠臣蔵のなかで一番分かりやすかったかも、と思いました。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

はてなダイアリーのデータを統合

2005年12月から2006年2月まで頻繁につかっていた、
はてなダイアリーから記事をインポートしました。

調整しながら、「なるほどな、去年の年始はろくでもないな」と思いました。
今年は去年よりグッと良い時間をすごすぞ、と決意を新たにしました。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

箱根駅伝

箱根駅伝を見てしまった。
もちろん手は動かしていたけれど。

駅伝やマラソンは見ていて勇気がでるな。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

ブログのデザインを改良

自分のブログを眺めてみて、デザインが前から気に入らなかったので
気に入らないところを改善してみることにしました。

具体的には、左から右のようなデザインに変更しました。

画像画像

おもに多すぎた色や、邪魔なスペースを削る作業をしました。
あと2カラムから3カラムに変更しました。
ロゴもちょっといじくりました。

まだ気に食わないのですが、今日のとこをはこれくらいで。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

2007-01-01 Mon

いくらご飯

夜に、いくらご飯が出てきました。

画像

いくらは美味しいなー。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

今年はChangeLogをメンテナンスする年になりそう

ChangeLogメモを使い始めて2年以上になります。
そうすると、過去のエントリを見る機会が増えてきます。

私が使っているchalowは、別の年の同じ日付のエントリを参照しやすく
とても気軽に過去を確認しています。

でも、実は2005年後半から2006年前半はChangeLogが穴だらけ。

この穴を、はてなダイアリーやmixiや写真からえた材料で埋めようと思います。

そのようなメンテナンスをすることで、来年にきっと役立つと思います。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

おせち

今年も家族が無事生きてて良かったです。

画像

また来年も平和におせちを食べれると嬉しいなー。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

今年の抱負

さて、今年の抱負の前に去年までの抱負を確認してみようかな。

・2005年の抱負

・何事も好き嫌いせずに食いつく
・食いついたものは取り込みぬく
・シンプルでスマートに生きる
・提供する人間になる


・2006年の抱負
・決断の数、質、速さの積を最大化する


orz

うーん、毎年年始は抱負を消化仕切れていなくてガックリきます。
まぁ2005年の抱負をちょっと消化できたかもなぁ。
2006年は最後の方になって決断の量が増えたような気がするけど、
前半はダメダメだったし、全体を見ても微妙な感じです。

やっぱり、今年も去年までの抱負を抱えたまま生きるかなー。

今年の抱負は、私にしか分からないものもありますが、以下のとおり。

・運動の習慣を定着
・一日のどこかでコツコツ勉強(極力、朝!
・長期的な計画を先に立てる
・さらに早寝早起き
・週末と平日、日中と夜の区切りをつける
・ブログの継続
・一度にひとつ
・作りかけを完成
・集中

去年までの抱負も意識しつつ、今年の抱負に少しでも近づきます。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

あけましておめでとうございます

あけましておめでとうございます。
昨年はみなさまに大変お世話になりました。

今年も一層励みますので、これからもよろしくお願いいたします。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |