<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>pm11op のブログ</title>
    <link rel="alternate" type="text/html" href="http://pm.11op.net/" />
    <link rel="self" type="application/atom+xml" href="http://pm.11op.net/atom.xml" />
    <id>tag:pm.11op.net,2007-09-22://1</id>
    <updated>2008-07-03T14:51:22Z</updated>
    
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Publishing Platform 4.01</generator>

<entry>
    <title>Wassr の足跡機能をなかったことにする Greasemonkey スクリプト</title>
    <link rel="alternate" type="text/html" href="http://pm.11op.net/2008/07/wassr-greasemonkey.php" />
    <id>tag:pm.11op.net,2008://1.121</id>

    <published>2008-07-03T14:39:57Z</published>
    <updated>2008-07-03T14:51:22Z</updated>

    <summary>nowassrfootmark.user.js 最近の Twitter はちゃん...</summary>
    <author>
        <name>pm11op</name>
        
    </author>
    
    <category term="twitter" label="Twitter" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="wassr" label="Wassr" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://pm.11op.net/">
        <![CDATA[<p><a href="http://pm.11op.net/js/nowassrfootmark.user.js">nowassrfootmark.user.js</a></p>

<p>最近の Twitter はちゃんと動作してるとは思えないので、
Wassr を試してみた。
</p>
<p>サクサク動くし、「購読」の簡単さが気持ちいいのでしばらくいるつもり。</p>

<p>でも、足跡機能がいただけない。
興味なければ使わなければいいんだけど、
グロナビにどーんとあるので、</p>

<p>
気になってついクリックしちゃう<br />
↓<br />
足跡増えてなくてがっかり<br />
↓<br />
って俺足跡気にしてんじゃん！</p>

<p>っていうことになって自尊心が傷つきかねません。</p>

<p>そんな、虚栄心と自尊心とモテたい気持ちがせめぎあってる、
お前は俺か！みたいな人向けの Greasemonkey 書きました。</p>
<ul>
	<li>グロナビから「足跡」を消す</li>
	<li>足跡の url をブラウザとかが覚えてて、直接アクセスしちゃったら、MyページTOPに飛ばす</li>
</ul>

っていうだけの、拙いスクリプトです。
よかったらどぞー。

<h4>内容はこんなの</h4>
<pre>
// ==UserScript==
// @name           noWassrFootmark
// @namespace      http://pm.11op.net/
// @description    remove footmark from wassr
// @include        http://wassr.jp/*
// ==/UserScript==

+function(){
    if (location.href=="http://wassr.jp/my/footmark/") {
        location.href="http://wassr.jp/my/";
        return;
    }

    var d = document;
    var $ = function(id){
        return d.getElementById(id);
    }

    var $$ = function(id){
        var node = d.evaluate(id, d, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);
       
        var item = [];
        for ( var i=0 ; i < node.snapshotLength; i++ ) {
            item.push(node.snapshotItem(i));
        }
        return item;
    }
    $$("//li/a[@href='http://wassr.jp/my/footmark/']/..")[0].innerHTML = '';
    
    
}();
</pre>
<p>
<a href="http://pm.11op.net/js/nowassrfootmark.user.js">nowassrfootmark.user.js</a></p>]]>
        
    </content>
</entry>

<entry>
    <title>今から何も言わないことを言うぜ</title>
    <link rel="alternate" type="text/html" href="http://pm.11op.net/2008/06/post-32.php" />
    <id>tag:pm.11op.net,2008://1.120</id>

    <published>2008-06-25T15:00:45Z</published>
    <updated>2008-06-25T15:02:55Z</updated>

    <summary>とにかく2つに分類したがる、されたがる世の中ですがみなさんいかがお過ごしですか。...</summary>
    <author>
        <name>pm11op</name>
        
    </author>
    
    <category term="うんことちんこは関係ない" label="うんことちんこは関係ない" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="本文と関係ない" label="本文と関係ない" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://pm.11op.net/">
        <![CDATA[<p>とにかく2つに分類したがる、されたがる世の中ですがみなさんいかがお過ごしですか。</p>

<p>勝ち組負け組から始まり、SだMだ、ギークだスーツだ、マッチョだウィンプだ、<br />
真ん中分けだ横分けだ、うんこだちんこだと、<br />
こんなのね、どっちでもない場合がほとんどだと思うわけですよ。<br />
どっちかって言うとMとか、強いて言えばギークだとか、<br />
もう何を言ってるんだと。</p>

<p>考えずにどっちかわからないような時点でどっちでもないし、<br />
どっちか決める必要もないわけで。</p>

<p>まあ世の中にはとにかく2つに分けたがる人間とそうでもない人間の2種類がいて、<br />
僕はどっちかと言うと分けたがらない方の人間なので、<br />
強いて言えばそういう分類には興味がないですね。</p>]]>
        
    </content>
</entry>

<entry>
    <title>JSON Editor AIR が Adobe AIR コンテストにて、Dreamweaver 賞を受賞しましたよ</title>
    <link rel="alternate" type="text/html" href="http://pm.11op.net/2008/06/json-editor-air-adobe-air-drea.php" />
    <id>tag:pm.11op.net,2008://1.119</id>

    <published>2008-06-23T16:15:35Z</published>
    <updated>2008-06-23T16:44:38Z</updated>

    <summary>Adobe - ADOBE AIR コンテスト2008受賞作品 開発ブログにて、...</summary>
    <author>
        <name>pm11op</name>
        
    </author>
    
    <category term="adobeair" label="Adobe AIR" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="jsoneditor" label="JSON Editor" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://pm.11op.net/">
        <![CDATA[<p><a href="http://www.adobe.com/jp/events/aircon2008/awards/" target='adobe'>Adobe - ADOBE AIR コンテスト2008受賞作品</a></p>

<p><a href="http://jsoneditor.net/blog/2008/06/adobe-air-1.html" target='jsoneblog'>開発ブログ</a>にて、授賞式当日のプレゼン資料を公開してます。</p>

<p>僕はプログラマという、割と裏方の仕事を生業にしているので、<br />
そして特にサーバサイドをメインにやって来たので、<br />
賞レースとは無縁の人間だと思ってました。</p>

<p>だから、今回の受賞に対してはうれしさもありますが、驚きとか、<br />
正直ちょっと怯んでる面もあります。<br />
でも、みんなが褒めてくれたりするので、<br />
なんだかふわふわした気持ちが続いています。</p>

<p>こういう時こそ厳しい意見に耳を傾けつつ、<br />
足下救われないように地に足つけてがんばっていかねば！なんて思ってます。</p>

<p>あと、JSON Editor は一人では決してできなかったものだし、<br />
やっぱチームでの仕事っておもろいなーって思います。</p>

<p>JSON Editor はこれからも育てていきます。<br />
もっと軽くしたいし、AIR ならではって機能もどんどん付けて行きたいです。<br />
UI における「正解」の追求も続けないと。</p>

<p>で、また近いうちに、おもしろいもの、便利なものを<br />
ポロッと生み出したいもんですね。</p>]]>
        
    </content>
