<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2japanesefull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>@masuidrive blog</title>
	
	<link>http://blog.masuidrive.jp</link>
	<description>life with open sources.</description>
	<lastBuildDate>Sat, 06 Feb 2010 08:23:28 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/masuidrive" /><feedburner:info uri="masuidrive" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>MacBook壊れた・・・</title>
		<link>http://feedproxy.google.com/~r/masuidrive/~3/OHNdaTZMOM4/</link>
		<comments>http://blog.masuidrive.jp/index.php/2010/02/05/omg-my-macbook-was-broken/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 22:22:24 +0000</pubDate>
		<dc:creator>masuidrive</dc:creator>
				<category><![CDATA[life]]></category>

		<guid isPermaLink="false">http://blog.masuidrive.jp/?p=315</guid>
		<description><![CDATA[				
				　やってしまった。MacBookを机から落とした・・・。
				どうせ壊すなら、水没の方がウケが良かっただろうに・・・。
				去年でAppleCareも切れたんだよなぁ・・・。はぁ。
				
				追記 02/06 0:15
				　早速、新しいMacBookPro 15を買ってきました。
				　アンチグレアとか、SSDが欲しかったけど、店頭では扱ってないらしいので、あきらめました。
				アンチグレアは後日シートでも買います。
				
]]></description>
			<content:encoded><![CDATA[				<p><a href="http://bcphotoshare.com/photos/76/2320550"><img src="http://images.bcphotoshare.com/storages/2320550/medium.jpg"/></a></p>
				<p>　やってしまった。MacBookを机から落とした・・・。</p>
				<p>どうせ壊すなら、水没の方がウケが良かっただろうに・・・。</p>
				<p>去年でAppleCareも切れたんだよなぁ・・・。はぁ。<br />
				<span id="more-315"></span><br />
				<strong>追記 02/06 0:15</strong><br />
				　<a href="http://bcphotoshare.com/photos/76/2321153">早速</a>、新しいMacBookPro 15を<a href="http://bcphotoshare.com/photos/76/2321175">買ってきました</a>。</p>
				<p>　アンチグレアとか、SSDが欲しかったけど、店頭では扱ってないらしいので、あきらめました。<br />
				アンチグレアは後日シートでも買います。</p>
				<p><a href="http://bcphotoshare.com/photos/76/2322476"><img src="http://images.bcphotoshare.com/storages/2322476/large.jpg"/></a></p>
<img src="http://feeds.feedburner.com/~r/masuidrive/~4/OHNdaTZMOM4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.masuidrive.jp/index.php/2010/02/05/omg-my-macbook-was-broken/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.masuidrive.jp/index.php/2010/02/05/omg-my-macbook-was-broken/</feedburner:origLink></item>
		<item>
		<title>電子書籍はユーザに新しい価値を提供しない</title>
		<link>http://feedproxy.google.com/~r/masuidrive/~3/f5kxqImzLr4/</link>
		<comments>http://blog.masuidrive.jp/index.php/2010/02/04/ebook-dont-provide-new-values-to-users/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 01:25:36 +0000</pubDate>
		<dc:creator>masuidrive</dc:creator>
				<category><![CDATA[ebook]]></category>
		<category><![CDATA[ipad]]></category>

		<guid isPermaLink="false">http://blog.masuidrive.jp/?p=302</guid>
		<description><![CDATA[				Photo by svenwerk
				　メディアを見ていると、iPadを「電子書籍端末」として、取り上げられていることが多い様に感じますが、ほんとにユーザは電子書籍を読むんでしょうか？
				　もちろん、iPadの使い道として電子書籍ビューアもありますが、Appleもあまり重要視していないようで、Jobsのプレゼンの「iPadの使い方」の中でも一番最後でした。@naofumi
				　すでに出版業界は壊滅的と言われ、１世帯あたり月の雑誌購入額が376円、書籍を入れても月1000円程度、すでにKindleやiPadなど、5万近いを買って書籍を読むユーザは居ないことを示唆しています。
				
				　また、AmazonはKindle向けの電子出版では印税を70%に設定するなど、積極的に動いてます。
				　しかし、これは単純に流通コストだけの話で、校正も装丁も責任も取らないので、既存の出版社と比べるのは、無理な話です。
				　もし、それらを自分で行ったとしても、電子書籍は、紙の書籍に比べて価格が安くなっています。その為、印税率が上がっても、実際の手取りが上がるかは不透明です。
				　紙の書籍には、閲覧性の高さや、質感、借り貸しが出来る、書き込める、軽い、電気が要らないなど多数のメリットがあります。
				　これに対して、電子書籍のメリットは、どこでも買える、場所を取らない、検索できる、絶版になりにくいではないかと、思います。
				　しかし、これらのメリットは、多くの人が書籍を買わなくなった今、ほとんどの人に取ってメリットになり得ません。唯一「どこでも買える」というのがメリットですが、一般雑誌は、コンビニでも駅の売店でも手に入りますし、地方に居てもAmazonがあります。
				　さらに電子書籍は、ディスプレイで表示した時点で、Webと戦う事になります。
				　多くのメディアがWebサイトを提供し、多くの個人がブログを書いている昨今、コンテンツの差だけで、お金を払うようになるのは難しいのではないでしょうか。
				　ユーザに取って、電子書籍は「有料Web」程度の扱いになると考えられます。
				　Webサイトの有料購読は、多くのサイトが挑戦して、失敗してきています。2011年からNY Timesが有料化に踏み切りますが、動向が非常に注目されます。
				　電子書籍だけでは、読者に取って新しい価値はほとんど無いように思えます。
				　可能性があるとすれば、購入履歴の公開、読者同士のコメントや、補足情報の書き込みなどソーシャル化ではないかと思います。
				　今のところ、Kindleなどの電子書籍ビューアでそのような機能を積極的に採用している例は聞きませんが、本を単にデジタル化しただけでは、電子書籍が一般に普及することはないのでは無いかと思います。
				追伸
				　あと、電子出版を専業したら出版社が出て、新しい価値を作ってれるんじゃないかと期待してます。
				次回予告
				　iPadを販売支援とかに使うのが面白いんじゃないかなー？って話です。
]]></description>
			<content:encoded><![CDATA[				<p class="eyecatch_photo"><img src="http://farm1.static.flickr.com/96/250785631_96c039e1d9_m.jpg"/><span class="photo_by">Photo by <a href="http://www.flickr.com/photos/svenwerk/" title="Link to svenwerk's photostream" rel="dc:creator cc:attributionURL"><b property="foaf:name">svenwerk</b></a></span></p>
				<p>　メディアを見ていると、iPadを「電子書籍端末」として、取り上げられていることが多い様に感じますが、ほんとにユーザは電子書籍を読むんでしょうか？</p>
				<p>　もちろん、iPadの使い道として電子書籍ビューアもありますが、Appleもあまり重要視していないようで、Jobsのプレゼンの「iPadの使い方」の中でも一番最後でした。<sup class="reference"><a href="http://twitter.com/naofumi/status/8620692481">@naofumi</a></sup></p>
				<p>　すでに出版業界は壊滅的と言われ、<a href="http://www.garbagenews.net/archives/1243180.html">１世帯あたり月の雑誌購入額が376円</a>、書籍を入れても月1000円程度、すでにKindleやiPadなど、5万近いを買って書籍を読むユーザは居ないことを示唆しています。<br />
				<span id="more-302"></span><br />
				　また、AmazonはKindle向けの電子出版では印税を70%に設定するなど、積極的に動いてます。</p>
				<p>　しかし、これは単純に流通コストだけの話で、校正も装丁も責任も取らないので、既存の出版社と比べるのは、無理な話です。</p>
				<p>　もし、それらを自分で行ったとしても、電子書籍は、紙の書籍に比べて価格が安くなっています。その為、印税率が上がっても、実際の手取りが上がるかは不透明です。</p>
				<p>　紙の書籍には、閲覧性の高さや、質感、借り貸しが出来る、書き込める、軽い、電気が要らないなど多数のメリットがあります。</p>
				<p>　これに対して、電子書籍のメリットは、どこでも買える、場所を取らない、検索できる、絶版になりにくいではないかと、思います。</p>
				<p>　しかし、これらのメリットは、多くの人が書籍を買わなくなった今、ほとんどの人に取ってメリットになり得ません。唯一「どこでも買える」というのがメリットですが、一般雑誌は、コンビニでも駅の売店でも手に入りますし、地方に居てもAmazonがあります。</p>
				<p>　さらに電子書籍は、ディスプレイで表示した時点で、Webと戦う事になります。<br />
				　多くのメディアがWebサイトを提供し、多くの個人がブログを書いている昨今、コンテンツの差だけで、お金を払うようになるのは難しいのではないでしょうか。</p>
				<p>　ユーザに取って、電子書籍は「有料Web」程度の扱いになると考えられます。</p>
				<p>　Webサイトの有料購読は、多くのサイトが挑戦して、失敗してきています。2011年からNY Timesが有料化に踏み切りますが、動向が非常に注目されます。</p>
				<p>　電子書籍だけでは、読者に取って新しい価値はほとんど無いように思えます。</p>
				<p>　可能性があるとすれば、購入履歴の公開、読者同士のコメントや、補足情報の書き込みなどソーシャル化ではないかと思います。<br />
				　今のところ、Kindleなどの電子書籍ビューアでそのような機能を積極的に採用している例は聞きませんが、本を単にデジタル化しただけでは、電子書籍が一般に普及することはないのでは無いかと思います。</p>
				<p><strong>追伸</strong><br />
				　あと、電子出版を専業したら出版社が出て、新しい価値を作ってれるんじゃないかと期待してます。</p>
				<p><strong>次回予告</strong><br />
				　iPadを販売支援とかに使うのが面白いんじゃないかなー？って話です。</p>
<img src="http://feeds.feedburner.com/~r/masuidrive/~4/f5kxqImzLr4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.masuidrive.jp/index.php/2010/02/04/ebook-dont-provide-new-values-to-users/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.masuidrive.jp/index.php/2010/02/04/ebook-dont-provide-new-values-to-users/</feedburner:origLink></item>
		<item>
		<title>iPadの新規性はタブレットサイズのユーザインタフェース</title>
		<link>http://feedproxy.google.com/~r/masuidrive/~3/hJrKmzO4bw4/</link>
		<comments>http://blog.masuidrive.jp/index.php/2010/02/01/ipad-ui/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 06:03:44 +0000</pubDate>
		<dc:creator>masuidrive</dc:creator>
				<category><![CDATA[iphone]]></category>
		<category><![CDATA[ipad]]></category>

		<guid isPermaLink="false">http://blog.masuidrive.jp/?p=288</guid>
		<description><![CDATA[				Photo by -: pranav :-
				　iPadが発表され、いろいろなメディアやブログで紹介されています。
				ハードウエア的には目立ったところがないため、多くの人に取ってあまり目新しさがなく、残念に思った人も多かったように感じます。
				　私がiPadに期待するところは、タブレット型デバイス向けの、新しいユーザインタフェースです。
				　うちには、富士通製のWindowsXPのピュアタブレット(キーボードが無くペンだけで操作するタイプ)があります。
				ちょっと重いのですが概ね便利で、布団や居間でネットをするときに使っています。
				　しかし、普通のWindowsアプリケーションは、マウスでの操作を前提にしているので、余り使いやすくありません。
				普通は、Firefoxを起動しっぱなしにしているのですが、いくつかアドオンを入れて、さらに自作のアドオンも使っています。
				　iPhoneが成功した一つの要因に、OSXのユーザインタフェースを引き継がずに、小さいタッチパネルディスプレイ用にユーザインタフェースを設計したことがあると思います。
				入力方法も画面サイズも違うデバイスですから、PC用とは異なったユーザインタフェースが必要になります。
				
				
				　同じようにタブレットサイズのユーザインタフェースは、iPhoneとも、デスクトップとも違うものが要求されます。
				　アップルのPRビデオを見ていると、ドロップダウン式のメニューや、左右の２ペインなど、iPhoneでは見たことのなかったUI部品が使われていることが分かります。
				　実際に指で画面を触るUIを多くのiPhoneユーザが体験し、デベロッパーもそれに慣れています。その上で画面の大きなiPadが出て、ユーザもデベロッパーもそれについて行くという流れができています。
				　iPadは、大衆向けの製品としては、初めてタブレットサイズに最適化されたUIを持った製品だと言えます。
				　MSは、数年前からTabletPCをリリースしていますが、これはノートパソコンにタッチパネルをくっつけただけのものでした。
				多くの人が自由に扱えるパソコンに必要だったのは、タッチパネルだけではなく、それに最適化された新しいUIだったのだと思います。
				　ビルゲイツは、1990年に&#8221;Information at your fingertips&#8220;というコンセプトを掲げました。私はこのコンセプトにとても感銘を受け、いまでも好きな言葉の一つです。
				　しかし、このコンセプトに見合う製品は、その後MSからリリースされてきませんでした。MSは過去の資産から抜け出せず、せいぜい&#8221;Computing at your fingertips&#8221;止まりだったと思います。
				　iPhoneが出たときに、&#8221;Information at your fingertips”といえる初めての製品が出た。それもアップルから！と感動しましたが、iPadは扱えるInformationをさらに大きく広げ、一般的なWebや動画も十分に鑑賞できるようになっています。
				　iPhone向けのUI部品では、iPadの画面は大きすぎます。そのため、多くのデベロッパーは、iPad向けに画面の再設計を行うことになると思います。
				　その時に多くのアプリケーションが、「情報を直接、指で扱う」感覚を持ち、それを多くの一般ユーザがリビングで操作する、そんな世界が広がるのが非常に楽しみです。
				p.s
				　iPadが出るときに期待された点の一つに、マルチタスクがあります。
				　Google携帯こと、Androidではマルチタスクがサポートされ、アプリケーションの中で辞書を引いたり、常駐するアプリケーションが、アラートを鳴らしたりと、iPhoneでは出来なかった多くのことができるようになっています。
				　その代わり、ユーザはアプリケーションが使うメモリ量やバッテリに気を遣う必要が出て、さらにアプリケーションがクラッシュした際の原因究明が非常に困難になります。
				　多くのユーザはメインメモリと、ハードディスク容量の区別が付きません。そんな中、同時にアプリケーションを起動するとアプリが落ちる、などということを理解させるのは困難です。
				　またウイルスやスパイウエアが発生する可能性が高くなり、アンチウイルス的な仕組みが必要になってくる可能性もあります。
				　Windowsの様に使っているとよく分からないけど重くなる、アンチウイルスは必須、とならない為に、マルチタスクのサポートはこの先も行われることはないと思います。
				　個人的には、マルチタスクは欲しいですが、自分の両親にiPadを持たせることを考えると、マルチタスクと引き替えに、メンテナンスの必要性が少なくなるのは大歓迎です。
				p.s &#8211; 2
				　iPad用の鞄をどうするか激しく迷い中。
				MacbookPro用に使ってる、MEGALOPOLISじゃでかいしなぁ。
				SAMには入らないし、今持ってる、Tumiのバッグには入るかなぁー。
				PEOPLES DELITEを買おうかなぁー。
				　iPad用じゃないけど、MEGALOPOLIS A1欲しいなぁー。
				
]]></description>
			<content:encoded><![CDATA[				<p class="eyecatch_photo"><img src="http://farm4.static.flickr.com/3608/3448529469_22249920ac_m.jpg"/><span class="photo_by">Photo by <a href="http://www.flickr.com/photos/neychurluvr/" title="Link to -: pranav :-'s photostream" rel="dc:creator cc:attributionURL"><b property="foaf:name">-: pranav :-</b></a></span></p>
				<p>　iPadが発表され、いろいろなメディアやブログで紹介されています。<br />
				ハードウエア的には目立ったところがないため、多くの人に取ってあまり目新しさがなく、残念に思った人も多かったように感じます。</p>
				<p>　私がiPadに期待するところは、タブレット型デバイス向けの、新しいユーザインタフェースです。<br />
				　うちには、富士通製のWindowsXPのピュアタブレット(キーボードが無くペンだけで操作するタイプ)があります。<br />
				ちょっと重いのですが概ね便利で、布団や居間でネットをするときに使っています。</p>
				<p>　しかし、普通のWindowsアプリケーションは、マウスでの操作を前提にしているので、余り使いやすくありません。<br />
				普通は、Firefoxを起動しっぱなしにしているのですが、いくつかアドオンを入れて、さらに自作のアドオンも使っています。</p>
				<p>　iPhoneが成功した一つの要因に、OSXのユーザインタフェースを引き継がずに、小さいタッチパネルディスプレイ用にユーザインタフェースを設計したことがあると思います。<br />
				入力方法も画面サイズも違うデバイスですから、PC用とは異なったユーザインタフェースが必要になります。<br />
				<span id="more-288"></span></p>
				<p class="eyecatch_photo"><a href="http://www.teehanlax.com/blog/2010/02/01/ipad-gui-psd/" target="_blank"><img src="http://farm5.static.flickr.com/4004/4323941931_622f56f046_m.jpg"/></a></p>
				<p>　同じようにタブレットサイズのユーザインタフェースは、iPhoneとも、デスクトップとも違うものが要求されます。</p>
				<p>　<a href="http://www.apple.com/jp/ipad/">アップルのPRビデオ</a>を見ていると、ドロップダウン式のメニューや、左右の２ペインなど、iPhoneでは見たことのなかったUI部品が使われていることが分かります。<br />
				　実際に指で画面を触るUIを多くのiPhoneユーザが体験し、デベロッパーもそれに慣れています。その上で画面の大きなiPadが出て、ユーザもデベロッパーもそれについて行くという流れができています。</p>
				<p>　iPadは、大衆向けの製品としては、初めてタブレットサイズに最適化されたUIを持った製品だと言えます。</p>
				<p>　MSは、数年前からTabletPCをリリースしていますが、これはノートパソコンにタッチパネルをくっつけただけのものでした。<br />
				多くの人が自由に扱えるパソコンに必要だったのは、タッチパネルだけではなく、それに最適化された新しいUIだったのだと思います。</p>
				<p>　ビルゲイツは、1990年に&#8221;<strong>Information at your fingertips</strong>&#8220;というコンセプトを掲げました。私はこのコンセプトにとても感銘を受け、いまでも好きな言葉の一つです。<br />
				　しかし、このコンセプトに見合う製品は、その後MSからリリースされてきませんでした。MSは過去の資産から抜け出せず、せいぜい&#8221;Computing at your fingertips&#8221;止まりだったと思います。</p>
				<p>　iPhoneが出たときに、&#8221;Information at your fingertips”といえる初めての製品が出た。それもアップルから！と感動しましたが、iPadは扱えるInformationをさらに大きく広げ、一般的なWebや動画も十分に鑑賞できるようになっています。</p>
				<p>　iPhone向けのUI部品では、iPadの画面は大きすぎます。そのため、多くのデベロッパーは、iPad向けに画面の再設計を行うことになると思います。<br />
				　その時に多くのアプリケーションが、「情報を直接、指で扱う」感覚を持ち、それを多くの一般ユーザがリビングで操作する、そんな世界が広がるのが非常に楽しみです。</p>
				<p>p.s<br />
				　iPadが出るときに期待された点の一つに、マルチタスクがあります。</p>
				<p>　Google携帯こと、Androidではマルチタスクがサポートされ、アプリケーションの中で辞書を引いたり、常駐するアプリケーションが、アラートを鳴らしたりと、iPhoneでは出来なかった多くのことができるようになっています。</p>
				<p>　その代わり、ユーザはアプリケーションが使うメモリ量やバッテリに気を遣う必要が出て、さらにアプリケーションがクラッシュした際の原因究明が非常に困難になります。<br />
				　多くのユーザはメインメモリと、ハードディスク容量の区別が付きません。そんな中、同時にアプリケーションを起動するとアプリが落ちる、などということを理解させるのは困難です。</p>
				<p>　またウイルスやスパイウエアが発生する可能性が高くなり、アンチウイルス的な仕組みが必要になってくる可能性もあります。</p>
				<p>　Windowsの様に使っているとよく分からないけど重くなる、アンチウイルスは必須、とならない為に、マルチタスクのサポートはこの先も行われることはないと思います。</p>
				<p>　個人的には、マルチタスクは欲しいですが、自分の両親にiPadを持たせることを考えると、マルチタスクと引き替えに、メンテナンスの必要性が少なくなるのは大歓迎です。</p>
				<p>p.s &#8211; 2<br />
				　iPad用の鞄をどうするか激しく迷い中。<br />
				MacbookPro用に使ってる、<a href="http://www.boblbee.jp/products/group_detail.cgi?group_id=bob-meg-ar">MEGALOPOLIS</a>じゃでかいしなぁ。<br />
				<a href="http://www.boblbee.jp/products/group_detail.cgi?group_id=bob-sam09">SAM</a>には入らないし、今持ってる、Tumiのバッグには入るかなぁー。<br />
				<a href="http://www.boblbee.jp/products/group_detail.cgi?group_id=bob-pdl-sp">PEOPLES DELITE</a>を買おうかなぁー。<br />
				　iPad用じゃないけど、<a href="http://www.boblbee.jp/products/group_detail.cgi?group_id=bob-meg-a1">MEGALOPOLIS A1</a>欲しいなぁー。<br />
				<iframe src="http://rcm-jp.amazon.co.jp/e/cm?o=9&amp;p=8&amp;l=as1&amp;asins=4274065669&amp;t=masuidriveblo-22&amp;IS1=1&amp;fc1=666666&amp;lc1=6666FF&amp;bg1=FFFFFF&amp;lt1=_blank&amp;bc1=FFFFFF&amp;npa=1&amp;f=ifr" style="width: 120px; height: 240px;" marginwidth="0" marginheight="0" frameborder="0" scrolling="no"></iframe><iframe src="http://rcm-jp.amazon.co.jp/e/cm?o=9&amp;p=8&amp;l=as1&amp;asins=4873113164&amp;t=masuidriveblo-22&amp;IS1=1&amp;fc1=666666&amp;lc1=6666FF&amp;bg1=FFFFFF&amp;lt1=_blank&amp;bc1=FFFFFF&amp;npa=1&amp;f=ifr" style="width: 120px; height: 240px;" marginwidth="0" marginheight="0" frameborder="0" scrolling="no"></iframe></p>
<img src="http://feeds.feedburner.com/~r/masuidrive/~4/hJrKmzO4bw4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.masuidrive.jp/index.php/2010/02/01/ipad-ui/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://blog.masuidrive.jp/index.php/2010/02/01/ipad-ui/</feedburner:origLink></item>
		<item>
		<title>CSSを拡張するプリプロセッサを考える</title>
		<link>http://feedproxy.google.com/~r/masuidrive/~3/P70t00GVDvI/</link>
		<comments>http://blog.masuidrive.jp/index.php/2010/01/20/css-enhancer/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 10:18:17 +0000</pubDate>
		<dc:creator>masuidrive</dc:creator>
				<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://blog.masuidrive.jp/?p=277</guid>
		<description><![CDATA[				Photo by Aaron Landry
				　CSSで、式とかマクロが使えたらなーと思うことがよくあるので、この際だからプリプロセッサを作ろうと思っています。
				　文法としては、CSSの構造を大きく変えないで行きます。あくまでプリプロセッサ的な役割で。Sassの様に構文を変えてしまうと、デザイナーの人が取っつき難くなりそうで。
				　今のところ、考えている文法の例を下に置きました。誰でも考えそうな所で、includeによる読み込み、ネストをサポート、式と制御構造のサポートを行います。
				　このプリプロセッサはサーバサイドで動的に生成するのではなく、一度静的にCSSに変換して使うことを考えています。その為、User agentなど外部からの変数はサポートしません。
				　使い方としては、コマンドラインツールによる変換と、Javascriptによる動的な読み込みをサポートする予定です。
				開発中は、HTML内に&#60;script src=&#8221;ecss_loader.js?test.ecss&#8221;&#62;&#60;/script&#62;と書くことで、サーバに何も導入することなく、動的に拡張されたCSSを読み込むことが出来るようにします。
				　文法や機能のアイディア、同じようなプロダクトを知っている！と言う方がいましたら、ぜひコメントお願いします。
				
				例)
				
%include "common.ecss";
%focus_color = "#4444ff";
%w = 32;
%property x-opacity $value
  opacity: $(value);
  filter: alpha(opacity=$(value*100));
%end

#mailbox {
  width: $(w+2+"px");
  border: 1px solid gray;
  .item {
    width: $(w+"px");
  }
  .focus {
    background-color: $(focus_color);
  }
  .disable {
    x-opacity: [...]]]></description>
			<content:encoded><![CDATA[				<p class="eyecatch_photo"><img src="http://farm3.static.flickr.com/2054/2425718415_226f22a2fb_m.jpg"/><span class="photo_by">Photo by <a href="http://www.flickr.com/photos/s4xton/" title="Link to Aaron Landry's photostream" rel="dc:creator cc:attributionURL"><b property="foaf:name">Aaron Landry</b></a></span></p>
				<p>　CSSで、式とかマクロが使えたらなーと思うことがよくあるので、この際だからプリプロセッサを作ろうと思っています。</p>
				<p>　文法としては、CSSの構造を大きく変えないで行きます。あくまでプリプロセッサ的な役割で。<a href="http://sass-lang.com/">Sass</a>の様に構文を変えてしまうと、デザイナーの人が取っつき難くなりそうで。</p>
				<p>　今のところ、考えている文法の例を下に置きました。誰でも考えそうな所で、includeによる読み込み、ネストをサポート、式と制御構造のサポートを行います。</p>
				<p>　このプリプロセッサはサーバサイドで動的に生成するのではなく、一度静的にCSSに変換して使うことを考えています。その為、User agentなど外部からの変数はサポートしません。</p>
				<p>　使い方としては、コマンドラインツールによる変換と、Javascriptによる動的な読み込みをサポートする予定です。<br />
				開発中は、HTML内に&lt;script src=&#8221;ecss_loader.js?test.ecss&#8221;&gt;&lt;/script&gt;と書くことで、サーバに何も導入することなく、動的に拡張されたCSSを読み込むことが出来るようにします。</p>
				<p>　文法や機能のアイディア、同じようなプロダクトを知っている！と言う方がいましたら、ぜひコメントお願いします。<br />
				<span id="more-277"></span><br />
				例)</p>
				<pre>
%include "common.ecss";
%focus_color = "#4444ff";
%w = 32;
%property x-opacity $value
  opacity: $(value);
  filter: alpha(opacity=$(value*100));
%end

#mailbox {
  width: $(w+2+"px");
  border: 1px solid gray;
  .item {
    width: $(w+"px");
  }
  .focus {
    background-color: $(focus_color);
  }
  .disable {
    x-opacity: 0.5;
  }

%for x in ['red', 'green', 'blue']
  $(".item-"+x): background-color: $(x);
%end

%if debug==1
    .item {
      background: red !important;
    }
%end
}
</pre>
				<p><iframe src="http://rcm-jp.amazon.co.jp/e/cm?o=9&amp;p=8&amp;l=as1&amp;asins=4883375412&amp;t=masuidriveblo-22&amp;IS1=1&amp;fc1=666666&amp;lc1=6666FF&amp;bg1=FFFFFF&amp;lt1=_blank&amp;bc1=FFFFFF&amp;npa=1&amp;f=ifr" style="width: 120px; height: 240px;" marginwidth="0" marginheight="0" frameborder="0" scrolling="no"></iframe><iframe src="http://rcm-jp.amazon.co.jp/e/cm?o=9&amp;p=8&amp;l=as1&amp;asins=4798010928&amp;t=masuidriveblo-22&amp;IS1=1&amp;fc1=666666&amp;lc1=6666FF&amp;bg1=FFFFFF&amp;lt1=_blank&amp;bc1=FFFFFF&amp;npa=1&amp;f=ifr" style="width: 120px; height: 240px;" marginwidth="0" marginheight="0" frameborder="0" scrolling="no"></iframe><iframe src="http://rcm-jp.amazon.co.jp/e/cm?o=9&amp;p=8&amp;l=as1&amp;asins=4781912052&amp;t=masuidriveblo-22&amp;IS1=1&amp;fc1=666666&amp;lc1=6666FF&amp;bg1=FFFFFF&amp;lt1=_blank&amp;bc1=FFFFFF&amp;npa=1&amp;f=ifr" style="width: 120px; height: 240px;" marginwidth="0" marginheight="0" frameborder="0" scrolling="no"></iframe></p>
<img src="http://feeds.feedburner.com/~r/masuidrive/~4/P70t00GVDvI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.masuidrive.jp/index.php/2010/01/20/css-enhancer/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://blog.masuidrive.jp/index.php/2010/01/20/css-enhancer/</feedburner:origLink></item>
		<item>
		<title>Geohashのアルゴリズム</title>
		<link>http://feedproxy.google.com/~r/masuidrive/~3/8B9QP-yRcaI/</link>
		<comments>http://blog.masuidrive.jp/index.php/2010/01/15/geohash-algorithm/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 07:35:23 +0000</pubDate>
		<dc:creator>masuidrive</dc:creator>
				<category><![CDATA[ruby]]></category>
		<category><![CDATA[geo]]></category>

		<guid isPermaLink="false">http://blog.masuidrive.jp/?p=249</guid>
		<description><![CDATA[				Photo by Ludovico Cera
				 　前回、最後にGeohashのエンコード・デコード方法を解説、とか書いたのですが、私が書く前にyuroyoroさんがブログで解説していました。しっかり解説されているので、ぜひ、そちらをご覧ください。
				　Geohashのミソは、座標を2進数にして、それを交互に並べる所にあります。そしてそれをBASE32でエンコードすることで、座標を文字列にして表現しています。
				　BASE32は、5ビットで1文字なので、Geohashの長さが奇数の場合は、経度の方がビットが短くなります。 (例: 5文字の場合 全25ビット 緯度が13ビット、経度が12ビット)
				　そのため、グリッドの大きさが、Geohashが奇数の場合は縦長、偶数の場合は横長になります。
				
				　ビット列から文字列へのエンコード方法に、BASE32を使っているのは大文字小文字を区別しないためだと思いますが、これを16進数で表したら、もっと細かいグリッドで表現できるのではないかと思い、試してみました。
				
				
				文字数
				BASE32
				16進数
				
				
				緯度
				経度
				緯度
				経度
				
				
				6
				609.08m (15bit)
				988.77m (15bit)
				4872.66m (12bit)
				7910.16m (12bit)
				
				
				7
				152.27m (17bit)
				123.60m (18bit)
				1218.16m (14bit)
				1977.54m (14bit)
				
				
				8
				 19.03m (20bit)
				 30.90m (20bit)
				304.54m (16bit)
				494.38m (16bit)
				
				
				9
				  4.76m (22bit)
				  3.86m (23bit)
				 76.14m (18bit)
				123.60m (18bit)
				
				
				10
				  0.59m (25bit)
				  0.97m (25bit)
				 19.03m (20bit)
				 30.90m (20bit)
				
				
				11
				  0.15m (27bit)
				  0.12m (28bit)
				  4.76m (22bit)
				  7.72m (22bit)
				
				
				12
				  [...]]]></description>
			<content:encoded><![CDATA[				<p class="eyecatch_photo"><img src="http://farm4.static.flickr.com/3165/2567692977_f2d0a78453_m.jpg"/><span class="photo_by">Photo by <a href="http://www.flickr.com/photos/21177199@N03/" title="Link to Ludovico Cera's photostream" rel="dc:creator cc:attributionURL"><b property="foaf:name">Ludovico Cera</b></a></span></p>
				<p> 　前回、<a href="/index.php/2010/01/13/geohash/">最後にGeohashのエンコード・デコード方法を解説</a>、とか書いたのですが、私が書く前に<a href="http://d.hatena.ne.jp/yuroyoro/20100115/1263526125">yuroyoroさんがブログで</a>解説していました。しっかり解説されているので、ぜひ、そちらをご覧ください。</p>
				<p>　Geohashのミソは、座標を2進数にして、それを交互に並べる所にあります。そしてそれをBASE32でエンコードすることで、座標を文字列にして表現しています。<br />
				　BASE32は、5ビットで1文字なので、Geohashの長さが奇数の場合は、経度の方がビットが短くなります。 (例: 5文字の場合 全25ビット 緯度が13ビット、経度が12ビット)<br />
				　そのため、グリッドの大きさが、Geohashが奇数の場合は縦長、偶数の場合は横長になります。<br />
				<span id="more-249"></span><br />
				　ビット列から文字列へのエンコード方法に、BASE32を使っているのは大文字小文字を区別しないためだと思いますが、これを16進数で表したら、もっと細かいグリッドで表現できるのではないかと思い、試してみました。</p>
				<table>
				<tr>
				<td rowspan="2" align="center">文字数</td>
				<td colspan="2" align="center">BASE32</td>
				<td colspan="2" align="center">16進数</td>
				</tr>
				<tr>
				<td align="center">緯度</td>
				<td align="center">経度</td>
				<td align="center">緯度</td>
				<td align="center">経度</td>
				</tr>
				<tr>
				<td align="right">6</td>
				<td align="right">609.08m (15bit)</td>
				<td align="right">988.77m (15bit)</td>
				<td align="right">4872.66m (12bit)</td>
				<td align="right">7910.16m (12bit)</td>
				</tr>
				<tr>
				<td align="right">7</td>
				<td align="right">152.27m (17bit)</td>
				<td align="right">123.60m (18bit)</td>
				<td align="right">1218.16m (14bit)</td>
				<td align="right">1977.54m (14bit)</td>
				</tr>
				<tr>
				<td align="right">8</td>
				<td align="right"> 19.03m (20bit)</td>
				<td align="right"> 30.90m (20bit)</td>
				<td align="right">304.54m (16bit)</td>
				<td align="right">494.38m (16bit)</td>
				</tr>
				<tr>
				<td align="right">9</td>
				<td align="right">  4.76m (22bit)</td>
				<td align="right">  3.86m (23bit)</td>
				<td align="right"> 76.14m (18bit)</td>
				<td align="right">123.60m (18bit)</td>
				</tr>
				<tr>
				<td align="right">10</td>
				<td align="right">  0.59m (25bit)</td>
				<td align="right">  0.97m (25bit)</td>
				<td align="right"> 19.03m (20bit)</td>
				<td align="right"> 30.90m (20bit)</td>
				</tr>
				<tr>
				<td align="right">11</td>
				<td align="right">  0.15m (27bit)</td>
				<td align="right">  0.12m (28bit)</td>
				<td align="right">  4.76m (22bit)</td>
				<td align="right">  7.72m (22bit)</td>
				</tr>
				<tr>
				<td align="right">12</td>
				<td align="right">  0.02m (30bit)</td>
				<td align="right">  0.03m (30bit)</td>
				<td align="right">  1.19m (24bit)</td>
				<td align="right">  1.93m (24bit)</td>
				</tr>
				</table>
				<p>　そうしたところ、BASE32では6〜8文字で、600m、150m、19mとなるところ、16進数では7〜9文字で、1200m、305m、76mとなります。この感じだと、グリッドの大きさ的にも、BASE32の方が使いやすいように見えます。</p>
				<p>　このアルゴリズムは、2次元の座標を1つの文字列にまとめることができ、緯度経度以外の座標系にも応用できるんじゃないかと思います。</p>
				<p><iframe src="http://rcm-jp.amazon.co.jp/e/cm?o=9&amp;p=8&amp;l=as1&amp;asins=4627947011&amp;t=masuidriveblo-22&amp;IS1=1&amp;fc1=666666&amp;lc1=6666FF&amp;bg1=FFFFFF&amp;lt1=_blank&amp;bc1=FFFFFF&amp;npa=1&amp;f=ifr" style="width: 120px; height: 240px;" marginwidth="0" marginheight="0" frameborder="0" scrolling="no"></iframe> <iframe src="http://rcm-jp.amazon.co.jp/e/cm?o=9&amp;p=8&amp;l=as1&amp;asins=4797342773&amp;t=masuidriveblo-22&amp;IS1=1&amp;fc1=666666&amp;lc1=6666FF&amp;bg1=FFFFFF&amp;lt1=_blank&amp;bc1=FFFFFF&amp;npa=1&amp;f=ifr" style="width: 120px; height: 240px;" marginwidth="0" marginheight="0" frameborder="0" scrolling="no"></iframe></p>
<img src="http://feeds.feedburner.com/~r/masuidrive/~4/8B9QP-yRcaI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.masuidrive.jp/index.php/2010/01/15/geohash-algorithm/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.masuidrive.jp/index.php/2010/01/15/geohash-algorithm/</feedburner:origLink></item>
		<item>
		<title>緯度経度を文字列で表すGeoHash</title>
		<link>http://feedproxy.google.com/~r/masuidrive/~3/FNoUXRel5J4/</link>
		<comments>http://blog.masuidrive.jp/index.php/2010/01/13/geohash/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 07:34:20 +0000</pubDate>
		<dc:creator>masuidrive</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://blog.masuidrive.jp/?p=212</guid>
		<description><![CDATA[				　なんか世間的に位置情報アプリが流行ってるらしいし、Google App Engine(GAE)も楽しそう。どうせだから、GAEでなんか位置情報アプリでも作ってみよう！と思ってTwitterに書き込んだところ、Geohashという、位置情報のプロトコル？を教えてもらいました。
				　これは、その名の通り、位置情報をハッシュで表す規格なのですが、いろいろおもしろい特徴があり、調べているうちに楽しくなってきたので、勢い余ってPure Rubyのライブラリまで書いちゃいました。
				　そのあと、結局ライブラリを作ったところで満足して、アプリは何も作らなかったので、せめてGeohashの解説でも書いておこうと思います。
				
				　位置情報は通常、緯度経度で表します。たとえば東京タワーの緯度経度は35.65861, 139.745447です。
				北を上にした地図でいうと、緯度がY座標で経度がX座標です。英語では緯度をlatitude、経度をlongitudeと呼びます。
				　この緯度経度は測地系によって値が違いますが、ここではGPSなどで使われている世界測地系を前提にします。
				
				　位置情報系のアプリでは、「今いる場所をGPSで取得して、その近くにあるランドマークを表示する」ということがよく行われます。
				　これをGoogle App EngineのDataStoreで行おうと思うと、2つのカラムで比較ができないという、DataStoreの制約が問題になります。(例: x&#62;1 and y&#62;1の様なことができない)
				　そこで、GeoHashの登場です。GeoHashは、緯度経度の二つの座標を、一つの文字列にまとめたものです。
				　東京タワーをGeoHashで表現すると「xn76ggrw26」になります。GeoHashはグリッドになるので、緯度経度のようにポイントではありません。
				　先のハッシュが8文字あると、19m*31mのグリッドになります。
				　GeoHashの最大の特徴は、その長さによって精度が変わることです。
				東京タワーを中心とした 19m*31mのエリアは「xn76ggrw」ですが、これを頭5文字「xn76gg」だけ取り出すと、下の図の様なエリアを表します。
				
				　データベースから、「xn76gg」の前方一致で検索することで、エリア内のポイントを簡単に取り出すことができます。
				　しかし、これでは、上の図の様に、ランドマークがメッシュの端にある場合、すぐ近くのポイントもヒットしなくなってしまいます。
				　
				　そこで、geohashで検索する場合は、右の図の様に隣接するブロックも同時に検索します。東京タワーの周りを探す場合は、「xn76gg」だけを検索するのではなく、&#8217;xn76gu&#8217;,'xn76gf&#8217;,'xn76u5&#8242;,&#8217;xn76ge&#8217;,'xn76gs&#8217;,'xn76uh&#8217;,'xn76u4&#8242;,&#8217;xn76gd&#8217;,'xn76gg&#8217;も同時に検索することで、おおよそ2km*3kmの範囲で検索が可能です。
				
				　多くのGeohashライブラリには、隣接するGeohashコードを計算する関数が用意されています。
				それを使い、上記のように近接のブロックのGeohashコードを同時に検索することで、東京タワーからおおよそ1〜1.5kmのポイントを割り出すことができます。
				　GAEのDataStoreは、文字列の前方一致が高速に行えるので、Geohashで場所の絞り込み検索などを容易に行うことができます。
				　緯度経度から、Geohashで計算するライブラリは各種言語用にリリースされています。
				Pure Rubyで書かれたライブラリが無かったで、自作したライブラリもありますので、Rubyの人はぜひ下記のコマンドでインストールしてみてください。
				
				gem install pr_geohash
				
				使い方は、READMEをご覧ください。
				　実際にGeohashを試すことの出来るデモを下記のURLに設置しました。興味のある人は、直接触ってみると簡単に使い方が分かると思います。
				http://blog.masuidrive.jp/wp-content/uploads/2010/01/geohash.html
				　緯度経度を精度も含めて、文字列一つで扱えるのでURLに位置情報を入れたい場合など、便利なケースがあるんじゃないかと思います。
				　Twitterでも緯度経度じゃなくて、Geohashで位置情報を管理してくれたらよかったのに。
				そしたら、5文字ぐらいにすることで「だいたいシアトルにいる」みたいな大まかな位置情報だけ公開するとかできて、プライバシー的にも利点があったのになー。
				p.s
				　Geohashのエンコーディング方法の解説も欲しいって人います？
				もし居たらコメントください。
				追記 01/13 0:34 
				　Geohashのアルゴリズムを書きました。
				  
				参考データ:
				
=begin
東京付近のGeoHashの精度を算出するRubyスクリプト

&#124;文字数&#124;   南北  &#124;   東西  &#124;
&#124;    6 &#124; 609.08m &#124; 988.77m &#124;
&#124;    7 &#124; 152.27m &#124; 123.60m &#124;
&#124;    8 &#124;  19.03m &#124; [...]]]></description>
			<content:encoded><![CDATA[				<p>　なんか世間的に位置情報アプリが流行ってるらしいし、Google App Engine(GAE)も楽しそう。どうせだから、GAEでなんか位置情報アプリでも作ってみよう！と思ってTwitterに書き込んだところ、<a href="http://en.wikipedia.org/wiki/Geohash">Geohash</a>という、位置情報のプロトコル？を教えてもらいました。</p>
				<p>　これは、その名の通り、位置情報をハッシュで表す規格なのですが、いろいろおもしろい特徴があり、調べているうちに楽しくなってきたので、勢い余って<a href="http://rubyforge.org/forum/forum.php?forum_id=35553">Pure Rubyのライブラリ</a>まで書いちゃいました。</p>
				<p>　そのあと、結局ライブラリを作ったところで満足して、アプリは何も作らなかったので、せめてGeohashの解説でも書いておこうと思います。<br />
				<span id="more-212"></span><br />
				　位置情報は通常、緯度経度で表します。たとえば東京タワーの緯度経度は35.65861, 139.745447です。<br />
				北を上にした地図でいうと、緯度がY座標で経度がX座標です。英語では緯度をlatitude、経度をlongitudeと呼びます。</p>
				<p>　この緯度経度は<a href="http://ja.wikipedia.org/wiki/%E6%B8%AC%E5%9C%B0%E7%B3%BB">測地系</a>によって値が違いますが、ここではGPSなどで使われている<a href="http://ja.wikipedia.org/wiki/%E6%B8%AC%E5%9C%B0%E7%B3%BB">世界測地系</a>を前提にします。</p>
				<p class="eyecatch_photo"><img src="http://img.skitch.com/20100113-t8dqgi2q75tuwnj4xp19kuri4q.jpg" alt="geohash demonstrator" style="border: 4px solid #aaa;"/></p>
				<p>　位置情報系のアプリでは、「今いる場所をGPSで取得して、その近くにあるランドマークを表示する」ということがよく行われます。<br />
				　これをGoogle App EngineのDataStoreで行おうと思うと、2つのカラムで比較ができないという、DataStoreの制約が問題になります。(例: x&gt;1 and y&gt;1の様なことができない)</p>
				<p>　そこで、GeoHashの登場です。GeoHashは、緯度経度の二つの座標を、一つの文字列にまとめたものです。</p>
				<p>　東京タワーをGeoHashで表現すると「xn76ggrw26」になります。GeoHashはグリッドになるので、緯度経度のようにポイントではありません。<br />
				　先のハッシュが8文字あると、19m*31mのグリッドになります。</p>
				<p>　GeoHashの最大の特徴は、その長さによって精度が変わることです。<br />
				東京タワーを中心とした 19m*31mのエリアは「xn76ggrw」ですが、これを頭5文字「xn76gg」だけ取り出すと、下の図の様なエリアを表します。<br />
				<img src="http://img.skitch.com/20100113-d2k36g72c8j2fnqutn2kjyntce.jpg" style="border: 4px solid #aaa;"/></p>
				<p>　データベースから、「xn76gg」の前方一致で検索することで、エリア内のポイントを簡単に取り出すことができます。</p>
				<p>　しかし、これでは、上の図の様に、ランドマークがメッシュの端にある場合、すぐ近くのポイントもヒットしなくなってしまいます。<br />
				　<br />
				　そこで、geohashで検索する場合は、右の図の様に隣接するブロックも同時に検索します。東京タワーの周りを探す場合は、「xn76gg」だけを検索するのではなく、&#8217;xn76gu&#8217;,'xn76gf&#8217;,'xn76u5&#8242;,&#8217;xn76ge&#8217;,'xn76gs&#8217;,'xn76uh&#8217;,'xn76u4&#8242;,&#8217;xn76gd&#8217;,'xn76gg&#8217;も同時に検索することで、おおよそ2km*3kmの範囲で検索が可能です。</p>
				<p><img src="http://img.skitch.com/20100113-eefcf893i2uqs4wrtu32q3e55y.jpg" style="border: 4px solid #aaa;"/></p>
				<p>　多くのGeohashライブラリには、隣接するGeohashコードを計算する関数が用意されています。<br />
				それを使い、上記のように近接のブロックのGeohashコードを同時に検索することで、東京タワーからおおよそ1〜1.5kmのポイントを割り出すことができます。</p>
				<p>　GAEのDataStoreは、文字列の前方一致が高速に行えるので、Geohashで場所の絞り込み検索などを容易に行うことができます。</p>
				<p>　緯度経度から、Geohashで計算するライブラリは<a href="http://en.wikipedia.org/wiki/Geohash">各種言語用にリリース</a>されています。<br />
				Pure Rubyで書かれたライブラリが無かったで、自作したライブラリもありますので、Rubyの人はぜひ下記のコマンドでインストールしてみてください。<br />
				<code><br />
				gem install pr_geohash<br />
				</code><br />
				使い方は、<a href="http://github.com/masuidrive/pr_geohash">README</a>をご覧ください。</p>
				<p>　実際にGeohashを試すことの出来るデモを下記のURLに設置しました。興味のある人は、直接触ってみると簡単に使い方が分かると思います。<br />
				<a href="http://blog.masuidrive.jp/wp-content/uploads/2010/01/geohash.html">http://blog.masuidrive.jp/wp-content/uploads/2010/01/geohash.html</a></p>
				<p>　緯度経度を精度も含めて、文字列一つで扱えるのでURLに位置情報を入れたい場合など、便利なケースがあるんじゃないかと思います。</p>
				<p>　Twitterでも緯度経度じゃなくて、Geohashで位置情報を管理してくれたらよかったのに。<br />
				そしたら、5文字ぐらいにすることで「だいたいシアトルにいる」みたいな大まかな位置情報だけ公開するとかできて、プライバシー的にも利点があったのになー。</p>
				<p>p.s<br />
				　Geohashのエンコーディング方法の解説も欲しいって人います？<br />
				もし居たらコメントください。</p>
				<p><strong>追記 01/13 0:34 </strong><br />
				　<a href="http://blog.masuidrive.jp/index.php/2010/01/15/geohash-algorithm/">Geohashのアルゴリズム</a>を書きました。</p>
				<p><iframe src="http://rcm-jp.amazon.co.jp/e/cm?o=9&amp;p=8&amp;l=as1&amp;asins=4627947011&amp;t=masuidriveblo-22&amp;IS1=1&amp;fc1=666666&amp;lc1=6666FF&amp;bg1=FFFFFF&amp;lt1=_blank&amp;bc1=FFFFFF&amp;npa=1&amp;f=ifr" style="width: 120px; height: 240px;" marginwidth="0" marginheight="0" frameborder="0" scrolling="no"></iframe> <iframe src="http://rcm-jp.amazon.co.jp/e/cm?o=9&amp;p=8&amp;l=as1&amp;asins=4627947011&amp;t=masuidriveblo-22&amp;IS1=1&amp;fc1=666666&amp;lc1=6666FF&amp;bg1=FFFFFF&amp;lt1=_blank&amp;bc1=FFFFFF&amp;npa=1&amp;f=ifr" style="width: 120px; height: 240px;" marginwidth="0" marginheight="0" frameborder="0" scrolling="no"></iframe> <iframe src="http://rcm-jp.amazon.co.jp/e/cm?o=9&amp;p=8&amp;l=as1&amp;asins=4797342773&amp;t=masuidriveblo-22&amp;IS1=1&amp;fc1=666666&amp;lc1=6666FF&amp;bg1=FFFFFF&amp;lt1=_blank&amp;bc1=FFFFFF&amp;npa=1&amp;f=ifr" style="width: 120px; height: 240px;" marginwidth="0" marginheight="0" frameborder="0" scrolling="no"></iframe></p>
				<p>参考データ:</p>
				<pre>
=begin
東京付近のGeoHashの精度を算出するRubyスクリプト

|文字数|   南北  |   東西  |
|    6 | 609.08m | 988.77m |
|    7 | 152.27m | 123.60m |
|    8 |  19.03m |  30.90m |
|    9 |   4.76m |   3.86m |
|   10 |   0.59m |   0.97m |
=end

puts (6..10).map {|i|
  lng_bit = (5 * i / 2.0).ceil
  lat_bit = (5 * i / 2.0).floor
  lng_grid_size = sprintf("%6.2fm", (360.0 / (2 ** lng_bit))*(25.0*60*60))
  lat_grid_size = sprintf("%6.2fm", (180.0 / (2 ** lat_bit))*(30.8*60*60))
  [i, lat_bit, lng_bit, lat_grid_size, lng_grid_size]
}.map{|r| "|#{r.join('|')}|"}.join("\n")
</pre>
<img src="http://feeds.feedburner.com/~r/masuidrive/~4/FNoUXRel5J4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.masuidrive.jp/index.php/2010/01/13/geohash/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://blog.masuidrive.jp/index.php/2010/01/13/geohash/</feedburner:origLink></item>
		<item>
		<title>NoSQL – SQLはもう古い?</title>
		<link>http://feedproxy.google.com/~r/masuidrive/~3/AX9NQBDgpEw/</link>
		<comments>http://blog.masuidrive.jp/index.php/2009/11/10/nosql-sql-is-old-school/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 10:40:21 +0000</pubDate>
		<dc:creator>masuidrive</dc:creator>
				<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://blog.masuidrive.jp/?p=200</guid>
		<description><![CDATA[				Photo by shindotv
				　ここ最近、海外のブログで「NoSQL」という単語をちょこちょこと見るようになりました。
				　これは新しいデータベースのムーブメントで、「SQL=リレーショナル」ではないデータベースの事を指しています。
				　NoSQL DBサーバの有名な物は、Facebookがリリースした「Cassandra」、Erlangで書かれた「CouchDB」、日本からは、mixiがリリースしている「TokyoTyrant」があります。
				　またGoogle App Engineでは、DataStoreというBigTableベースのNoSQLサービスが提供されています。
				　ある程度ユーザを集めたコンシューマ向けサービスは、大抵の場合パフォーマンスとの戦いとなります。
				　技術誌の中でも「スケールアウト技法」的な記事を目にすることが増えてきたことからも、多くのサイト運営者が、パフォーマンスの問題を抱えていることがわかります。
				　多くの場合、問題になるのは、データベースのパフォーマンスです。
				
				　アプリサーバは台数を増やせばその分パフォーマンスが向上するケースが多いですが、データベースは、単純にサーバを増やしてもパフォーマンスは向上しません。
				　そこで、スケールアウト（サーバの台数を増やしてパフォーマンスを向上させる手法）がしやすいデータベース＝NoSQLDBを導入しようという流れが出てきています。
				　WikipediaのNoSQLの項目をみると、既に20個近いNoSQLなデータベースサーバが並べられています。
				　この2週間ほど、Google App Engine(GAE)に挑戦しているのですが、ここではDataStoreというNoSQLのデータベースしかサポートされていません。
				　このDataStoreはSQLの様な複雑なクエリーをサポートしておらず、「SELECT * FROM users WHERE x>10 AND y&#60;10」の様に複数のカラムに対しての比較演算や、「SELECT count(*) FROM users」の様に集合関数を使うこともできません。
				　初めは「こんなデータベースでプログラムが組めるのか？」と心配でしたが、データの構造をよく考えることで、多くの場合、乗り越えることが出来ることが分かってきました。
				　まだデファクトスタンダードもないので、一般に使われるようになるまで、2,3年かかるかもしれませんが、トラフィックやデータ量の大きいサイトでは必須の技術になると思います。
				　リレーショナルからNoSQLのデータベースの移行は簡単ではなく、ものすごく大きなパラダムシフトになります。
				　この頭の切り替えは結構大変で、今からGAEなどを通じて慣れておかないと置いて行かれそうと思い、勉強中です。
				  
				参考リンク
				
				Rackspace Cloud Computing &#038; Hosting &#124;  NoSQL Ecosystem
				SQL Databases Don&#8217;t Scale
				6 Reasons Why Relational Database Will Be Superseded &#124; HaveMacWillBlog (aka Robin Bloor’s Blog)
				
]]></description>
			<content:encoded><![CDATA[				<p class="eyecatch_photo"><img src="http://farm4.static.flickr.com/3572/3835364867_9b8e93d302_m.jpg"/><span class="photo_by">Photo by <a href="http://www.flickr.com/photos/shindotv/" title="Link to pnoeric's photostream"><b>shindotv</b></a></span></p>
				<p>　ここ最近、海外のブログで「<strong>NoSQL</strong>」という単語をちょこちょこと見るようになりました。</p>
				<p>　これは新しいデータベースのムーブメントで、「SQL=リレーショナル」ではないデータベースの事を指しています。</p>
				<p>　NoSQL DBサーバの有名な物は、Facebookがリリースした「Cassandra」、Erlangで書かれた「CouchDB」、日本からは、mixiがリリースしている「TokyoTyrant」があります。<br />
				　またGoogle App Engineでは、DataStoreというBigTableベースのNoSQLサービスが提供されています。</p>
				<p>　ある程度ユーザを集めたコンシューマ向けサービスは、大抵の場合パフォーマンスとの戦いとなります。</p>
				<p>　技術誌の中でも「スケールアウト技法」的な記事を目にすることが増えてきたことからも、多くのサイト運営者が、パフォーマンスの問題を抱えていることがわかります。</p>
				<p>　多くの場合、問題になるのは、データベースのパフォーマンスです。<br />
				<span id="more-200"></span><br />
				　アプリサーバは台数を増やせばその分パフォーマンスが向上するケースが多いですが、データベースは、単純にサーバを増やしてもパフォーマンスは向上しません。</p>
				<p>　そこで、スケールアウト（サーバの台数を増やしてパフォーマンスを向上させる手法）がしやすいデータベース＝<strong>NoSQL</strong>DBを導入しようという流れが出てきています。</p>
				<p>　Wikipediaの<a href="http://en.wikipedia.org/wiki/NoSQL">NoSQL</a>の項目をみると、既に20個近いNoSQLなデータベースサーバが並べられています。</p>
				<p>　この2週間ほど、Google App Engine(GAE)に挑戦しているのですが、ここではDataStoreというNoSQLのデータベースしかサポートされていません。</p>
				<p>　このDataStoreはSQLの様な複雑なクエリーをサポートしておらず、「SELECT * FROM users WHERE x>10 AND y&lt;10」の様に複数のカラムに対しての比較演算や、「SELECT count(*) FROM users」の様に集合関数を使うこともできません。</p>
				<p>　初めは「こんなデータベースでプログラムが組めるのか？」と心配でしたが、データの構造をよく考えることで、多くの場合、乗り越えることが出来ることが分かってきました。</p>
				<p>　まだデファクトスタンダードもないので、一般に使われるようになるまで、2,3年かかるかもしれませんが、トラフィックやデータ量の大きいサイトでは必須の技術になると思います。</p>
				<p>　リレーショナルからNoSQLのデータベースの移行は簡単ではなく、ものすごく大きなパラダムシフトになります。<br />
				　この頭の切り替えは結構大変で、今からGAEなどを通じて慣れておかないと置いて行かれそうと思い、勉強中です。</p>
				<p><iframe src="http://rcm-jp.amazon.co.jp/e/cm?o=9&amp;p=8&amp;l=as1&amp;asins=4774139858&amp;t=masuidriveblo-22&amp;IS1=1&amp;fc1=666666&amp;lc1=6666FF&amp;bg1=FFFFFF&amp;lt1=_blank&amp;bc1=FFFFFF&amp;npa=1&amp;f=ifr" style="width: 120px; height: 240px;" marginwidth="0" marginheight="0" frameborder="0" scrolling="no"></iframe> <iframe src="http://rcm-jp.amazon.co.jp/e/cm?o=9&amp;p=8&amp;l=as1&amp;asins=4899772483&amp;t=masuidriveblo-22&amp;IS1=1&amp;fc1=666666&amp;lc1=6666FF&amp;bg1=FFFFFF&amp;lt1=_blank&amp;bc1=FFFFFF&amp;npa=1&amp;f=ifr" style="width: 120px; height: 240px;" marginwidth="0" marginheight="0" frameborder="0" scrolling="no"></iframe> <iframe src="http://rcm-jp.amazon.co.jp/e/cm?o=9&amp;p=8&amp;l=as1&amp;asins=4774141275&amp;t=masuidriveblo-22&amp;IS1=1&amp;fc1=666666&amp;lc1=6666FF&amp;bg1=FFFFFF&amp;lt1=_blank&amp;bc1=FFFFFF&amp;npa=1&amp;f=ifr" style="width: 120px; height: 240px;" marginwidth="0" marginheight="0" frameborder="0" scrolling="no"></iframe></p>
				<p><strong>参考リンク</strong></p>
				<ul>
				<li><a href="http://www.rackspacecloud.com/blog/2009/11/09/nosql-ecosystem/">Rackspace Cloud Computing &#038; Hosting |  NoSQL Ecosystem</a></li>
				<li><a href="http://adam.blog.heroku.com/past/2009/7/6/sql_databases_dont_scale/">SQL Databases Don&#8217;t Scale</a></li>
				<li><a href="http://havemacwillblog.com/2008/11/10/6-reasons-why-relational-database-will-be-superseded/">6 Reasons Why Relational Database Will Be Superseded | HaveMacWillBlog (aka Robin Bloor’s Blog)</a></li>
				</ul>
<img src="http://feeds.feedburner.com/~r/masuidrive/~4/AX9NQBDgpEw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.masuidrive.jp/index.php/2009/11/10/nosql-sql-is-old-school/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.masuidrive.jp/index.php/2009/11/10/nosql-sql-is-old-school/</feedburner:origLink></item>
		<item>
		<title>AmazonがMySQL 5.1をサービス化 – Amazon RDS</title>
		<link>http://feedproxy.google.com/~r/masuidrive/~3/-dGHj_8MTqI/</link>
		<comments>http://blog.masuidrive.jp/index.php/2009/10/27/amazon-released-rds/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 07:14:07 +0000</pubDate>
		<dc:creator>masuidrive</dc:creator>
				<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://blog.masuidrive.jp/?p=179</guid>
		<description><![CDATA[				
				　AmazonがAmazon RDSという、MySQL専用のインスタンスをサービス始めました。
				　これは、MySQL 5.1がセットアップしてあるインスタンスで、Small(1CPU, 1.7 GBメモリ)〜Quadruple Extra Large(26CPU, 68 GBメモリ)までスペックが提供されています、Smallは$0.11/時 ($81/月)か。Largeだと$0.44時で$327/月なので、通常のEC2よりはちょっと高めの様です。
				　EC2と違うのは、ネットワーク代は別でDBへ外部からアクセスした場合には、1GB辺り、Inは$0.10、Outは$0.10〜$0.17掛かります。
				　これ以外に、1GB辺り$0.1のストレージ代と、100万IOアクセス辺り$0.1の代がかかります。この辺はEBSと同じみたいですね。
				
				　アプリケーションからアクセスする場合、今までのMySQLと同じように見えるので、特に変更無く使えるようです。
				　インスタンスを起動した後でも、ディスクやインスタンスのサイズを変えることができるようです。
				しかし、その場合には、行う時間に制限があり、その間はデータベースが使えなくなるようです。(要調査)
				　FAQを読んでいると、「High Availability option for Amazon RDS」という、複数のavailability zonesにまたがって同期レプリケーションを行うサービスを提供する予定があると書いているので、普通の非同期なレプリケーション以外にも何か提供してくるのかもしれません。
				修正 10/27 21:00 JST
				　ネットワーク代が掛かると書いていましたが、EC2などと同じでAWS内の場合は無料でした。
				とりあえずツールのインストール
				1. 下記のURLからツールをダウンロードして解凍
				http://developer.amazonwebservices.com/connect/entry.jspa?externalID=2928&#038;categoryID=294
				2. binにパスを通す
				3. export AWS_RDS_HOME=~/local/RDSCli-1.0.001 の様に環境変数AWS_RDS_HOMEを設定
				リンク
				
				Amazon Relational Database Service (Amazon RDS)
				DeveloperGuide
				FAQ
				
]]></description>
			<content:encoded><![CDATA[				<p><a href="http://www.flickr.com/photos/artform"><img src="http://farm4.static.flickr.com/3464/3266842478_20674f9a87_m.jpg"/ align="right" style=""/></a><br />
				　AmazonがAmazon RDSという、MySQL専用のインスタンスをサービス始めました。</p>
				<p>　これは、MySQL 5.1がセットアップしてあるインスタンスで、Small(1CPU, 1.7 GBメモリ)〜Quadruple Extra Large(26CPU, 68 GBメモリ)までスペックが提供されています、Smallは$0.11/時 ($81/月)か。Largeだと$0.44時で$327/月なので、通常のEC2よりはちょっと高めの様です。<br />
				　<strike>EC2と違うのは、ネットワーク代は別で</strike><strong>DBへ外部からアクセスした場合には</strong>、1GB辺り、Inは$0.10、Outは$0.10〜$0.17掛かります。</p>
				<p>　これ以外に、1GB辺り$0.1のストレージ代と、100万IOアクセス辺り$0.1の代がかかります。この辺はEBSと同じみたいですね。<br />
				<span id="more-179"></span><br />
				　アプリケーションからアクセスする場合、今までのMySQLと同じように見えるので、特に変更無く使えるようです。</p>
				<p>　インスタンスを起動した後でも、ディスクやインスタンスのサイズを変えることができるようです。<br />
				しかし、その場合には、行う時間に制限があり、その間はデータベースが使えなくなるようです。(要調査)</p>
				<p>　<a href="http://aws.amazon.com/rds/faqs/">FAQ</a>を読んでいると、「High Availability option for Amazon RDS」という、複数のavailability zonesにまたがって同期レプリケーションを行うサービスを提供する予定があると書いているので、普通の非同期なレプリケーション以外にも何か提供してくるのかもしれません。</p>
				<p><strong>修正 10/27 21:00 JST</strong><br />
				　ネットワーク代が掛かると書いていましたが、EC2などと同じでAWS内の場合は無料でした。</p>
				<h2>とりあえずツールのインストール</h2>
				<p>1. 下記のURLからツールをダウンロードして解凍<br />
				<a href="http://developer.amazonwebservices.com/connect/entry.jspa?externalID=2928&#038;categoryID=294">http://developer.amazonwebservices.com/connect/entry.jspa?externalID=2928&#038;categoryID=294</a><br />
				2. binにパスを通す<br />
				3. export AWS_RDS_HOME=~/local/RDSCli-1.0.001 の様に環境変数<strong>AWS_RDS_HOME</strong>を設定</p>
				<h2>リンク</h2>
				<ul>
				<li><a href="http://aws.amazon.com/rds/">Amazon Relational Database Service (Amazon RDS)</a></li>
				<li><a href="http://docs.amazonwebservices.com/AmazonRDS/latest/DeveloperGuide/">DeveloperGuide</a></li>
				<li><a href="http://aws.amazon.com/rds/faqs/">FAQ</a></li>
				</ul>
<img src="http://feeds.feedburner.com/~r/masuidrive/~4/-dGHj_8MTqI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.masuidrive.jp/index.php/2009/10/27/amazon-released-rds/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.masuidrive.jp/index.php/2009/10/27/amazon-released-rds/</feedburner:origLink></item>
		<item>
		<title>いまさらディープリンク問題？</title>
		<link>http://feedproxy.google.com/~r/masuidrive/~3/1dHqxUqd5Zs/</link>
		<comments>http://blog.masuidrive.jp/index.php/2009/10/19/deep-linking-dispute/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 05:36:33 +0000</pubDate>
		<dc:creator>masuidrive</dc:creator>
				<category><![CDATA[life]]></category>

		<guid isPermaLink="false">http://blog.masuidrive.jp/?p=167</guid>
		<description><![CDATA[				　レシピ横断検索サイト recipe growlerの管理者宛に、&#8220;個別ページにリンク禁止&#8221;の為、リンクを削除して欲しい旨のメールが届いたらしいです。
				　この手の話はひさびさに聞きました。
				　さらに、各レシピのページに「簡単リンク　外部のブログにこのレシピのリンクを貼れます」って書いてあるのに。
				
				　「トップページ以外にリンクしては行けない」という話は、「ディープリンク問題」としてかなり昔から議論され、もうとっくに「他人にディープリンク禁止は強制できない」ということで決着しているものだと思っていました。
				　どうしてもディープリンクを禁止したい場合は、サイト側で技術的に対策が可能です。
				　ニュースサイトのITmediaでは、画像への外部からのリンクを禁止し、実際に外部からリンクを行っても画像が見れないように対策されています。また検索エンジンにリンクされたくない場合は、robots.txtと言う方法で簡単に行えます。
				　本意はディープリンク禁止ではないかもしれませんが、ネット系ベンチャーとして、いまさらディープリンク禁止を掲げるのは、恥ずかしくないのかなぁ。
				[追記]
				　リンクに関するページが更新された模様。素早い対応、すばらしい！
				　でも「クックパッドにリンクしていること自体をサイト運営や
				営業の手段としないでください。」ってどういう意味だろう？
				これだと、「美味しいレシピを見つけましたブログ」の様な形態のサイトを作る事は、NGって事かな？
				クックパッドにリンクしている言うことを目立つところに書かなきゃOK?
				
]]></description>
			<content:encoded><![CDATA[				<p>　<a href="http://recipe.bayashi.net/">レシピ横断検索サイト recipe growler</a>の管理者宛に、<a href="http://tech.bayashi.jp/archives/entry/web-service/2009/002796.html">&#8220;個別ページにリンク禁止&#8221;の為、リンクを削除して欲しい旨のメールが届いた</a>らしいです。<br />
				　この手の話はひさびさに聞きました。</p>
				<p>　さらに、各レシピのページに「簡単リンク　外部のブログにこのレシピのリンクを貼れます」って書いてあるのに。<br />
				<img src="http://img.f.hatena.ne.jp/images/fotolife/m/masuidrive/20091020/20091020143051.png?1256016668" alt="簡単リンク　外部のブログにこのレシピのリンクを貼れます" style="border: 4px solid #888;"/></p>
				<p>　「トップページ以外にリンクしては行けない」という話は、「ディープリンク問題」としてかなり昔から議論され、もうとっくに「他人にディープリンク禁止は強制できない」ということで決着しているものだと思っていました。</p>
				<p>　どうしてもディープリンクを禁止したい場合は、サイト側で技術的に対策が可能です。<br />
				　ニュースサイトのITmediaでは、画像への外部からのリンクを禁止し、実際に外部からリンクを行っても画像が見れないように対策されています。また検索エンジンにリンクされたくない場合は、robots.txtと言う方法で簡単に行えます。</p>
				<p>　本意はディープリンク禁止ではないかもしれませんが、ネット系ベンチャーとして、いまさらディープリンク禁止を掲げるのは、恥ずかしくないのかなぁ。</p>
				<p>[追記]<br />
				　<a href="http://cookpad.com/info/link">リンクに関するページ</a>が更新された模様。素早い対応、すばらしい！</p>
				<p>　でも「クックパッドにリンクしていること自体をサイト運営や<br />
				営業の手段としないでください。」ってどういう意味だろう？<br />
				これだと、「美味しいレシピを見つけましたブログ」の様な形態のサイトを作る事は、NGって事かな？<br />
				クックパッドにリンクしている言うことを目立つところに書かなきゃOK?</p>
				<p><img src="http://img.f.hatena.ne.jp/images/fotolife/m/masuidrive/20091020/20091020181820.png" style="border: 4px solid #888;"/></p>
<img src="http://feeds.feedburner.com/~r/masuidrive/~4/1dHqxUqd5Zs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.masuidrive.jp/index.php/2009/10/19/deep-linking-dispute/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://blog.masuidrive.jp/index.php/2009/10/19/deep-linking-dispute/</feedburner:origLink></item>
		<item>
		<title>DataMapper 0.10.1をmerbで使う為のパッチ</title>
		<link>http://feedproxy.google.com/~r/masuidrive/~3/tnOm0rUYQ9w/</link>
		<comments>http://blog.masuidrive.jp/index.php/2009/10/10/pactch-for-datamapper-0-10-1-on-merb/#comments</comments>
		<pubDate>Sun, 11 Oct 2009 04:57:15 +0000</pubDate>
		<dc:creator>masuidrive</dc:creator>
				<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://blog.masuidrive.jp/?p=163</guid>
		<description><![CDATA[				先日、DataMapper 0.10.1がリリースされました。
				DataMapperを使う上で致命的だった、count問題も直っているようです。
				しかし、そのままだとmerb 1.0.12ではエラーが出て動きません。
				そのときは、下記のコードを適当な所で実行してください。
				
class Merb::Orms::DataMapper::Associations &#60; Merb::BootLoader
   def self.run
     DataMapper::Model.descendants.each do &#124;model&#124;
       include DataMapper::Resource
       touch_child_keys(model)
     end
   end

   def self.touch_child_keys(model)
     model.relationships.each_value { &#124;relationship&#124; relationship.child_key }
   [...]]]></description>
			<content:encoded><![CDATA[				<p>先日、<a href="http://datamapper.org/">DataMapper 0.10.1</a>がリリースされました。<br />
				DataMapperを使う上で致命的だった、<a href="http://blog.masuidrive.jp/index.php/2009/08/10/dm-core-0-10-0-rc1/">count問題</a>も直っているようです。</p>
				<p>しかし、そのままだとmerb 1.0.12ではエラーが出て動きません。<br />
				そのときは、下記のコードを適当な所で実行してください。</p>
				<pre>
class Merb::Orms::DataMapper::Associations &lt; Merb::BootLoader
   def self.run
     DataMapper::Model.descendants.each do |model|
       include DataMapper::Resource
       touch_child_keys(model)
     end
   end

   def self.touch_child_keys(model)
     model.relationships.each_value { |relationship| relationship.child_key }
   end
end
</pre>
				<p><a href="http://aviewfromafar.net/2009/9/22/using-datamapper-0-10-with-merb-1-0-12">引用元</a></p>
<img src="http://feeds.feedburner.com/~r/masuidrive/~4/tnOm0rUYQ9w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.masuidrive.jp/index.php/2009/10/10/pactch-for-datamapper-0-10-1-on-merb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.masuidrive.jp/index.php/2009/10/10/pactch-for-datamapper-0-10-1-on-merb/</feedburner:origLink></item>
	</channel>
</rss>
