<?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>Thu, 02 Sep 2010 20:54:32 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<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>LEGOでiPad Standを作ってみた</title>
		<link>http://feedproxy.google.com/~r/masuidrive/~3/St1ZxVsb6L4/</link>
		<comments>http://blog.masuidrive.jp/index.php/2010/05/04/lego-ipad-stand/#comments</comments>
		<pubDate>Wed, 05 May 2010 06:31:03 +0000</pubDate>
		<dc:creator>masuidrive</dc:creator>
				<category><![CDATA[iphone]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[lego]]></category>

		<guid isPermaLink="false">http://blog.masuidrive.jp/?p=386</guid>
		<description><![CDATA[　iPadを机で使う時、そのまま置くと角度が無くて覗き込むようにして、使う必要があります。 　純正ケースを使えば角度はつくのですが、背面まで覆われるケースが、どーもダサい気がして、買ったのに外してしまいました。 　クレイドルも買ったんですが、縦型にしか使えないので、机に置いてWeb見たりTweet打ったりするには、向きません。 　そこで、LEGO使って机に置く時用のクレイドルを自作することにしました。 　幸い、近所にLEGO STOREがあって、ブロックを小売りにしているので、何も考えずにお店に行って、現地で組み立てながら作ってみました。 　ちょうどいい具合に、小さな爪みたいなパーツがあったので、それを前のストッパにしています。 　背面は湾曲しているので、左右の二カ所で押さえます。 接地が少ないので、弱そうに見えますが、結構安定しています。 　これで机の上でGoodReaderを使って資料を見たり、ちょっとニュースをチェックするのに、とても使いやすくなりました。 　かなりお手軽にできて、意外にしっかりしているのでおすすめです。 p.s 　余ったパーツで、走るNexus oneスタンドも作ってみました。 &#160;&#160;]]></description>
			<content:encoded><![CDATA[				<p><a href='http://www.flickr.com/photo.gne?id=4580310662' title='LEGO iPad Stand'><img width='500px' height='375px' src='http://farm5.static.flickr.com/4033/4580310662_05b4aea5c4.jpg' alt='LEGO iPad Stand'/></a></p>
				<p>
				　iPadを机で使う時、そのまま置くと角度が無くて覗き込むようにして、使う必要があります。</p>
				<p>　<a href="http://www.apple.com/jp/ipad/specs/">純正ケース</a>を使えば角度はつくのですが、背面まで覆われるケースが、どーもダサい気がして、買ったのに外してしまいました。<br />
				　<a href="http://www.apple.com/jp/ipad/specs/">クレイドル</a>も買ったんですが、縦型にしか使えないので、机に置いてWeb見たりTweet打ったりするには、向きません。</p>
				<p>　そこで、LEGO使って机に置く時用のクレイドルを自作することにしました。<br />
				　幸い、近所にLEGO STOREがあって、ブロックを小売りにしているので、何も考えずにお店に行って、現地で組み立てながら作ってみました。
				</p>
				<p><span id="more-386"></span></p>
				<p>
				<a href='http://www.flickr.com/photo.gne?id=4580302860' title='LEGO iPad Stand'><img width='500px' height='375px' src='http://farm5.static.flickr.com/4004/4580302860_c853c9c16c.jpg' alt='LEGO iPad Stand'/></a>
				</p>
				<p>
				　ちょうどいい具合に、小さな爪みたいなパーツがあったので、それを前のストッパにしています。
				</p>
				<p>
				<a href='http://www.flickr.com/photo.gne?id=4579676675' title='LEGO iPad Stand'><img width='500px' height='375px' src='http://farm4.static.flickr.com/3325/4579676675_8ed79785a1.jpg' alt='LEGO iPad Stand'/></a>
				</p>
				<p>
				　背面は湾曲しているので、左右の二カ所で押さえます。<br />
				接地が少ないので、弱そうに見えますが、結構安定しています。
				</p>
				<p>
				<a href='http://www.flickr.com/photo.gne?id=4580309240' title='LEGO iPad Stand'><img width='500px' height='375px' src='http://farm5.static.flickr.com/4055/4580309240_e0ed212814.jpg' alt='LEGO iPad Stand'/></a>
				</p>
				<p>
				　これで机の上でGoodReaderを使って資料を見たり、ちょっとニュースをチェックするのに、とても使いやすくなりました。
				</p>
				<p>　かなりお手軽にできて、意外にしっかりしているのでおすすめです。</p>
				<p>p.s<br />
				　余ったパーツで、走るNexus oneスタンドも作ってみました。</p>
				<p><a href="http://www.flickr.com/photos/masuidrive/4580233505/" title="LEGO nexus one stand by masuidrive76, on Flickr"><img src="http://farm5.static.flickr.com/4029/4580233505_a579ed1439_m.jpg" width="240" height="180" alt="LEGO nexus one stand" /></a>&nbsp;&nbsp;<a href="http://www.flickr.com/photos/masuidrive/4580864106/" title="LEGO nexus one stand by masuidrive76, on Flickr"><img src="http://farm5.static.flickr.com/4016/4580864106_bf2648e999_m.jpg" width="240" height="180" alt="LEGO nexus one stand" /></a></p>
<img src="http://feeds.feedburner.com/~r/masuidrive/~4/St1ZxVsb6L4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.masuidrive.jp/index.php/2010/05/04/lego-ipad-stand/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.masuidrive.jp/index.php/2010/05/04/lego-ipad-stand/</feedburner:origLink></item>
		<item>
		<title>無料のサイト=オープンソースじゃない</title>
		<link>http://feedproxy.google.com/~r/masuidrive/~3/OA_qakuFau0/</link>
		<comments>http://blog.masuidrive.jp/index.php/2010/04/16/opensourc-is-not-as-in-free-beer/#comments</comments>
		<pubDate>Fri, 16 Apr 2010 08:00:29 +0000</pubDate>
		<dc:creator>masuidrive</dc:creator>
				<category><![CDATA[life]]></category>
		<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://blog.masuidrive.jp/?p=375</guid>
		<description><![CDATA[Photo by Lori Spindler ●＜SNS＞　フリーの夢の終焉、米国のNingがフリービジネスを放棄し社員を7割削減 (略) 　米国のフリーSNSで有名なNingが、フリー開発を放棄し、社員を4割削減します。 　オープンソースの夢はSNSに関して米国では終焉しました。 ＜SNS＞　フリーの夢の終焉、米国のNingがフリービジネスを放棄し社員を7割削減: SNS,ソーシャルネットワーキング.jp 　フリーのサイト=オープンソースじゃありません。なかなかこの誤認識は止まらないなぁ。 　Ningはソースコードが公開されていないので、オープンソースではありません。ただの無料のサイトです。 この二つの違いは非常に大きなモノです。 　むしろ、オープンソース化されていれば、企業の業績によって「無料版」が廃止されユーザが混乱するという事態には、ならなかったはずです。オープンソースのSNSである、OpenPNEでは、こういう事はありえません。 　企業経営の常識は「倒産しない事」かもしれませんが、アプリケーションの継続的な提供という観点に立てば、オープンソース化はそれを超えるモノです。 　企業が倒産しても、オープンソースのアプリは生き続けます。私がOSSをすばらしいと思う大きな理由はここです。 　Netscapeがブラウザの一時代を築いたのにMSに押され、開発継続が危なくなったのに。オープンソース化することで、Netscape社がブラウザの開発を行わなくなった後も、Firefoxという形でアプリケーションが提供され続けているのは、そのためです。 　なんか、よく見る話になっちゃってるんですが、やっぱりどうしても気になったので書きました。]]></description>
			<content:encoded><![CDATA[				<p class="eyecatch_photo"><img src="http://farm4.static.flickr.com/3177/2559724403_7d5e535df1_m.jpg"/><span class="photo_by">Photo by <a href="http://www.flickr.com/photos/lorispindler/" title="Link to Lori Spindler's photostream" rel="dc:creator cc:attributionURL" data-ywa-name="Account name"><b property="foaf:name">Lori Spindler</b></a></span></p>
				<blockquote><p>●＜SNS＞　フリーの夢の終焉、米国のNingがフリービジネスを放棄し社員を7割削減<br />
				(略)<br />
				　米国のフリーSNSで有名なNingが、フリー開発を放棄し、社員を4割削減します。<br />
				　オープンソースの夢はSNSに関して米国では終焉しました。<br />
				<a href="http://www.socialnetworking.jp/archives/2010/04/snsning7.html">＜SNS＞　フリーの夢の終焉、米国のNingがフリービジネスを放棄し社員を7割削減: SNS,ソーシャルネットワーキング.jp</a></p></blockquote>
				<p>　フリーのサイト=オープンソースじゃありません。なかなかこの誤認識は止まらないなぁ。</p>
				<p>　Ningはソースコードが公開されていないので、オープンソースではありません。ただの無料のサイトです。<br />
				この二つの<strong>違いは非常に大きなモノ</strong>です。</p>
				<p>　むしろ、オープンソース化されていれば、企業の業績によって「無料版」が廃止されユーザが混乱するという事態には、ならなかったはずです。オープンソースのSNSである、<a href="http://www.openpne.jp/">OpenPNE</a>では、こういう事はありえません。</p>
				<p>　企業経営の常識は「倒産しない事」かもしれませんが、アプリケーションの継続的な提供という観点に立てば、オープンソース化はそれを超えるモノです。</p>
				<p>　企業が倒産しても、オープンソースのアプリは生き続けます。私がOSSをすばらしいと思う大きな理由はここです。</p>
				<p>　Netscapeがブラウザの一時代を築いたのにMSに押され、開発継続が危なくなったのに。オープンソース化することで、Netscape社がブラウザの開発を行わなくなった後も、Firefoxという形でアプリケーションが提供され続けているのは、そのためです。</p>
				<p>　なんか、よく見る話になっちゃってるんですが、やっぱりどうしても気になったので書きました。</p>
<img src="http://feeds.feedburner.com/~r/masuidrive/~4/OA_qakuFau0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.masuidrive.jp/index.php/2010/04/16/opensourc-is-not-as-in-free-beer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.masuidrive.jp/index.php/2010/04/16/opensourc-is-not-as-in-free-beer/</feedburner:origLink></item>
		<item>
		<title>nodejs本体をdebugする方法</title>
		<link>http://feedproxy.google.com/~r/masuidrive/~3/6tBSgOBwyuM/</link>
		<comments>http://blog.masuidrive.jp/index.php/2010/03/10/nodejs%e6%9c%ac%e4%bd%93%e3%82%92debug%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 21:42:40 +0000</pubDate>
		<dc:creator>masuidrive</dc:creator>
				<category><![CDATA[nodejs]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[node]]></category>

		<guid isPermaLink="false">http://blog.masuidrive.jp/?p=371</guid>
		<description><![CDATA[　nodejsでsegmentation faultが出た場合は、下記のようにdebug付きnodeをコンパイルして、gdbで実行。 (extract source code) ./configure --debug &#038;&#038; make gdb --args ./node_g myscript.js run (make it crash) backtrace via Segmentation Fault, how to debug? &#8211; nodejs &#124; Google Groups.]]></description>
			<content:encoded><![CDATA[				<p>　<a href="http://nodejs.org/">nodejs</a>でsegmentation faultが出た場合は、下記のようにdebug付きnodeをコンパイルして、gdbで実行。</p>
				<pre><code>(extract source code)
./configure --debug &#038;&#038; make
gdb --args ./node_g myscript.js
run
(make it crash)
backtrace</code></pre>
				<p>via <a href="http://groups.google.com/group/nodejs/browse_thread/thread/e206075b03677a91/99a3982b2722f5e0?show_docid=99a3982b2722f5e0">Segmentation Fault, how to debug? &#8211; nodejs | Google Groups</a>.</p>
<img src="http://feeds.feedburner.com/~r/masuidrive/~4/6tBSgOBwyuM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.masuidrive.jp/index.php/2010/03/10/nodejs%e6%9c%ac%e4%bd%93%e3%82%92debug%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		<feedburner:origLink>http://blog.masuidrive.jp/index.php/2010/03/10/nodejs%e6%9c%ac%e4%bd%93%e3%82%92debug%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95/</feedburner:origLink></item>
		<item>
		<title>Googleが買収したiPhoneのMailアプリreMailがオープンソースで戻ってきた</title>
		<link>http://feedproxy.google.com/~r/masuidrive/~3/1SgK0JpEcqo/</link>
		<comments>http://blog.masuidrive.jp/index.php/2010/03/05/welcome-back-remail/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 22:33:39 +0000</pubDate>
		<dc:creator>masuidrive</dc:creator>
				<category><![CDATA[iphone]]></category>
		<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://blog.masuidrive.jp/?p=358</guid>
		<description><![CDATA[Photo by deVos 　先月Googleが買収したiPhone向けMailアプリのreMail for Gmailがオープンソースになって戻ってきました。 　買収された直後は、reMailがAppStoreから消えたため「Appleとの対立か!?」とか言われていたのですが。 　どうやら、Google内での別のプロジェクトに注力するために、メンテナンスが出来なくなるためAppStoreから削除したようです。たぶん、Gmailだと思いますが。 　そこで早速Google Code: remail-iphoneからソースをダウンロードして、コンパイルしてみました。ライブラリのコンパイルに1時間ぐらいかかります。 　私の所ではライブラリのヘッダのエラーでコンパイルが完了できませんでした。 たぶん、コンパイルの設定の問題だと思うので、後でまた試してみようよ思います。 　 　プロジェクトサイトでは、アイディアとして、機能拡張案とその難易度が提示されています。 　難易度1として、翻訳も上げられていますが、日本語はサポートされていないようですので、もし興味のある方は参加されてみてはいかがでしょうか？]]></description>
			<content:encoded><![CDATA[				<p class="eyecatch_photo"><img src="http://farm1.static.flickr.com/10/16242048_df326f4d77_m.jpg"/><span class="photo_by">Photo by <a href="http://www.flickr.com/photos/devos/" title="Link to deVos' photostream" rel="dc:creator cc:attributionURL" data-ywa-name="Account name"><b property="foaf:name">deVos</b></a></span></p>
				<p>　先月Googleが買収したiPhone向けMailアプリのreMail for Gmailが<a href="http://www.remail.com/blog/posts/170028">オープンソースになって戻ってきました</a>。<br />
				　買収された直後は、reMailがAppStoreから消えたため「Appleとの対立か!?」とか言われていたのですが。</p>
				<p>　どうやら、Google内での別のプロジェクトに注力するために、メンテナンスが出来なくなるためAppStoreから削除したようです。たぶん、Gmailだと思いますが。</p>
				<p>　そこで早速<a href="http://code.google.com/p/remail-iphone/">Google Code: remail-iphone</a>からソースをダウンロードして、コンパイルしてみました。ライブラリのコンパイルに1時間ぐらいかかります。<br />
				　私の所ではライブラリのヘッダのエラーでコンパイルが完了できませんでした。<br />
				たぶん、コンパイルの設定の問題だと思うので、後でまた試してみようよ思います。<br />
				　<br />
				　プロジェクトサイトでは、アイディアとして、機能拡張案とその難易度が提示されています。<br />
				　難易度1として、翻訳も上げられていますが、日本語はサポートされていないようですので、もし興味のある方は参加されてみてはいかがでしょうか？</p>
<img src="http://feeds.feedburner.com/~r/masuidrive/~4/1SgK0JpEcqo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.masuidrive.jp/index.php/2010/03/05/welcome-back-remail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.masuidrive.jp/index.php/2010/03/05/welcome-back-remail/</feedburner:origLink></item>
		<item>
		<title>Google V8ってruntimeのドキュメントないのか</title>
		<link>http://feedproxy.google.com/~r/masuidrive/~3/66xtsKxCISA/</link>
		<comments>http://blog.masuidrive.jp/index.php/2010/02/21/google-v8-doesnt-have-specifications/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 09:36:07 +0000</pubDate>
		<dc:creator>masuidrive</dc:creator>
				<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://blog.masuidrive.jp/?p=356</guid>
		<description><![CDATA[　Google V8ってruntimeの仕様とかドキュメントないのかー。orz 　ECMAScript 3rd editionベースなんだけど、5th editionの機能もちょこちょこ入っていて、どれをサポートしているかソースを読まないとわからないんだよなぁ。 　どっかまとまってるところ知りませんか？＞誰か]]></description>
			<content:encoded><![CDATA[				<p> 　Google V8ってruntimeの仕様とかドキュメントないのかー。orz</p>
				<p>　<a href="http://ja.wikipedia.org/wiki/ECMAScript">ECMAScript</a> 3rd editionベースなんだけど、5th editionの機能もちょこちょこ入っていて、どれをサポートしているかソースを読まないとわからないんだよなぁ。</p>
				<p>　どっかまとまってるところ知りませんか？＞誰か</p>
<img src="http://feeds.feedburner.com/~r/masuidrive/~4/66xtsKxCISA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.masuidrive.jp/index.php/2010/02/21/google-v8-doesnt-have-specifications/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://blog.masuidrive.jp/index.php/2010/02/21/google-v8-doesnt-have-specifications/</feedburner:origLink></item>
		<item>
		<title>特定のディレクトリ下の古いファイルを掃除するPHPスクリプト</title>
		<link>http://feedproxy.google.com/~r/masuidrive/~3/oI_cuXjNKOM/</link>
		<comments>http://blog.masuidrive.jp/index.php/2010/02/18/sweeper-php/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 09:05:01 +0000</pubDate>
		<dc:creator>masuidrive</dc:creator>
				<category><![CDATA[Server]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[sweeper]]></category>

		<guid isPermaLink="false">http://blog.masuidrive.jp/?p=348</guid>
		<description><![CDATA[Photo by IanVisits 　Twitterで友達に「Webサーバ上の古いファイルを消すスクリプトが欲しい」と相談されて、PHPで作ってみました。 このまま眠らせるのも勿体ないので、ブログ書くことにしました。 　はじめはcronとfind -exec rmしようと思ったんですが、sshが使えないらしいので、PHPで作って外部から定期的に呼び出すことにします。 　下のファイルを適当な所に設置して、Webcron.org、Free Web Cron Serviceなど外部から定期的にURLをアクセスしてくれるサービスに登録します。 (これらのサービスを私は利用したことがないので、内容や安定性についてはコメントできません) 　ダウンロードはgistから。 &#60;?php // sweeper.php - public domain // まずは試しに ..../sweeper.php?debug=1で実行してください $sweep_dir = "/tmp/data/"; // 消したいディレクトリ ex) "/tmp/data/" 最後の/は必須です $expire_at = 30; // ファイルを保存する日数を設定します $debug = array_key_exists('debug', $_GET); date_default_timezone_set('Asia/Tokyo'); $num = sweep_files($sweep_dir, $expire_at ,$debug); echo "Purged $num files"; function sweep_files($sweep_dir, $expire_at, $debug) { [...]]]></description>
			<content:encoded><![CDATA[				<p class="eyecatch_photo"><img src="http://farm3.static.flickr.com/2523/3700804325_b6d4ae9e47_m.jpg"/><span class="photo_by">Photo by <a href="http://www.flickr.com/photos/ianvisits/" title="Link to IanVisits' photostream" rel="dc:creator cc:attributionURL"><b property="foaf:name">IanVisits</b></a></span></p>
				<p>　Twitterで友達に「Webサーバ上の古いファイルを消すスクリプトが欲しい」と相談されて、PHPで作ってみました。<br />
				このまま眠らせるのも勿体ないので、ブログ書くことにしました。</p>
				<p>　はじめはcronとfind -exec rmしようと思ったんですが、sshが使えないらしいので、PHPで作って外部から定期的に呼び出すことにします。</p>
				<p>　下のファイルを適当な所に設置して、<a href="http://www.webcron.org/index.php?lang=japanese">Webcron.org</a>、<a href="http://www.mywebcron.com/">Free Web Cron Service</a>など外部から定期的にURLをアクセスしてくれるサービスに登録します。<br />
				(これらのサービスを私は利用したことがないので、内容や安定性についてはコメントできません)</p>
				<p>　ダウンロードは<a href="http://gist.github.com/307497">gist</a>から。<br />
				<span id="more-348"></span></p>
				<pre><code>
&lt;?php
// sweeper.php - public domain
// まずは試しに ..../sweeper.php?debug=1で実行してください

$sweep_dir = "/tmp/data/"; // 消したいディレクトリ ex) "/tmp/data/" 最後の/は必須です
$expire_at = 30; // ファイルを保存する日数を設定します
$debug = array_key_exists('debug', $_GET);
date_default_timezone_set('Asia/Tokyo');

$num = sweep_files($sweep_dir, $expire_at ,$debug);
echo "Purged $num files";

function sweep_files($sweep_dir, $expire_at, $debug) {
  $count = 0;
  if(!($dir = @opendir($sweep_dir))){ die("can't open $sweep_dir");}
  while($file = readdir($dir)) {
    if($file=='.' || $file=='..') {
      // NOOP
    }
    else if(is_dir($file)) {
      $count += sweep_files($sweep_dir . $file . '/', $expire_at, $debug);
    }
    else {
      $name = $sweep_dir . $file;
      $mtime = filemtime($name);
      if((time() - $mtime) &gt;= 60*60*24*$expire_at) {
        if(file_exists($name)) {
          if($debug) {
            $mtime_ymd = date("Y/m/d H:i:s", $mtime);
            echo "will purge&gt; ".$mtime_ymd." $name&lt;br/&gt;";
          }
          else {
            unlink($name);
          }
          $count++;
        }
      }
    }
  } // end while
  closedir($dir);

  return $count;
}

?&gt;
</code></pre>
<img src="http://feeds.feedburner.com/~r/masuidrive/~4/oI_cuXjNKOM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.masuidrive.jp/index.php/2010/02/18/sweeper-php/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://blog.masuidrive.jp/index.php/2010/02/18/sweeper-php/</feedburner:origLink></item>
		<item>
		<title>[訂正版] Javascriptでクラスを継承する</title>
		<link>http://feedproxy.google.com/~r/masuidrive/~3/zhXv-YplPzk/</link>
		<comments>http://blog.masuidrive.jp/index.php/2010/02/15/inherited-javascript/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 02:44:18 +0000</pubDate>
		<dc:creator>masuidrive</dc:creator>
				<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://blog.masuidrive.jp/?p=340</guid>
		<description><![CDATA[Photo by spud murphy 　先ほどの記事のコードにミスがあり、継承を行うと、親クラスも書き換えてしまうバグがありました。コメントやTwitterで報告いただいた方々ありがとうございます。 　あの後、調べて見れると、あまりスマートに継承を実現する方法は無いみたいですが、ユーザが作ったクラス(StringなどのAtomic型を除く)は下記のコードで継承が行えます。 　特に、Array型を継承するのは、無理なようです。[]を上書きできないので、どうしようも無いみたいです。残念。 &#60;body&#62; &#60;div id="result"&#62;&#60;/div&#62; &#60;script&#62; var puts = function(str) { var el = document.getElementById('result'); el.innerHTML = el.innerHTML + str + "&#60;br/&#62;"; } // クラスを継承する extendClass = function(subClass, baseClass) { var inheritance = function() { }; inheritance.prototype = baseClass.prototype; subClass.prototype = new inheritance(); subClass.prototype.constructor = subClass; subClass.baseConstructor = baseClass; subClass.superClass [...]]]></description>
			<content:encoded><![CDATA[				<p class="eyecatch_photo"><img src="http://farm3.static.flickr.com/2240/2219132087_373029368d_m.jpg"/><span class="photo_by">Photo by <a href="http://www.flickr.com/photos/spudmurphy/" title="Link to spud murphy's photostream" rel="dc:creator cc:attributionURL"><b property="foaf:name">spud murphy</b></a></span></p>
				<p>　<a href="http://blog.masuidrive.jp/index.php/2010/02/14/inheritance-on-javascript/">先ほどの記事</a>のコードにミスがあり、継承を行うと、親クラスも書き換えてしまうバグがありました。コメントやTwitterで報告いただいた方々ありがとうございます。</p>
				<p>　あの後、調べて見れると、あまりスマートに継承を実現する方法は無いみたいですが、ユーザが作ったクラス(StringなどのAtomic型を除く)は下記のコードで継承が行えます。<br />
				　特に、Array型を継承するのは、無理なようです。[]を上書きできないので、どうしようも無いみたいです。残念。<br />
				<span id="more-340"></span></p>
				<pre>
&lt;body&gt;
&lt;div id="result"&gt;&lt;/div&gt;
&lt;script&gt;
var puts = function(str) {
    var el = document.getElementById('result');
    el.innerHTML = el.innerHTML + str + "&lt;br/&gt;";
}

// クラスを継承する
extendClass = function(subClass, baseClass) {
   var inheritance = function() { };
   inheritance.prototype = baseClass.prototype;

   subClass.prototype = new inheritance();
   subClass.prototype.constructor = subClass;
   subClass.baseConstructor = baseClass;
   subClass.superClass = baseClass.prototype;
}

var Parent = function(n) {
    this.n = n;
}
Parent.prototype.display1 = function() {
    puts("parent display1:"+this.n);
}
Parent.prototype.display2 = function() {
    puts("parent display2:"+this.n*2);
}

var Child = function(n) {
    Child.baseConstructor.apply(this, [n*2]);
}
extendClass(Child, Parent);

Child.prototype.display2 = function() {
    puts("child display2(over):"+this.n*2);
}

Child.prototype.display3 = function() {
    puts("child display3:"+this.n);
}

var child = new Child(1);
child.display1();
child.display2();
child.display3();
puts("&lt;hr/&gt;");

var parent = new Parent(1);
parent.display1();
parent.display2();

&lt;/script&gt;&lt;/body&gt;
&lt;/html&gt;
</pre>
				<p>参考　</p>
				<ul>
				<li><a href="http://d.hatena.ne.jp/sawat/20070221/cant_extends_array">この方法ではArrayを継承することは… できないッ！ &#8211; sawatの日記</a></li>
				<li><a href="http://kevlindev.com/tutorials/javascript/inheritance/index.htm">KevLinDev &#8211; Tutorials &#8211; JavaScript</a></li>
				</ul>
<img src="http://feeds.feedburner.com/~r/masuidrive/~4/zhXv-YplPzk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.masuidrive.jp/index.php/2010/02/15/inherited-javascript/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.masuidrive.jp/index.php/2010/02/15/inherited-javascript/</feedburner:origLink></item>
		<item>
		<title>[間違え] Javascriptでクラスの継承をする [訂正予定]</title>
		<link>http://feedproxy.google.com/~r/masuidrive/~3/2WQI-_zFUFU/</link>
		<comments>http://blog.masuidrive.jp/index.php/2010/02/14/inheritance-on-javascript/#comments</comments>
		<pubDate>Sun, 14 Feb 2010 15:16:33 +0000</pubDate>
		<dc:creator>masuidrive</dc:creator>
				<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://blog.masuidrive.jp/?p=329</guid>
		<description><![CDATA[Photo by GLUEKITS 　すみません。下記記事は間違っています。近々訂正記事を書きます。 →訂正記事 Javascriptでクラスベースっぽく書いてる時に、継承したくなった場合の書き方。 ググってもすぐ出なかったのでメモ。 IE6,7,8 Firefox2,3,3.5 Safari 3,4で確認。 p.s node.jsに、MySQLドライバがないので、書き始めました。 &#60;html&#62; &#60;body&#62; &#60;div id="result"&#62;&#60;/div&#62; &#60;script&#62; var puts = function(str) { var el = document.getElementById('result'); el.innerHTML = el.innerHTML + str + "&#60;br/&#62;"; } var Parent = function(n) { this.n = n; } Parent.prototype = Array.prototype; Parent.prototype.display1 = function() { puts("display1:"+this.n); } Parent.prototype.display2 = [...]]]></description>
			<content:encoded><![CDATA[				<p class="eyecatch_photo"><img src="http://farm3.static.flickr.com/2150/2234732713_98d8daa2a1_m.jpg"/><span class="photo_by">Photo by <a href="http://www.flickr.com/photos/gluekit/" title="Link to GLUEKITS' photostream" rel="dc:creator cc:attributionURL"><b property="foaf:name">GLUEKITS</b></a></span></p>
				<p>　<strong>すみません。下記記事は間違っています。近々訂正記事を書きます。</strong></p>
				<p>→<a href="http://blog.masuidrive.jp/index.php/2010/02/15/inherited-javascript/">訂正記事</a></p>
				<p><strike>Javascriptでクラスベースっぽく書いてる時に、継承したくなった場合の書き方。</strike><br />
				ググってもすぐ出なかったのでメモ。</p>
				<p>IE6,7,8 Firefox2,3,3.5 Safari 3,4で確認。<br />
				<span id="more-329"></span><br />
				p.s<br />
				 <a href="http://nodejs.org">node.js</a>に、MySQLドライバがないので、<a href="http://github.com/masuidrive/node-mysql">書き始めました</a>。</p>
				<pre><strike>
&lt;html&gt;
&lt;body&gt;
&lt;div id="result"&gt;&lt;/div&gt;
&lt;script&gt;
var puts = function(str) {
var el = document.getElementById('result');
    el.innerHTML = el.innerHTML + str + "&lt;br/&gt;";
}

var Parent = function(n) {
    this.n = n;
}
<strong>Parent.prototype = Array.prototype;</strong>
Parent.prototype.display1 = function() {
    puts("display1:"+this.n);
}
Parent.prototype.display2 = function() {
    puts("display2: ERROR");
}

var Child = function(n) {
    <strong>Parent.apply(this, [n*2]); // 親クラスのコンストラクタを呼ぶ</strong>
}
<strong>Child.prototype = Parent.prototype;</strong>

Child.prototype.display2 = function() {
    puts("display2(over):"+this[0]);
}

Child.prototype.display3 = function() {
    puts("display3:"+this.n);
}

var child = new Child(1);
child.push(10);
child.push(20);
child.display1();
child.display2();
child.display3();
&lt;/script&gt;&lt;/body&gt;
&lt;/html&gt;</strike>
</pre>
				<p><iframe src="http://rcm-jp.amazon.co.jp/e/cm?o=9&amp;p=8&amp;l=as1&amp;asins=4873113296&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/2WQI-_zFUFU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.masuidrive.jp/index.php/2010/02/14/inheritance-on-javascript/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://blog.masuidrive.jp/index.php/2010/02/14/inheritance-on-javascript/</feedburner:origLink></item>
		<item>
		<title>[メモ] サーバサイドJavascriptのNode.jsをOSXにインストールする。</title>
		<link>http://feedproxy.google.com/~r/masuidrive/~3/kaK_EgP5F5g/</link>
		<comments>http://blog.masuidrive.jp/index.php/2010/02/10/install-nodejs-to-osx/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 10:33:41 +0000</pubDate>
		<dc:creator>masuidrive</dc:creator>
				<category><![CDATA[nodejs]]></category>

		<guid isPermaLink="false">http://blog.masuidrive.jp/?p=323</guid>
		<description><![CDATA[　自分メモ。Node.jsを、OSX上にインストールする。 node.jsのインストール curl -O http://s3.amazonaws.com/four.livejournal/20100209/node-v0.1.28.tar.gz tar xfz node-v0.1.28.tar.gz cd node-v0.1.28 ./configure make sudo make install dbslayerのインストール (要MacPorts) sudo port install apr apr-util db46 curl -O http://code.nytimes.com/downloads/dbslayer-beta-12.tgz tar xfz dbslayer-beta-12.tgz cd dbslayer ./configure make sudo make install]]></description>
			<content:encoded><![CDATA[				<p>　自分メモ。<a href="http://nodejs.org">Node.js</a>を、OSX上にインストールする。</p>
				<h2>node.jsのインストール</h2>
				<pre>
curl -O http://s3.amazonaws.com/four.livejournal/20100209/node-v0.1.28.tar.gz
tar xfz node-v0.1.28.tar.gz
cd node-v0.1.28
./configure
make
sudo make install
</pre>
				<h2>dbslayerのインストール (要MacPorts)</h2>
				<pre>
sudo port install apr apr-util db46

curl -O  http://code.nytimes.com/downloads/dbslayer-beta-12.tgz
tar xfz dbslayer-beta-12.tgz
cd dbslayer
./configure
make
sudo make install
</pre>
				<p><iframe src="http://rcm-jp.amazon.co.jp/e/cm?o=9&amp;p=8&amp;l=as1&amp;asins=4873113296&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/kaK_EgP5F5g" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.masuidrive.jp/index.php/2010/02/10/install-nodejs-to-osx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.masuidrive.jp/index.php/2010/02/10/install-nodejs-to-osx/</feedburner:origLink></item>
		<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>5</slash:comments>
		<feedburner:origLink>http://blog.masuidrive.jp/index.php/2010/02/05/omg-my-macbook-was-broken/</feedburner:origLink></item>
	</channel>
</rss>