</entry>

<entry>
    <title>Adobe AIR の可能性</title>
    <link rel="alternate" type="text/html" href="http://pm.11op.net/2008/06/adobe-air.php" />
    <id>tag:pm.11op.net,2008://1.118</id>

    <published>2008-06-21T14:57:23Z</published>
    <updated>2008-06-21T15:17:08Z</updated>

    <summary>そろそろ舌の根が乾いて来た。 僕は Adobe AIR にすごい可能性を感じてる...</summary>
    <author>
        <name>pm11op</name>
        
    </author>
    
    <category term="adobeair" label="Adobe AIR" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="エア" label="エア" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://pm.11op.net/">
        <![CDATA[<p>そろそろ<a href="http://pm.11op.net/2008/06/adobe.php">舌の根が乾いて来た</a>。</p>

<p>僕は Adobe AIR にすごい可能性を感じてる。<br />
Adobe AIR の魅力は、いろんな方が既に挙げているように、</p>

<ul>
	<li>既存の WEB 技術でローカルアプリを開発できる</li>
	<li>クロスプラットフォームである</li>
	<li>インストールが簡単</li>
</ul>

<p>等、いろいろあって、僕もやはりそういうところに魅力を感じる。</p>

<p><br />
でも、もう一つ僕がいいなーと思う事があって、<br />
それはアプリの開発時に、WEB・ローカル双方を意識できるということだ。</p>

<p><br />
プログラマがサーバサイドとクライアントサイド両方の言語を学ぶ事で<br />
プログラミングへの理解を深めていくように（僕はまだまだだけど）、</p>

<p>WEB アプリ制作者も Adobe AIR のおかげで<br />
ローカルアプリ作成に気軽に手を出す事ができるので、<br />
WEB・ローカル双方のアプリ開発に携わる事で、<br />
プログラミングと同様のことが言えるんじゃないか。</p>

<p>今後、AIR アプリ開発を通じて頭パーンッなって、<br />
革新的な UI とか出て来ないかなー。</p>

<p><br />
なんて思いながら、ちょこちょこ AIR いじってる。<br />
結構おもろいですよ、AIR。ほんとに。</p>

<p><br />
あとね、AIR アプリ開発って聞くと、<br />
「開発してるふり」みたいな感じがしておもしろい。<br />
エアギターのエアね。</p>

<p>エア開発。<br />
エアプログラミング。<br />
エアエア開発。</p>]]>
        
    </content>
</entry>

<entry>
    <title>Adobe の陰謀</title>
    <link rel="alternate" type="text/html" href="http://pm.11op.net/2008/06/adobe.php" />
    <id>tag:pm.11op.net,2008://1.117</id>

    <published>2008-06-05T15:21:49Z</published>
    <updated>2008-06-05T15:43:17Z</updated>

    <summary>なんで、Apollo っていう固有名詞からわざわざ AIR なんていう一般名詞に...</summary>
    <author>
        <name>pm11op</name>
        
    </author>
    
    <category term="妄想" label="妄想" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://pm.11op.net/">
        <![CDATA[<p>なんで、Apollo っていう固有名詞からわざわざ AIR なんていう一般名詞に名称変更したのかわかった！</p>

<p><a href="http://www.itmedia.co.jp/news/articles/0706/11/news042.html" target='itmedia'> ITmedia News：Adobe、「Apollo」改め「Adobe AIR」をβリリース</a></p>

<p><br />
前から不思議だったんだ。<br />
なんでわざわざそんな検索で不利な名前に名称変更するのか。</p>

<p>でも、さっきお風呂に入ってる時に気が付いた。<br />
それこそが狙いなんだよ。</p>

<p>「AIR」って名前は一般的すぎる。<br />
そんなこと、だれでもわかる。Google だって知ってる。<br />
例えば <a href="http://www.google.com/search?rls=ja-jp&q=AIR&ie=UTF-8&oe=UTF-8" target="google">Google で検索してみる</a>と、<br />
なんかよくわからん美容院が1位に出てくる。</p>

<p><br />
そんな具合だから、AIR の話をしようと思ったら、AIR じゃ伝わりにくいから<br />
「Adobe AIR」って書きたくなる。</p>

<p><br />
それこそがアドべの狙いだったんだよ！！<br />
これは AIR を通じて「Adobe」って言葉をインターネットにばらまこうという、<br />
アドビーの陰謀だ！<br />
そしてゆくゆくは「AIR」っていう一般名詞を Adobe と結びつけてしまおうという気なんだ。</p>

<p>きっと今に<br />
「Adobe 製品はインターネットにおける空気のような存在です。」<br />
なんてうまいこと言い始めるぞ。</p>

<p><br />
みんな気をつけろ！</p>

<p><br />
ところで、AIR って Adobe Integrated Runtime の略称だって知ってた？<br />
危険が危ない！</p>]]>
        
    </content>
</entry>

<entry>
    <title>ハンドル名の由来やその他とりとめの無い話（ポロリもあるよ）</title>
    <link rel="alternate" type="text/html" href="http://pm.11op.net/2008/06/pm11op.php" />
    <id>tag:pm.11op.net,2008://1.116</id>

    <published>2008-06-01T12:40:44Z</published>
    <updated>2008-06-01T15:40:56Z</updated>

    <summary>ハンドル名 以前にはてなハイクにも書いたけど。 あなたのIDの読み方と、その由来...</summary>
    <author>
        <name>pm11op</name>
        
    </author>
    
    <category term="うんこ" label="うんこ" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ちんこ" label="ちんこ" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="勉強会" label="勉強会" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://pm.11op.net/">
        <![CDATA[<h4>ハンドル名</h4>
以前にはてなハイクにも書いたけど。
<a href="http://h.hatena.ne.jp/pm11op/9245599020475370944" target='h.hatena'>あなたのIDの読み方と、その由来は？
</a>

<blockquote>
<pre>
読み：じゅーいち
由来：学園祭か何かで聞いた、フリッパーズギターの
コピーバンドの「3a.m.op（邦題 午前3時のオプ）」が結構よかった。
↓
それが印象に残ってたけど、曲名を間違って「11pm.op」と覚えてた。
↓
数字から始まるIDは使えなかったりするので、順番を入れ替えた。
↓
発音しにくいので、「じゅーいち」って読むことにした。
</pre>
</blockquote>

<p>初めて勉強会に出て自分の ID を読み上げた時に、なんて発音しづらい名前だろうと思って、<br />
pm11op と書いて「じゅーいち」って読む事にした。<br />
その時は「ピーエムイレブンオーピー」って読んでた。<br />
「スリーエーエムオーオーピー」が元ネタだし。</p>

<p>発音しづらいし、読み上げるの恥ずかしかったから「じゅーいち」って読む事にしたんだけど、<br />
この読みすらも同じくらいの時期に一度お会いした、 <a href="http://studio15.jp/" target='15'>studio15(スタジオジュウゴ)</a> さんのパクリだ。</p>

<p><br />
<h4>ドメイン名</h4><br />
なんで pm.11op.net なのか。どうせなら pm11op.net にしとくべきだ。</p>

<p>僕は以前、 はてなダイアリーを書いていて、<br />
そこではどちらかというと技術的な話（しょぼいけど）を書いていたので、<br />
しょーもない話はこっちで書こうかとか思ってた。</p>

<p>で、いずれは技術的な話もこのドメインで書こうと思っていて、その時は<br />
am.11op.net てサブドメインでブログ書くつもりだった。</p>

<p>pm.11op.net でしょーもない話して、<br />
am.11op.net で技術の話したら午前の顔と午後の顔みたいでかっこいいやんとか思ってたからなんだけど、<br />
もうそういう切り分け自体が前時代的というか、<br />
そもそも技術面で僕に書ける事なんかそんなにないし、<br />
いつからか「うんこ」とか「ちんこ」とかが無駄に登場するこのブログ内で<br />
技術的な話を書いた時に、いかに説得力を持てるかというところをゴールに考える事にした。<br />
その時点で am.11op.net は消えた。</p>

<p><br />
でも、世の中にはいろんな人がいるもんで、<br />
僕なんかよりもよっぽど「うんこ」についておもしろがることに長けている人がいる。<br />
その人は生活と人格をかけてまで「うんこ」をおもしろがるような人で（面識はないけど、多分そうだ）、<br />
しかもそのためにはうんこを物理的に扱ってしまうことまでできてしまうような人だ。</p>

<p><br />
その現実に直面して、僕はブログを書く気を無くしてしまった。<br />
だって、僕にはもはや書く事が何も無くなってしまったのだ。<br />
うんこのことですら、そういう人の劣化コピーでしかないのだ。</p>

<p><br />
その頃と時を同じくして、<a href="http://katamari.co.jp/" target='katamari'>自社サイト</a>で本名が晒される。<br />
この時に、僕はそろそろ腹を括るべきだなあと思ったんだ。</p>

<p><br />
そもそも僕は何のためにブログを書こうと思ってたかというと、<br />
別に世界で一番「うんこ」をおもしろがれる人になりたかったわけでもないし、<br />
技術面で一目置かれたいと思ってた訳でもなく、<br />
単にこのハンドル名 pm11op 或いは am11op に何らかの人格を与えたかっただけだ。<br />
ネット上だけで通用する人格。<br />
そういうものに憧れた時期もありました。</p>

<p><br />
でも結局のところ、それは無意味なことだと最近思いつつある。<br />
ネット上で完結する人格なんてあり得ないし、あったとしても無意味だ。<br />
ネット上でしか面識のない人と実際に会うとなった時、<br />
僕はこの「木下 勝（仮名）」という顔と人格と名刺を持って会いに行くのだ。</p>

<p><br />
僕にできる事といったら、ネットだろうがリアルだろうが、<br />
結局「木下 勝（偽名）」にできることの全部或いは一部の切り売りぐらいだし、<br />
それって結局あるがままってことだよね。</p>

<p>「木下 勝（源氏名）」そのものでしかないわけなんですよ。</p>]]>
        
    </content>
</entry>

<entry>
    <title>Kanasan.JS JavaScript第5版読書会#4についてまとめ</title>
    <link rel="alternate" type="text/html" href="http://pm.11op.net/2008/05/kanasanjs-javascript54.php" />
    <id>tag:pm.11op.net,2008://1.115</id>

    <published>2008-05-30T08:31:58Z</published>
    <updated>2008-05-30T17:11:11Z</updated>

    <summary>タイトル タイトルはホッテントリメーカーに考えてもらったんだけど、ものすごい普通...</summary>
    <author>
        <name>pm11op</name>
        
    </author>
    
    
    <content type="html" xml:lang="ja" xml:base="http://pm.11op.net/">
        <![CDATA[<h4>タイトル</h4>
<p>タイトルは<a href="http://pha22.net/hotentry/" target="pha">ホッテントリメーカー</a>に考えてもらったんだけど、ものすごい普通のタイトルが出来上がってびっくりした。まあ普通でいい。</p>
<p>そしてホッテントリにはならないし、ならなくていい。</p>

<h4>読書会</h4>
<p>今回身に付いたのは9章、クラスの部分。</p>

<p>その前に、まずは prototype チェーンについて guccyon さんのブログでおさらい。<br />
<a href="http://d.hatena.ne.jp/guccyon/20071109/name" target='guccyon'>__proto__とprototypeについて - guccyonikki</a></p>
<p>
僕にわかる範囲でまとめると、オブジェクトのプロパティが参照されると、
<ol>
<li>まず自分のプロパティを探す</li>
<li>次に自分の prototype から探す</li>
<li>次からは __proto__ を辿って、継承している prototype から探す</li>
</ol>
</p>

<p>
オッケー。ここで僕は考えた。<br />
それなら、最初に読まれる自分のプロパティで完結する場合が一番早いんじゃないか。
</p>
<p>
ここでの事の本質は早さじゃないとは思うけど、それでもそう考えた。あまりにも短絡的すぎるけど、考えたったら考えた。<br />
</p>
<p>でも実際にはむしろ自分のプロパティを参照する方がパフォーマンスが悪くなる場合もあるようだ。</p>
<p>なんでかなー。</p>
<blockquote>
<pre>
function Rectangle(w, h) {
   this.w = w;
   this.h = h;
   this.area = function(){return this.w * this.h;}
}
</pre>
<ul>
   <li>(上記のような記述だと、)生成されたすべてのオブジェクトが3つのプロパティを持ってしまう(p.153)</li>
   <li>プロトタイプオブジェクトを使用すると、たくさんのオブジェクトがプロパティを継承し共有できる(p.154)</li>
   <li>あるクラスに10個のオブジェクトがあるとすれば、それぞれのオブジェクトごとにインスタンスプロパティが1個ずつ存在し、全部で10個(p.159)</li>
</ul>
</blockquote>
<p>
ってことだからだだね。</p>
<p>
試しに以下のクラスを準備して、ベンチマーク取ってみた。
</p>

<p>
<h5>Test1: 自分のプロパティ(インスタンスプロパティ)にメソッドを入れたもの。</h5>
<pre>
function Test1 (){
    this.hoge = 1;
    this.fuga = 2;
    this.count10000	= function(){var i=0;while(i<	10000	){i++;}return i;}
}
</pre>
<br />

<h5>Test2: 自分のプロパティにメソッド101個を入れたもの。</h5>
<pre>
function Test1 (){
    this.hoge = 1;
    this.fuga = 2;
    this.count10000	= function(){var i=0;while(i<	10000	){i++;}return i;}
    …
    this.count10100	= function(){var i=0;while(i<	10100	){i++;}return i;}
}
</pre>
<br />

<h5>Test3: prototypeプロパティにメソッドを入れたもの。(インスタンスメソッド)</h5>
<pre>
function Test3 (){
    this.hoge = 1;
    this.fuga = 2;
}

Test3.prototype.count10000	= function(){var i=0;while(i<	10000	){i++;}return i;}
</pre>
<br />

<h5>Test4: prototypeプロパティにメソッド101個を入れたもの。</h5>
<pre>
function Test4 (){
    this.hoge = 1;
    this.fuga = 2;
}

Test4.prototype.count10000	= function(){var i=0;while(i<	10000	){i++;}return i;}
…
Test4.prototype.count10100	= function(){var i=0;while(i<	10100	){i++;}return i;}
</pre>

<br />
<h5>Test5: クラスメソッドを101個持つもの（おまけ）。</h5>
<pre>
function Test5 (){
    this.hoge = 1;
    this.fuga = 2;
}

Test5.count10000	= function(){var i=0;while(i<	10000	){i++;}return i;}
…
Test5.count10100	= function(){var i=0;while(i<	10100	){i++;}return i;}
</pre>
</p>

<p>
それぞれのクラスを100個ずつインスタンス化し、count10000メソッドを実行させた。<br />
（ただし、Test5 はインスタンス化しただけ）
<br />
<a href="http://pm.11op.net/example/bench/" target='example'>実行結果</a>
</p>

<pre>
preparing ...
let's go!
.
*** Test1 ***
result : 538.986725[ms]
.
*** Test2 ***
result : 822.986725[ms]
.
*** Test3 ***
result : 536.986725[ms]
.
*** Test4 ***
result : 535.986725[ms]
.
*** Test5 ***
result : 537.986725[ms]
.
finish!
</pre>

<p>
Test2 以外はそれほど変わらない。<br />
Test2 はインスタンス化の時に101個メソッドを持つインスタンスプロパティがコピーされるので、遅い。
だからまあ、プロパティの参照時の早さどうこうじゃないけど。作法として間違ってる。
</p>
<p>僕は java を知らない子供たちなので、インスタンスメソッドとかクラスメソッドとか言われてもよくわかんなかったけど、this とか必要ないメソッドはクラスメソッドにしたらいいんだと思う。</p>
<p>
ようやく javascript のクラスがわかってきたかなー。
</p>
<br />
<br />

<h4>JSON Editor を紹介</h4>
<p>今回、幸いにも LT の時間をいただけたので、拙作(一人で作ったわけじゃないけど)の <a href="http://jsoneditor.net/" target='jsone'>JSON Editor</a>を紹介して来た。</p>
<p>
LT はぐずぐずだったけど、<a href="http://jsoneditor.net/" target='jsone'>JSON Editor</a>自体は結構好評でよかった。
</p>
<p>
ujihisa さんが発表10分後にブログで紹介してくれたり<br />

<a href="http://ujihisa.nowa.jp/entry/aa129b9d44">rubyneko - ブラウザ上で動作するJSON Editorがすばらしい</a>、<br />


kanasan さんが30分以内にいきなり<a href="href="http://www.lingr.com/room/Kanasan.JS/archives/2008/05/24#msg-38201619">拡張スクリプト</a>を書いてくれたり、正直ちょっとチビりそうだった。</p>

<h4>懇親会</h4>
<p>
初めて懇親会に参加したので、渾身の力を振り絞って懇親会に来た全員に「こんにちは」って言って来た。
</p>
<p>懇親会に来た全員の顔と名前も覚えた。覚えてどうすんだっていう話だけど、「あの人がんばってんなー、チクショウ！」なんて思いながら僕もがんばろうと思う。
</p>

<p>
がんばるっていうか、まあ日々楽しくやっていきたい。
</p>

<p>というわけで、主催の kanasan さん, ujihisa さん、運営に携わってるみなさん、ありがとうございました。<br />みなさんお疲れさまでした。
</p>]]>
        
    </content>
</entry>

<entry>
    <title>JSON Editor の uri 読み込み機能</title>
    <link rel="alternate" type="text/html" href="http://pm.11op.net/2008/05/json-editor-uri.php" />
    <id>tag:pm.11op.net,2008://1.114</id>

    <published>2008-05-25T03:36:35Z</published>
    <updated>2008-05-25T06:35:38Z</updated>

    <summary>JSON Editor に uri 指定での JSON/XML 読み込みを機能つ...</summary>
    <author>
        <name>pm11op</name>
        
    </author>
    
    <category term="jsoneditor" label="JSON Editor" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://pm.11op.net/">
        <![CDATA[<p>JSON Editor に uri 指定での JSON/XML 読み込みを機能つけました。</p>

<p>まだ UI は準備できてないですが、以下のような url でアクセスすることで利用可能です。<br />
http://jsoneditor.net/#uri/{JSONのURL}</p>

<p>(例)twitter のパブリックタイムラインの JSON 読み込み<br />
<a target='jsone' href="http://jsoneditor.net/#uri/http://twitter.com/statuses/public_timeline.json">http://jsoneditor.net/#uri/http://twitter.com/statuses/public_timeline.json</a></p>

<p>(例)このブログの ATOM フィード 読み込み<br />
<a target='jsone' href="http://jsoneditor.net/#uri/http://pm.11op.net/atom.xml">http://jsoneditor.net/#uri/http://pm.11op.net/atom.xml</a></p>

<p><br />
昨日は帰ってくるなり寝てしまったので、日曜の真っ昼間に公開です。。</p>]]>
        
    </content>
</entry>

<entry>
    <title>Kanasan.JS 読書会#3 の思い出</title>
    <link rel="alternate" type="text/html" href="http://pm.11op.net/2008/05/kanasanjs-3.php" />
    <id>tag:pm.11op.net,2008://1.113</id>

    <published>2008-05-23T04:02:37Z</published>
    <updated>2008-05-23T04:10:34Z</updated>

    <summary>これは 2008/2/24 の Kanasan.JS JavaScript第5版...</summary>
    <author>
        <name>pm11op</name>
        
    </author>
    
    <category term="javascript" label="javascript" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="kanasanjs" label="Kanasan.JS" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://pm.11op.net/">
        <![CDATA[<p>これは 2008/2/24 の Kanasan.JS JavaScript第5版読書会#3 のレポです。<br />
なんと参加から3ヶ月経過してます。<br />
ごめんなさいごめんなさい。</p>

<p>Kanasan.JS JavaScript第5版読書会#4 & 懇親会 <br />
に参加したいので、今更ですがレポートアップします。</p>

<p><br />
--------------------------------------<br />
机が見たことない配置になっててちょっとおもしろかった。<br />
目の錯覚で長く見えたり短く見えたりする矢印みたいなやつの、<br />
長く見える方みたいになってた。</p>

<p><br />
p.115 Array の削除用のメソッドは特にない。splice を使う。</p>

<p>p.116 Array の length プロパティは変更可能<br />
length を変更すると、Array の要素も変更される。<br />
<pre><br />
    var hoge = [1, 2, 3]<br />
    hoge.length = 4; // hoge = [1, 2, 3, undefined]<br />
</pre></p>

<p>これが Array オブジェクトのみの特徴。<br />
Array 的なオブジェクトを作ることもできるが、その場合は上記特性は持たない。</p>

<p><br />
Array.cocat は非破壊。</p>

<p>Array はオブジェクトなので、比較する時には toString 等の処理が必要。<br />
これ、javascript 書き始めの頃はは理解できなかったなあ。</p>

<pre>
    [1,2,3] == [1,2,3] // false
</pre>

<p><br />
arguments は Arguments オブジェクトであって配列ではない。<br />
いわゆる、配列的なオブジェクト。</p>

<p><br />
<pre><br />
    function h() {<br />
    var i = 1;<br />
    if(i==1) {<br />
	function a() {alert("sss");}<br />
	a();<br />
    }<br />
}<br />
 h();<br />
</pre></p>

<p>は実装依存なので、関数リテラルにすべき。</p>

<pre>
    function h() {
    var i = 1;
    if(i==1) {
	var a = function() {alert("sss");}
	a();
    }
}
</pre>

<p>arguments.callee.caller も実装依存！</p>

<p>    0||function(){console.log(1)}() にすれば式になる<br />
	(function(){})() はめんどくさいと思ってたので助かる<br />
	+function(){}() でも可？</p>

<p>p.137 arguments.callee とする方が安全<br />
その方が確実に再帰できるし、見た目的にも再帰であることが自明なので。<br />
関数名変更したりもするので。</p>

<p></p>

<p>p.138<br />
関数 property は関数内からのみ参照できる。これ知らなかった。便利。</p>

<p>apply と Math<br />
apply はそういう使い方もできる。</p>

<p><br />
p.140 callee 化<br />
	function(a, b ) -> function(a){return function(b){}}<br />
p.144 clousure の例<br />
    p.148 Function() コンストラクタは静的スコープを使わない</p>

<p>    eval はそのときのスコープを使う</p>

<p>closure の定義についてちょっと意見が別れた感じ。</p>

<p></p>

<p>ということで、初参加の読書会でしたが、こちらもとても勉強になりました。<br />
なかなか復習の時間取れなくてレポート遅延し過ぎました。<br />
主催者及びスタッフの ujihisa さん、Kanasan さん、37to さん、<br />
参加されたみなさん、おつかれさまでした。</p>

<p><br />
それにしても、僕は勉強会に出ると消耗しすぎる。    <br />
この日は家に着いてから震えが止まらなくなり、夜半に熱が出た。知恵熱（笑）<br />
高熱にうなされながら見た夢は、やはり javascript のデバッグをしてる夢だった。</p>

<p><br />
</p>]]>
        
    </content>
</entry>

<entry>
    <title>Gmail みたいな shortcut key を実現するための javascript ライブラリ</title>
    <link rel="alternate" type="text/html" href="http://pm.11op.net/2008/05/gmail-shortcut-key.php" />
    <id>tag:pm.11op.net,2008://1.112</id>

    <published>2008-05-20T16:28:46Z</published>
    <updated>2008-05-21T09:39:09Z</updated>

    <summary>Gmailはショートカットキーが便利です。 何が便利って、複数キーの組み合わせに...</summary>
    <author>
        <name>pm11op</name>
        
    </author>
    
    <category term="javascript" label="javascript" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="jquery" label="jquery" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://pm.11op.net/">
        <![CDATA[<p><a href='https://mail.google.com/' target='gmail'>Gmail</a>はショートカットキーが便利です。<br />
何が便利って、複数キーの組み合わせによるショートカットがいいんです。<br />
</p>

<p>例えば、 Gmail 上で「?」キーを押すと表示されるショートカットヘルプから一部引用すると、
<blockquote>
<pre>
	Jumping
g then i :	Go to Inbox
g then s :	Go to Starred conversations
g then t :	Go to Sent messages
g then d :	Go to Drafts
g then a :	Go to All mail
g then c :	Go to Contacts

        Threadlist selection
* then a :	Select all conversations
* then n :	Deselect all conversations
* then r :	Select read conversations
* then u :	Select unread conversations
* then s :	Select starred conversations
* then t :	Select unstarred conversations
</pre>
</blockquote>
こんな感じ。
<br />
"g" の次に "i" とか、"*" の次に "a" とか、グループ化してるわけです。だから、覚えやすい。<br />
僕は "y" くらいしか覚えてないけど。
<br />
<br />
</p>
<p>
これがすごく便利なのでどうやってるのか知りたかったんだけど、<br />
Gmail のソースコードは難読化してあって僕みたいなものには読むことができませんでした。</p>

<p>
でも、僕たちには <a href="http://la.ma.la/blog/diary_200511041713.htm" target='_blank'>hotkey.js</a> というすばらしいライブラリがあります。<br />
<a href="http://reader.livedoor.com/reader/" target='ldr'>LDR</a> や <a href="http://fastladder.org/ja/">Fastladder</a>にも使われてるやつですね。<br />
これを拡張して Gmail みたいに複数キーの組み合わせのショートカットを簡単に実現できるようにしました。
</p>

<h4>使い方</h4>
<p>
<a href="http://pm.11op.net/example/hotkey/" target='_demo'>動作デモ</a> を見てください。<a href="http://jquery.com/" target='jquery'>jquery</a>が必要です。
</p>

<h4>ダウンロード</h4>
<p>
<a href="http://pm.11op.net/example/hotkey/js/hotkey.multi.js">hotkey.multi.js</a>
</p>
<ul>
<li><a href="http://jquery.com/" target='jquery'>jquery</a> が必須です。</li>
<li>本家は prototype.js 用なので、 jquery で動作するように少し変更している部分があります。</li>
<li>下記の差分を追加するなり、hotkey.js の後にベルファイルで読み込むなりすれば本家のものでも動作するんじゃないかと思います。</li>
</p>
<p>
これつかって <a href="http://jsoneditor.net/" target='jsone'>JSON Editor</a> のショートカットをちゃんと vi ライクにするよー。
</p>
 

<h4>hotkey.js に追加したコード</h4>
<pre>
HotKey.prototype._keyfunc = {};
HotKey.prototype._keylog = [];
HotKey.prototype._interval = 500;
HotKey.prototype._timerid = '';
HotKey.prototype._separater = '+';

HotKey.prototype.invoke = function(input){
	input = input || this.lastInput;
	var e = this.event;

	if (input != 'shift') this._keylog.push(input);
	
	clearTimeout(this._timerid);
	var keys = this._keylog.join(this._separater);
	if(this._keyfunc.hasOwnProperty(keys)){
	    this._keyfunc[keys].call(this,e);
	    this.abort && /*Event.stop(e);*/ e.preventDefault ? e.preventDefault() : e.stopPropagation();

	    this._keylog = [];
	    return true;
	} else {
	    var self = this;
	    this._timerid = setTimeout(function(){self._keylog=[];}, this._interval);
	    
	    this.abort && /*Event.stop(e);*/ e.preventDefault ? e.preventDefault() : e.stopPropagation();
	    return true;
	}
}
</pre>]]>
        
    </content>
</entry>

<entry>
    <title>JSON Editor 公開しました</title>
    <link rel="alternate" type="text/html" href="http://pm.11op.net/2008/05/json-editor.php" />
    <id>tag:pm.11op.net,2008://1.111</id>

    <published>2008-05-18T09:16:40Z</published>
    <updated>2008-05-18T09:41:13Z</updated>

    <summary>javascript だけで作った pop な JSON Editor できまし...</summary>
    <author>
        <name>pm11op</name>
        
    </author>
    
    <category term="javascript" label="javascript" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="json" label="JSON" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="jsoneditor" label="JSON Editor" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="xml" label="XML" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://pm.11op.net/">
        <![CDATA[<p>javascript だけで作った pop な <a href="http://jsoneditor.net" target='jsone'>JSON Editor</a> できました。</p>
<p>まずはプロモムービーを見てみてください。(1分30秒)</p>
<embed
src="http://www.jeroenwijering.com/embed/player.swf"
width="320"
height="250"
allowscriptaccess="always"
allowfullscreen="true"
flashvars="height=250&width=320&file=http://assets.katamari.co.jp/images/json-editor/0.flv"
/><br />

<a href='http://katamari.co.jp/#/index/gallery/json-editor' target='katamari'>1分30秒でわかる JSON Editor by katamari</a><br />
(s/as/a/g)
<br />
<br />

<p>機能はいろいろとありますが、特にこだわったのは、
ショートカットを使って、<strong>キーボードから手を離すことなく全ての操作ができる</strong>という点です。</p>

<p>JSON や XML を扱うことがある方はぜひ一度使ってみてください。</p>
<p><a href="http://jsoneditor.net/blog/"  target='blog'>開発ブログ</a>もありますよ。</p>]]>
        
    </content>
</entry>

<entry>
    <title>ブログ再開</title>
    <link rel="alternate" type="text/html" href="http://pm.11op.net/2008/05/post-31.php" />
    <id>tag:pm.11op.net,2008://1.110</id>

    <published>2008-05-14T14:48:16Z</published>
    <updated>2008-05-14T15:00:27Z</updated>

    <summary>先取り五月病が治まったのでブログを再開することにした。 3ヶ月空けるとかサボり過...</summary>
    <author>
        <name>pm11op</name>
        
    </author>
    
    <category term="モテ" label="モテ" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://pm.11op.net/">
        <![CDATA[<p>先取り五月病が治まったのでブログを再開することにした。<br />
3ヶ月空けるとかサボり過ぎだ。</p>

<p><br />
ブログさぼってた内に書きたいことが溜まってるかというと、<br />
これがそうでもない。</p>

<p><br />
それでも、いくつかは書いておきたいこと、書いておかなければならないことがある。</p>

<p><br />
まあそれは追々書いていくとして、<br />
今日帰宅の電車の中で、両サイドから居眠りの女性にもたれ掛かられた。</p>

<p>Twitter にも書いたけど、こんなこと滅多にあるもんじゃない。<br />
記憶が薄れない内にブログにも書いておいた。</p>]]>
        
    </content>
</entry>

<entry>
    <title>PHP勉強会 at 大阪に参加しませんでした</title>
    <link rel="alternate" type="text/html" href="http://pm.11op.net/2008/02/php-at.php" />
    <id>tag:pm.11op.net,2008://1.109</id>

    <published>2008-02-01T13:17:17Z</published>
    <updated>2008-02-01T13:25:52Z</updated>

    <summary>events.php.gr.jp にて参加申し込みしてたものの、 結局仕事が長引...</summary>
    <author>
        <name>pm11op</name>
        
    </author>
    
    <category term="勉強会" label="勉強会" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="釣り" label="釣り" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://pm.11op.net/">
        <![CDATA[<p><a href="http://events.php.gr.jp/event.php/event_show/35" target='phpgrjp'>events.php.gr.jp</a> にて参加申し込みしてたものの、<br />
結局仕事が長引いて参加できなかった。<br />
申し込みするだけしといて参加しなくてごめんなさい。<br />
次回もきっとあると思うので、次は是非とも参加したいっ。</p>

<p><br />
総勢50名を超える参加者だったようで。<br />
最近関西でも勉強会が増えてきてうれしい限りだ。</p>

<p><br />
僕も早く MacBook 買って、<br />
もっと勉強会出たりあわよくば発表したりしたいなーとか思いながら<br />
会社で釣り動画サイトを見てた。釣りっても本物の釣りの方ね。</p>

<p><a href="http://tv.shimano.co.jp/" target='shimanotv'>SHIMANO TV</a></p>

<p>釣り楽しそうだなー。</p>

<p><br />
僕の中で釣りって「キングオブ趣味」って気がする。<br />
もちろん本物の釣りの方。<br />
<ul><br />
	<li>魚が釣れたら楽しそう。</li><br />
	<li>釣れなくてもそれなりに楽しそう。自然の中で考え事したりとか。</li><br />
	<li>海釣りなら超おいしい魚食べられるし。</li><br />
	<li>道具もこれが結構かっこよい。</li><br />
	<li>魚拓取るの楽しそう。本当に取るもんなのかは知らんけど。</li><br />
</ul><br />
お金がかかって、時間もかかって、かつ何かが形として残る。<br />
しかも食えるんだぜ。<br />
まさにキングオブ趣味。</p>

<p><br />
それだけに敷居が高い。<br />
何せ相手はキングだから。<br />
キングサイズオブ敷居。</p>

<p><br />
専門用語よくわからんし。<br />
車無いとキツイだろうし。<br />
僕ちん車持ってないよ。<br />
それに水辺は危険がいっぱいだし。<br />
変な虫がいたり、水に落ちて死んだりもするらしいよ。妄想だけど。</p>

<p><br />
とかいろいろ考えて脳内完結しつつあるけど、<br />
動画見てたらやっぱり楽しそう。</p>

<p><br />
って何で俺は釣りの話をしているのー。</p>]]>
        
    </content>
</entry>

<entry>
    <title>神に祈った記憶</title>
    <link rel="alternate" type="text/html" href="http://pm.11op.net/2008/01/ohmygod.php" />
    <id>tag:pm.11op.net,2008://1.108</id>

    <published>2008-01-27T03:09:39Z</published>
    <updated>2008-01-27T03:18:38Z</updated>

    <summary>僕は基本的に無宗教だ。 ここで言う「無宗教」とは、 初詣で対象もあやふやなまま一...</summary>
    <author>
        <name>pm11op</name>
        
    </author>
    
    <category term="うんこ" label="うんこ" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ここで言う" label="ここで言う" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ちんこ" label="ちんこ" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://pm.11op.net/">
        <![CDATA[<p>僕は基本的に無宗教だ。<br />
ここで言う「無宗教」とは、<br />
初詣で対象もあやふやなまま一方的な願い毎をしたり、<br />
祖父母の家の仏壇にチーンってして頭の中で「こんにちは」って語りかけたりする、<br />
多分、日本人特有の仏教ベースのあれだ。</p>

<p><br />
そんな僕にも、本気で神に祈ったことが何度かある。<br />
前述したが僕は無宗教なので、<br />
ここで言う神とは単に「全知全能の存在」というものだ。<br />
特定の宗教の信仰の対象である神とは全く別のものである。</p>

<p><br />
ちょくちょく神に祈っていたのは高校生の時だ。<br />
神に祈るのは朝の通学時の電車の中でと決まっていた。</p>

<p>別に世界平和を祈っていたわけではない。</p>

<p><br />
僕は田舎に住んでいたので、<br />
電車は1時間に1本しか走っていなかった。</p>

<p>その電車で片道40分かけて、高校に通っていたのだ。</p>

<p>毎日電車に乗っていれば、<br />
電車内で便意を催すことだってある。</p>

<p><br />
途中下車して駅の便所で用を足せば住む話だが、<br />
なんせ田舎なので、無人駅ばかりである。<br />
便所なんかないし、仮にあったとしても<br />
田舎のJRの無人駅の公衆便所というのは<br />
日本の便所カーストの中でも最下層に位置する便所だ。</p>

<p>思春期という人生で一番デリケートな時期に、<br />
そんな所でうんこできるもんか。</p>

<p>しかも、途中下車したら最後、<br />
次の電車まで小一時間何も無い無人駅で過ごすことになる。<br />
もちろん、駅出てもコンビニなんてないよ。</p>

<p><br />
だから、電車内で便意を催しても我慢するしかなかった。<br />
胃腸が弱い方だったので、何度も電車内便意を経験してるうちに、<br />
我慢の仕方の心得はかなり蓄積されていた。<br />
呼吸法とか、波の弱い時の手の抜き方とか。</p>

<p><br />
それでも我慢が限界に達した時、<br />
自分に「今までよくやった」とか言い聞かせ始めた時、<br />
この苦しみから一時的でもいいから開放されてしまいたくなった時、<br />
神に祈ったものだ。</p>

<p>「神様お願いです、○○駅まで我慢させてください」</p>

<p>便意の強い波が来た時には</p>

<p>「もうオナニーしませんから、便意を引かせてください」</p>

<p>って祈ってた。</p>

<p><br />
結果的に、僕は高校時代一度もうんこを漏らしていない。</p>

<p>だから神はいると言いたいのではなくて、<br />
信仰が人を強くするということはあるかもねと言いたいのだ。</p>

<p><br />
これを信仰っていうのはあんまりだが。<br />
あと、ここで言う信仰っていうのは、「祈る対象がある」っていうくらいの意味だ。</p>]]>
        
    </content>
</entry>

<entry>
    <title>時間は作るもんらしい</title>
    <link rel="alternate" type="text/html" href="http://pm.11op.net/2008/01/post-30.php" />
    <id>tag:pm.11op.net,2008://1.107</id>

    <published>2008-01-21T16:18:49Z</published>
    <updated>2008-01-21T17:10:41Z</updated>

    <summary>僕は大学に6年いた。 6年もいて、一番心に残っている講義はその最後の年に受けた ...</summary>
    <author>
        <name>pm11op</name>
        
    </author>
    
    <category term="お前は何も学んでない" label="お前は何も学んでない" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://pm.11op.net/">
        <![CDATA[<p>僕は大学に6年いた。<br />
6年もいて、一番心に残っている講義はその最後の年に受けた FORTRAN の講義だ。</p>

<p>そこで初めてプログラミングに出会った。24歳くらいの時だった。<br />
モラトリアム期間を満喫していた僕は「これだ！」と思ったんだと思う。<br />
その講義を受けなかったら僕はプログラマになっていない。</p>

<p>FORTRAN の講義なんて受けてるのはプログラミング初心者ばかりだった。<br />
そのくせ、初心者向けにしては結構難解な課題が毎回出た。</p>

<p>その講義を受けるのは主に化学系の3回生で、その3回生というのは実験に次ぐ実験の毎日だ。<br />
化学実験には半日くらい余裕でかかるし、さらにレポート書いて提出しなきゃいけない。</p>

<p>忙しい3回生に、その時点ですら一生使わないと断言できた FORTRAN　の課題をこなす時間なんかなかった。<br />
当然課題の提出率はかなり低く、例え提出したとしてもそれは誰かのコピーに過ぎなかった。</p>

<p>そんあある日、その講義の講師が諭すように語った言葉が今でも忘れられない。</p>

<blockquote>
現代人にとって、時間が無いのは当たり前のことである。
「時間がない」ということを言い訳にしてはならない。
それは思考停止に他ならない。
時間は作るものである。
</blockquote>

<p><br />
もっとすらすら書けると思ってたけど、だいぶ忘れてた。<br />
まあ、上記のようなことを言ったのだ。</p>

<p>当時の僕にとって、時間は浪費するものだった。<br />
その講義を受けてた学生の90％以上は3回生だったが、<br />
6回生の僕にとってプログラミングは格好の時間潰しだったので、<br />
毎回余裕で課題を提出してた。</p>

<p>だから僕は衝撃を受けた。<br />
時間の流れというのは人によって違うんだと。<br />
それは当たり前のことなんだけど。<br />
人より2,3年無駄に過ごすのも時間の作り方なんじゃないか。<br />
屁理屈だけど、そう思った。今そう思った。</p>

<p><br />
「時間は作るもの」の解釈の仕方は日々変わってるけど、<br />
いつも自分の戒めになってる。</p>

<p>鬱になるほど仕事し続けた前職ではいかに無駄な時間を削るかばかり<br />
を考えてた気がする。寝る間を惜しんだりとか。<br />
通勤は自転車で5分だったりとか。<br />
部屋ではベッドから手が届く範囲に必要なもの（マウスとかキーボードとか含む）が全部置かれていたりとか。</p>

<p><br />
今では通勤時間が作られた時間だ。<br />
毎日往復で3時間を移動時間に費やしてる。賃貸のくせに。<br />
でも、今の僕にはその時間がかなり重要。<br />
何せ1日3時間、妄想し放題だ。</p>

<p>あと、ツレアイが寝た後、夜な夜な30分くらいパワプロやってる。<br />
だから、家でコード書く時間がないんだよね。</p>

<p><br />
というわけで明けましておめでとうございます。</p>]]>
        
    </content>
</entry>

</feed>
