<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dcterms="http://purl.org/rss/1.0/modules/dcterms/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <generator>Plagger/0.7.17</generator>
    <link>http://mobilehacker.g.hatena.ne.jp/</link>
    <title>mobilehacker group's diary feed</title>
    <pubDate>Sat, 04 Oct 2008 16:00:16 +0900</pubDate>
    <item>
      <author>nobody@example.com (tomi-ru)</author>
      <dc:creator>nobody@example.com (tomi-ru)</dc:creator>
      <category>HTML-MobileJp-Filter</category>
      <link>http://mobilehacker.g.hatena.ne.jp/tomi-ru/20080904/1220495927</link>
      <description>フィルタで、XMLパースしてやるものがけっこうありそうなので、HTML::MobileJp::Filterが各フィルタ間でHTMLを回す時のHTMLをオブジェクト化した。

http://svn.coderepos.org/share/lang/perl/HTML-MobileJp-Filter/trunk/lib/HTML/MobileJp/Filter/Content.pm

ただいまdevリリース中なんでshipitした。0.01_03

overload で stringfy すると HTMLを返すので、もし自前フィルタを書いていたとしても動くはず。

HTML::DoCoMoCSSあたりを、受け取るのがXMLオブジェクトだったらパースしないでそのまま使うように改造しようかと思ったけどちょい後回し</description>
      <dc:date>2008-09-04T11:38:47+09:00</dc:date>
      <dc:subject>HTML-MobileJp-Filter</dc:subject>
      <title>[HTML-MobileJp-Filter]持ちまわすHTMLをオブジェクト化</title>
      <pubDate>Thu, 04 Sep 2008 11:38:47 +0900</pubDate>
      <content:encoded>
		&lt;div class="section"&gt;
			&lt;p&gt;フィルタで、XMLパースしてやるものがけっこうありそうなので、HTML::MobileJp::Filterが各フィルタ間でHTMLを回す時のHTMLをオブジェクト化した。&lt;/p&gt;
			&lt;p&gt;&lt;a href="http://svn.coderepos.org/share/lang/perl/HTML-MobileJp-Filter/trunk/lib/HTML/MobileJp/Filter/Content.pm" target="_blank"&gt;http://svn.coderepos.org/share/lang/perl/HTML-MobileJp-Filter/trunk/lib/HTML/MobileJp/Filter/Content.pm&lt;/a&gt;&lt;/p&gt;
			&lt;p&gt;ただいまdevリリース中なんでshipitした。0.01_03&lt;/p&gt;
			&lt;p&gt;overload で stringfy すると HTMLを返すので、もし自前フィルタを書いていたとしても動くはず。&lt;/p&gt;
			&lt;p&gt;HTML::DoCoMoCSSあたりを、受け取るのがXMLオブジェクトだったらパースしないでそのまま使うように改造しようかと思ったけどちょい後回し&lt;/p&gt;
		&lt;/div&gt;
</content:encoded>
      <dcterms:modified>2008-09-04T11:38:47+09:00</dcterms:modified>
      <guid isPermaLink="false">tag:facere,2006:http://mobilehacker.g.hatena.ne.jp/tomi-ru/20080904/1220495927</guid>
    </item>
    <item>
      <author>nobody@example.com (tomi-ru)</author>
      <dc:creator>nobody@example.com (tomi-ru)</dc:creator>
      <category>あとで</category>
      <link>http://mobilehacker.g.hatena.ne.jp/tomi-ru/20080902/1220337682</link>
      <description>http://mobilecat.koneta.org/entry/iHw9Z8kQvg</description>
      <dc:date>2008-09-02T15:41:22+09:00</dc:date>
      <dc:subject>あとで</dc:subject>
      <title>[あとで]タコがでない</title>
      <pubDate>Tue, 02 Sep 2008 15:41:22 +0900</pubDate>
      <content:encoded>
		&lt;div class="section"&gt;
			&lt;p&gt;&lt;a href="http://mobilecat.koneta.org/entry/iHw9Z8kQvg" target="_blank"&gt;http://mobilecat.koneta.org/entry/iHw9Z8kQvg&lt;/a&gt;&lt;/p&gt;
		&lt;/div&gt;
</content:encoded>
      <dcterms:modified>2008-09-02T15:41:22+09:00</dcterms:modified>
      <guid isPermaLink="false">tag:facere,2006:http://mobilehacker.g.hatena.ne.jp/tomi-ru/20080902/1220337682</guid>
    </item>
    <item>
      <author>nobody@example.com (tomi-ru)</author>
      <dc:creator>nobody@example.com (tomi-ru)</dc:creator>
      <link>http://mobilehacker.g.hatena.ne.jp/tomi-ru/20080821/1219334559</link>
      <description>Encode::JP::Mobile::MIME の変なところを直す

たとえば今は MIME-Heaer-JP-Mobile-KDDI-SJIS が
iso-2022もdecodeできるので（便利だけど）、想定外の動作のような気がする。

なので MIME-Heaer-JP-Mobile-KDDI を
aliasにするのをやめ、MIME-Heaer-JP-Mobile-KDDIみたいなcharsetなしのだけオールマイティな振る舞いをするようにしたらいいかも。

Encode::JP::Mobile にメール送信・受信用のエンコーディングを追加？

auの場合メール送信時は sjis で、受信時は iso-2022
を使いたい。めんどうなので、decodeはx-iso-2022-jp-kddi-auto、encodeではx-sjis-kddi-auto
を使う新しいエンコーディングを作ると何も考えずそれを使えばいいから楽？

済 ***HTML::MobileJp::Filter

＋が使えるやつ来たので（まだ見てもいない＞＜）shipit。

余裕があればxmlパースして内部で持つようにするか

済 ***MobileCat の微調整？

自分用にRSSが欲しくなってきた。

済 ****どこにも公開してない変モジュールがいろいろあったのでUP</description>
      <dc:date>2008-08-22T01:02:39+09:00</dc:date>
      <title>週末やる</title>
      <pubDate>Fri, 22 Aug 2008 01:02:39 +0900</pubDate>
      <content:encoded>
		&lt;div class="section"&gt;
			&lt;h5&gt;Encode::JP::Mobile::MIME の変なところを直す&lt;/h5&gt;
			&lt;p&gt;たとえば今は MIME-Heaer-JP-Mobile-KDDI-SJIS が iso-2022もdecodeできるので（便利だけど）、想定外の動作のような気がする。&lt;/p&gt;
			&lt;p&gt;なので MIME-Heaer-JP-Mobile-KDDI を aliasにするのをやめ、MIME-Heaer-JP-Mobile-KDDIみたいなcharsetなしのだけオールマイティな振る舞いをするようにしたらいいかも。&lt;/p&gt;
			&lt;h5&gt;Encode::JP::Mobile にメール送信・受信用のエンコーディングを追加？&lt;/h5&gt;
			&lt;p&gt;auの場合メール送信時は sjis で、受信時は iso-2022 を使いたい。めんどうなので、decodeはx-iso-2022-jp-kddi-auto、encodeではx-sjis-kddi-auto を使う新しいエンコーディングを作ると何も考えずそれを使えばいいから楽？&lt;/p&gt;
			&lt;p&gt;済 &lt;s&gt;***HTML::MobileJp::Filter&lt;/p&gt;
			&lt;p&gt;＋が使えるやつ来たので（まだ見てもいない＞＜）shipit。&lt;/p&gt;
			&lt;p&gt;余裕があればxmlパースして内部で持つようにするか&lt;/s&gt;&lt;/p&gt;
			&lt;p&gt;済 &lt;s&gt;***MobileCat の微調整？&lt;/p&gt;
			&lt;p&gt;自分用にRSSが欲しくなってきた。&lt;/s&gt;&lt;/p&gt;
			&lt;p&gt;済 &lt;s&gt;****どこにも公開してない変モジュールがいろいろあったのでUP&lt;/s&gt;&lt;/p&gt;
		&lt;/div&gt;
</content:encoded>
      <dcterms:modified>2008-08-22T01:02:39+09:00</dcterms:modified>
      <guid isPermaLink="false">tag:facere,2006:http://mobilehacker.g.hatena.ne.jp/tomi-ru/20080821/1219334559</guid>
    </item>
    <item>
      <author>nobody@example.com (tomi-ru)</author>
      <dc:creator>nobody@example.com (tomi-ru)</dc:creator>
      <category>MobileCat</category>
      <link>http://mobilehacker.g.hatena.ne.jp/tomi-ru/20080805/1217960370</link>
      <description>ここよりはfeed見てる人多そうなので自分のブログでも告知。

http://e8y.net/blog/2008/08/06/p252.html

他の言語でのモバイル系フレームワークがどんな機能をもってるのかあらためて調査したいところだなあ。

共有化できるところは共有化したほうがよいだろうし。

とりあえずこれでひと段落着いたことにして、ドラクエV始めました。これからお化け退治にでかける。</description>
      <dc:date>2008-08-06T03:19:30+09:00</dc:date>
      <dc:subject>MobileCat</dc:subject>
      <title>[MobileCat]ブログで告知した</title>
      <pubDate>Wed, 06 Aug 2008 03:19:30 +0900</pubDate>
      <content:encoded>
		&lt;div class="section"&gt;
			&lt;p&gt;ここよりはfeed見てる人多そうなので自分のブログでも告知。&lt;/p&gt;
			&lt;p&gt;&lt;a href="http://e8y.net/blog/2008/08/06/p252.html" target="_blank"&gt;http://e8y.net/blog/2008/08/06/p252.html&lt;/a&gt;&lt;/p&gt;
			&lt;p&gt;他の言語でのモバイル系フレームワークがどんな機能をもってるのかあらためて調査したいところだなあ。&lt;/p&gt;
			&lt;p&gt;共有化できるところは共有化したほうがよいだろうし。&lt;/p&gt;
			&lt;p&gt;とりあえずこれでひと段落着いたことにして、ドラクエV始めました。これからお化け退治にでかける。&lt;/p&gt;
		&lt;/div&gt;
</content:encoded>
      <dcterms:modified>2008-08-06T03:19:30+09:00</dcterms:modified>
      <guid isPermaLink="false">tag:facere,2006:http://mobilehacker.g.hatena.ne.jp/tomi-ru/20080805/1217960370</guid>
    </item>
    <item>
      <author>nobody@example.com (tokuhirom)</author>
      <dc:creator>nobody@example.com (tokuhirom)</dc:creator>
      <link>http://mobilehacker.g.hatena.ne.jp/tokuhirom/20080730/1217381698</link>
      <description>http://www.au.kddi.com/ezfactory/tec/spec/new_win/ezkishu.html

をみればわかるとおり

  *  JPEG 非対応機種

  *  GIF 非対応機種

  *  モノクロ機種

は終了。</description>
      <dc:date>2008-07-30T10:34:58+09:00</dc:date>
      <title>au の一部端末終了のお知らせ</title>
      <pubDate>Wed, 30 Jul 2008 10:34:58 +0900</pubDate>
      <content:encoded>
		&lt;div class="section"&gt;
			&lt;p&gt;&lt;a href="http://www.au.kddi.com/ezfactory/tec/spec/new_win/ezkishu.html" target="_blank"&gt;http://www.au.kddi.com/ezfactory/tec/spec/new_win/ezkishu.html&lt;/a&gt;&lt;/p&gt;
			&lt;p&gt;をみればわかるとおり&lt;/p&gt;
			&lt;ul&gt;
				&lt;li&gt; JPEG 非対応機種&lt;/li&gt;
				&lt;li&gt; GIF 非対応機種&lt;/li&gt;
				&lt;li&gt; モノクロ機種&lt;/li&gt;
			&lt;/ul&gt;
			&lt;p&gt;は終了。&lt;/p&gt;
		&lt;/div&gt;
</content:encoded>
      <dcterms:modified>2008-07-30T10:34:58+09:00</dcterms:modified>
      <guid isPermaLink="false">tag:facere,2006:http://mobilehacker.g.hatena.ne.jp/tokuhirom/20080730/1217381698</guid>
    </item>
    <item>
      <author>nobody@example.com (tokuhirom)</author>
      <dc:creator>nobody@example.com (tokuhirom)</dc:creator>
      <link>http://mobilehacker.g.hatena.ne.jp/tokuhirom/20080729/1217321096</link>
      <description>

package Email::MIME::JP::Mobile;use strict;use warnings;use base qw(Email::MIME);use Encode ();use Email::Address::JP::Mobile;

sub mobile {
    my ($self, ) = @_;
    $self-&gt;{__jp_mobile} ||= Email::Address::JP::Mobile-&gt;new( scalar $self-&gt;header('From') );
}
sub force_decode_hook { 1 }sub decode_hook {
    my ($self, $body) = @_;
    $self-&gt;mobile-&gt;mail_encoding-&gt;decode($body);
}
sub subject {
    my ($self, ) = @_;
    my $subject = Email::Simple::header('Subject');
    $self-&gt;mobile-&gt;mime_encoding-&gt;decode($subject);
}
1;__END__=head1 SYNOPSIS    use Email::MIME::JP::Mobile;    use Email::MIME::XPath;    my $mail = Email::MIME::JP::Mobile-&gt;new($eml);    say $mail-&gt;subject;    my $bodynode = $mail-&gt;xpath_findnodes('//plain');    say $bodynode-&gt;body if $bodynode;</description>
      <dc:date>2008-07-29T17:44:56+09:00</dc:date>
      <title>Email 受信するスクリプトをかくときのやりかた</title>
      <pubDate>Tue, 29 Jul 2008 17:44:56 +0900</pubDate>
      <content:encoded>
		&lt;div class="section"&gt;
&lt;pre class="syntax-highlight"&gt;
&lt;span class="synStatement"&gt;package&lt;/span&gt;&lt;span class="synType"&gt; Email::MIME::JP::Mobile;&lt;/span&gt;
&lt;span class="synStatement"&gt;use strict&lt;/span&gt;;
&lt;span class="synStatement"&gt;use warnings&lt;/span&gt;;
&lt;span class="synStatement"&gt;use base&lt;/span&gt; &lt;span class="synConstant"&gt;qw(Email::MIME)&lt;/span&gt;;
&lt;span class="synStatement"&gt;use &lt;/span&gt;Encode ();
&lt;span class="synStatement"&gt;use &lt;/span&gt;Email::Address::JP::Mobile;


&lt;span class="synStatement"&gt;sub&lt;/span&gt;&lt;span class="synIdentifier"&gt; mobile &lt;/span&gt;{
    &lt;span class="synStatement"&gt;my&lt;/span&gt; (&lt;span class="synIdentifier"&gt;$self&lt;/span&gt;, ) = &lt;span class="synIdentifier"&gt;@_&lt;/span&gt;;
    &lt;span class="synIdentifier"&gt;$self&lt;/span&gt;-&amp;gt;{__jp_mobile} ||= Email::Address::JP::Mobile-&amp;gt;&lt;span class="synStatement"&gt;new&lt;/span&gt;( &lt;span class="synStatement"&gt;scalar&lt;/span&gt; &lt;span class="synIdentifier"&gt;$self&lt;/span&gt;-&amp;gt;header(&lt;span class="synConstant"&gt;'From'&lt;/span&gt;) );
}

&lt;span class="synStatement"&gt;sub&lt;/span&gt;&lt;span class="synIdentifier"&gt; force_decode_hook &lt;/span&gt;{ &lt;span class="synConstant"&gt;1&lt;/span&gt; }
&lt;span class="synStatement"&gt;sub&lt;/span&gt;&lt;span class="synIdentifier"&gt; decode_hook &lt;/span&gt;{
    &lt;span class="synStatement"&gt;my&lt;/span&gt; (&lt;span class="synIdentifier"&gt;$self&lt;/span&gt;, &lt;span class="synIdentifier"&gt;$body&lt;/span&gt;) = &lt;span class="synIdentifier"&gt;@_&lt;/span&gt;;
    &lt;span class="synIdentifier"&gt;$self&lt;/span&gt;-&amp;gt;mobile-&amp;gt;mail_encoding-&amp;gt;decode(&lt;span class="synIdentifier"&gt;$body&lt;/span&gt;);
}

&lt;span class="synStatement"&gt;sub&lt;/span&gt;&lt;span class="synIdentifier"&gt; subject &lt;/span&gt;{
    &lt;span class="synStatement"&gt;my&lt;/span&gt; (&lt;span class="synIdentifier"&gt;$self&lt;/span&gt;, ) = &lt;span class="synIdentifier"&gt;@_&lt;/span&gt;;
    &lt;span class="synStatement"&gt;my&lt;/span&gt; &lt;span class="synIdentifier"&gt;$subject&lt;/span&gt; = Email::Simple::header(&lt;span class="synConstant"&gt;'Subject'&lt;/span&gt;);
    &lt;span class="synIdentifier"&gt;$self&lt;/span&gt;-&amp;gt;mobile-&amp;gt;mime_encoding-&amp;gt;decode(&lt;span class="synIdentifier"&gt;$subject&lt;/span&gt;);
}

&lt;span class="synConstant"&gt;1&lt;/span&gt;;
&lt;span class="synComment"&gt;__END__&lt;/span&gt;

&lt;span class="synStatement"&gt;=head1&lt;/span&gt;&lt;span class="synConstant"&gt; SYNOPSIS&lt;/span&gt;

&lt;span class="synPreProc"&gt;    use Email::MIME::JP::Mobile;&lt;/span&gt;
&lt;span class="synPreProc"&gt;    use Email::MIME::XPath;&lt;/span&gt;
&lt;span class="synPreProc"&gt;    my $mail = Email::MIME::JP::Mobile-&amp;gt;new($eml);&lt;/span&gt;
&lt;span class="synPreProc"&gt;    say $mail-&amp;gt;subject;&lt;/span&gt;
&lt;span class="synPreProc"&gt;    my $bodynode = $mail-&amp;gt;xpath_findnodes('//plain');&lt;/span&gt;
&lt;span class="synPreProc"&gt;    say $bodynode-&amp;gt;body if $bodynode;&lt;/span&gt;

&lt;/pre&gt;

		&lt;/div&gt;
</content:encoded>
      <dcterms:modified>2008-07-29T17:44:56+09:00</dcterms:modified>
      <guid isPermaLink="false">tag:facere,2006:http://mobilehacker.g.hatena.ne.jp/tokuhirom/20080729/1217321096</guid>
    </item>
    <item>
      <author>nobody@example.com (Yudoufu)</author>
      <dc:creator>nobody@example.com (Yudoufu)</dc:creator>
      <category>mobile 雑談</category>
      <link>http://mobilehacker.g.hatena.ne.jp/Yudoufu/20080531/1212249868</link>
      <description>そういえばこっちにはちっとも投稿してなかったわけですが。自分の本ブログから転載

各言語ごとにばらばらにモバイルコミュニティができてたり、情報が言語の壁で共有しきれていなかったり・・・そういった状態から、１箇所に集めるのはまだまだ困難だろうという思いもあり、作ってしまいました。

========

流行に乗るみたいであんまり好きではないですが、Mobile-users.jp - 日本のモバイルサイト開発者のためのハブサイトを作りました。

  携帯のWeb閲覧環境は機種依存性が強く、通常のWeb開発に比べて個別対応のための複雑な問題が生じやすいと言う事情があります。にもかかわらず、まとまった情報を発信するサイトもまだまだ少なく、基本的な問題ですら情報共有が進んでいるとは言い難い状況です。

元々は、この辺を憂慮したのが前回の勉強会を開いた経緯でもあります。


ただ、PHPコミュニティの中での蓄積も大事ですが、コミュニティがその情報を内部に抱え込んで、全体としての情報の交流が進まないのも、やはり問題です。

だからこそ、こうやって俯瞰的に情報をまとめられるサイトがあるべきなんじゃないかな、と思って作りました。


僕もリーチしきれない情報は数々あると思うので、皆様のお知恵とお力を拝借できればと思っています＞＜

ぜひぜひよろしくお願いします＞＜</description>
      <dc:date>2008-06-01T01:04:28+09:00</dc:date>
      <dc:subject>mobile 雑談</dc:subject>
      <title>[mobile][雑談]転載：Mobile-users.jpを作りました</title>
      <pubDate>Sun, 01 Jun 2008 01:04:28 +0900</pubDate>
      <content:encoded>
		&lt;div class="section"&gt;
			&lt;p&gt;そういえばこっちにはちっとも投稿してなかったわけですが。自分の&lt;a href="http://d.hatena.ne.jp/Yudoufu/" target="_blank"&gt;本ブログ&lt;/a&gt;から転載&lt;/p&gt;
			&lt;p&gt;各言語ごとにばらばらにモバイルコミュニティができてたり、情報が言語の壁で共有しきれていなかったり・・・そういった状態から、１箇所に集めるのはまだまだ困難だろうという思いもあり、作ってしまいました。&lt;/p&gt;
			&lt;p&gt;========&lt;/p&gt;
			&lt;p&gt;流行に乗るみたいであんまり好きではないですが、&lt;a href="http://mobile-users.jp/" target="_blank"&gt;Mobile-users.jp - 日本のモバイルサイト開発者のためのハブサイト&lt;/a&gt;を作りました。&lt;/p&gt;
			&lt;blockquote&gt;
			&lt;p&gt;携帯のWeb閲覧環境は機種依存性が強く、通常のWeb開発に比べて個別対応のための複雑な問題が生じやすいと言う事情があります。にもかかわらず、まとまった情報を発信するサイトもまだまだ少なく、基本的な問題ですら情報共有が進んでいるとは言い難い状況です。&lt;/p&gt;
			&lt;/blockquote&gt;
			&lt;p&gt;元々は、この辺を憂慮したのが&lt;a href="http://events.php.gr.jp/event.php/event_show/43" target="_blank"&gt;前回の勉強会&lt;/a&gt;を開いた経緯でもあります。&lt;/p&gt;			&lt;br&gt;

			&lt;p&gt;ただ、PHPコミュニティの中での蓄積も大事ですが、コミュニティがその情報を内部に抱え込んで、全体としての情報の交流が進まないのも、やはり問題です。&lt;/p&gt;
			&lt;p&gt;だからこそ、こうやって俯瞰的に情報をまとめられるサイトがあるべきなんじゃないかな、と思って作りました。&lt;/p&gt;			&lt;br&gt;

			&lt;p&gt;僕もリーチしきれない情報は数々あると思うので、皆様のお知恵とお力を拝借できればと思っています＞＜&lt;/p&gt;
			&lt;p&gt;ぜひぜひよろしくお願いします＞＜&lt;/p&gt;
		&lt;/div&gt;
</content:encoded>
      <dcterms:modified>2008-06-01T01:04:28+09:00</dcterms:modified>
      <guid isPermaLink="false">tag:facere,2006:http://mobilehacker.g.hatena.ne.jp/Yudoufu/20080531/1212249868</guid>
    </item>
    <item>
      <author>nobody@example.com (clouder)</author>
      <dc:creator>nobody@example.com (clouder)</dc:creator>
      <link>http://mobilehacker.g.hatena.ne.jp/clouder/20080519/1211195839</link>
      <description>忘れちゃうので覚え書き。

Willcomのメールは下記のようになってる。

a ESC$B あ [太陽]ESC(B
ESC$B あ ESC(B a [太陽]
[太陽] ESC$B あ ESC(B a
[太陽] a ESC$B あ ESC(B
ESC$B あ [太陽] ESC(B a
a [太陽] ESC$B あ ESC(B
[太陽][傘][雲]

それぞれの意味は以下

  *  あ → iso-2022-jp

  *  a → アルファベット

  *  ESC$B と ESC(B → エスケープシーケンス

  *  [太陽] [傘] [雲] → x-sjis-docomo-raw

これを見る限り、

  *  2バイト文字のあとに絵文字がくると、絵文字はエスケープシーケンスの中に入る

  *  1バイト文字のあとに絵文字がくると、絵文字はエスケープシーケンスの中に入らない

  *  絵文字だけであればエスケープシーケンスはない

というルールがあるように見受けられる。

前にも書いた通り、絵文字だけはSJISという奇妙な仕様…。

ちなみに Content-Type は text/plain;charset="ISO-2022-JP" になっている。</description>
      <dc:date>2008-05-19T20:17:19+09:00</dc:date>
      <title> Willcomの絵文字入りメールの仕様</title>
      <pubDate>Mon, 19 May 2008 20:17:19 +0900</pubDate>
      <content:encoded>
		&lt;div class="section"&gt;
			&lt;p&gt;忘れちゃうので覚え書き。&lt;/p&gt;
			&lt;p&gt;Willcomのメールは下記のようになってる。&lt;/p&gt;
&lt;pre&gt;
a ESC$B あ &amp;#91;太陽]ESC(B
ESC$B あ ESC(B a &amp;#91;太陽]
&amp;#91;太陽] ESC$B あ ESC(B a
&amp;#91;太陽] a ESC$B あ ESC(B
ESC$B あ &amp;#91;太陽] ESC(B a
a &amp;#91;太陽] ESC$B あ ESC(B
&amp;#91;太陽]&amp;#91;傘]&amp;#91;雲]
&lt;/pre&gt;

			&lt;p&gt;それぞれの意味は以下&lt;/p&gt;
			&lt;ul&gt;
				&lt;li&gt; あ → iso-2022-jp&lt;/li&gt;
				&lt;li&gt; a → アルファベット&lt;/li&gt;
				&lt;li&gt; ESC$B と ESC(B → エスケープシーケンス&lt;/li&gt;
				&lt;li&gt; [太陽] [傘] [雲] → x-sjis-docomo-raw&lt;/li&gt;
			&lt;/ul&gt;
			&lt;p&gt;これを見る限り、&lt;/p&gt;
			&lt;ul&gt;
				&lt;li&gt; 2バイト文字のあとに絵文字がくると、絵文字はエスケープシーケンスの中に入る&lt;/li&gt;
				&lt;li&gt; 1バイト文字のあとに絵文字がくると、絵文字はエスケープシーケンスの中に入らない&lt;/li&gt;
				&lt;li&gt; 絵文字だけであればエスケープシーケンスはない&lt;/li&gt;
			&lt;/ul&gt;
			&lt;p&gt;というルールがあるように見受けられる。&lt;/p&gt;
			&lt;p&gt;前にも書いた通り、絵文字だけはSJISという奇妙な仕様…。&lt;/p&gt;
			&lt;p&gt;ちなみに Content-Type は text/plain;charset="ISO-2022-JP" になっている。&lt;/p&gt;
		&lt;/div&gt;
</content:encoded>
      <dcterms:modified>2008-05-19T20:17:19+09:00</dcterms:modified>
      <guid isPermaLink="false">tag:facere,2006:http://mobilehacker.g.hatena.ne.jp/clouder/20080519/1211195839</guid>
    </item>
    <item>
      <author>nobody@example.com (tokuhirom)</author>
      <dc:creator>nobody@example.com (tokuhirom)</dc:creator>
      <link>http://mobilehacker.g.hatena.ne.jp/tokuhirom/20080428/1209350325</link>
      <description>DOCUMENT_ROOT: 

/path/to//htdocs
GATEWAY_INTERFACE: CGI-Perl/1.1HOME: /home/tokuhiro/
HOSTNAME: jigen
HTTP_ACCEPT: '*/*'HTTP_ACCEPT_ENCODING: 'deflate, gzip'HTTP_CONNECTION: closeHTTP_HOST: example.com
HTTP_USER_AGENT: Mozilla/3.0(WILLCOM;SANYO/WX310SA/2;1/1/C128) NetFront/3.3PATH_INFO: /
PERL_SEND_HEADER: On
QUERY_STRING: ''REQUEST_METHOD: GET
REQUEST_URI: /

役にたつ情報がなさすぎて泣いた</description>
      <dc:date>2008-04-28T11:38:45+09:00</dc:date>
      <title>WX310SA の HTTP Header</title>
      <pubDate>Mon, 28 Apr 2008 11:38:45 +0900</pubDate>
      <content:encoded>
		&lt;div class="section"&gt;
&lt;pre class="syntax-highlight"&gt;
DOCUMENT_ROOT: &lt;span class="synStatement"&gt;/&lt;/span&gt;&lt;span class="synConstant"&gt;path&lt;/span&gt;&lt;span class="synStatement"&gt;/&lt;/span&gt;to//htdocs
GATEWAY_INTERFACE: CGI-Perl/&lt;span class="synConstant"&gt;1.1&lt;/span&gt;
HOME: &lt;span class="synStatement"&gt;/&lt;/span&gt;&lt;span class="synConstant"&gt;home&lt;/span&gt;&lt;span class="synStatement"&gt;/&lt;/span&gt;tokuhiro/
HOSTNAME: jigen
HTTP_ACCEPT: &lt;span class="synConstant"&gt;'*/*'&lt;/span&gt;
HTTP_ACCEPT_ENCODING: &lt;span class="synConstant"&gt;'deflate, gzip'&lt;/span&gt;
HTTP_CONNECTION: &lt;span class="synStatement"&gt;close&lt;/span&gt;
HTTP_HOST: example.com
HTTP_USER_AGENT: Mozilla/&lt;span class="synConstant"&gt;3.0&lt;/span&gt;(WILLCOM;SANYO/WX310SA/&lt;span class="synConstant"&gt;2&lt;/span&gt;;&lt;span class="synConstant"&gt;1&lt;/span&gt;/&lt;span class="synConstant"&gt;1&lt;/span&gt;/C128) NetFront/&lt;span class="synConstant"&gt;3.3&lt;/span&gt;
PATH_INFO: /
PERL_SEND_HEADER: On
QUERY_STRING: &lt;span class="synConstant"&gt;''&lt;/span&gt;
REQUEST_METHOD: GET
REQUEST_URI: /
&lt;/pre&gt;

			&lt;p&gt;役にたつ情報がなさすぎて泣いた&lt;/p&gt;
		&lt;/div&gt;
</content:encoded>
      <dcterms:modified>2008-04-28T11:38:45+09:00</dcterms:modified>
      <guid isPermaLink="false">tag:facere,2006:http://mobilehacker.g.hatena.ne.jp/tokuhirom/20080428/1209350325</guid>
    </item>
    <item>
      <author>nobody@example.com (tokuhirom)</author>
      <dc:creator>nobody@example.com (tokuhirom)</dc:creator>
      <link>http://mobilehacker.g.hatena.ne.jp/tokuhirom/20080424/1209034795</link>
      <description>もうちょっとなんとかしようぜ……

http://www.au.kddi.com/ezfactory/tec/spec/new_win/ezkishu.html

モノクロ
6万5千
6.5万
26万
256
1568万
4096
65,535
65,536
65536
242144
262,114
262114
262,144
262144</description>
      <dc:date>2008-04-24T19:59:55+09:00</dc:date>
      <title>表記揺れすぎだよ ez</title>
      <pubDate>Thu, 24 Apr 2008 19:59:55 +0900</pubDate>
      <content:encoded>
		&lt;div class="section"&gt;
			&lt;p&gt;もうちょっとなんとかしようぜ……&lt;/p&gt;
			&lt;p&gt;&lt;a href="http://www.au.kddi.com/ezfactory/tec/spec/new_win/ezkishu.html" target="_blank"&gt;http://www.au.kddi.com/ezfactory/tec/spec/new_win/ezkishu.html&lt;/a&gt;&lt;/p&gt;
&lt;pre&gt;
モノクロ
6万5千
6.5万
26万
256
1568万
4096
65,535
65,536
65536
242144
262,114
262114
262,144
262144
&lt;/pre&gt;

		&lt;/div&gt;
</content:encoded>
      <dcterms:modified>2008-04-24T19:59:55+09:00</dcterms:modified>
      <guid isPermaLink="false">tag:facere,2006:http://mobilehacker.g.hatena.ne.jp/tokuhirom/20080424/1209034795</guid>
    </item>
    <item>
      <author>nobody@example.com (nihen)</author>
      <dc:creator>nobody@example.com (nihen)</dc:creator>
      <link>http://mobilehacker.g.hatena.ne.jp/nihen/20080415/1208225981</link>
      <description>http://googlejapan.blogspot.com/2008/04/gmail-no.html

google appsの独自ドメインでも対応してください＞＜

ついでにソフトバンクとも交渉して対応してください＞＜

他力本願なオレorz

というか普通に全ドメインあてに絵文字おくってくれよくださいです＞docomo,softbankの中の人</description>
      <dc:date>2008-04-15T11:19:41+09:00</dc:date>
      <title> google appsでも対応してください＞＜</title>
      <pubDate>Tue, 15 Apr 2008 11:19:41 +0900</pubDate>
      <content:encoded>
		&lt;div class="section"&gt;
			&lt;p&gt;&lt;a href="http://googlejapan.blogspot.com/2008/04/gmail-no.html" target="_blank"&gt;http://googlejapan.blogspot.com/2008/04/gmail-no.html&lt;/a&gt;&lt;/p&gt;
			&lt;p&gt;google appsの独自ドメインでも対応してください＞＜&lt;/p&gt;
			&lt;p&gt;ついでにソフトバンクとも交渉して対応してください＞＜&lt;/p&gt;
			&lt;p&gt;他力本願なオレorz&lt;/p&gt;
			&lt;p&gt;というか普通に全ドメインあてに絵文字おくってくれよくださいです＞docomo,&lt;a class="keyword" href="http://mobilehacker.g.hatena.ne.jp/keyword/softbank"&gt;softbank&lt;/a&gt;の中の人&lt;/p&gt;
		&lt;/div&gt;
</content:encoded>
      <dcterms:modified>2008-04-15T11:19:41+09:00</dcterms:modified>
      <guid isPermaLink="false">tag:facere,2006:http://mobilehacker.g.hatena.ne.jp/nihen/20080415/1208225981</guid>
    </item>
    <item>
      <author>nobody@example.com (yappo)</author>
      <dc:creator>nobody@example.com (yappo)</dc:creator>
      <link>http://mobilehacker.g.hatena.ne.jp/yappo/20080413/1208079152</link>
      <description>ようは CPAN Modules を使ったモバイルサイトを作るときのベストプラクティス的なドキュメントをまとめたディストリビューションにする。

主にドキュメントがメインになるのでBundleってのも怪しいから、もっといい名前空間があればそっちで。</description>
      <dc:date>2008-04-13T18:32:32+09:00</dc:date>
      <title>Bundle::MobileJP を皆で整備するのはどうか</title>
      <pubDate>Sun, 13 Apr 2008 18:32:32 +0900</pubDate>
      <content:encoded>
		&lt;div class="section"&gt;
			&lt;p&gt;ようは CPAN Modules を使ったモバイルサイトを作るときのベストプラクティス的なドキュメントをまとめたディストリビューションにする。&lt;/p&gt;
			&lt;p&gt;主にドキュメントがメインになるのでBundleってのも怪しいから、もっといい名前空間があればそっちで。&lt;/p&gt;
		&lt;/div&gt;
</content:encoded>
      <dcterms:modified>2008-04-13T18:32:32+09:00</dcterms:modified>
      <guid isPermaLink="false">tag:facere,2006:http://mobilehacker.g.hatena.ne.jp/yappo/20080413/1208079152</guid>
    </item>
    <item>
      <author>nobody@example.com (yappo)</author>
      <dc:creator>nobody@example.com (yappo)</dc:creator>
      <link>http://mobilehacker.g.hatena.ne.jp/yappo/20080413/1208079022</link>
      <description>http://mobilehacker.g.hatena.ne.jp/yappo/20070720/1184902204</description>
      <dc:date>2008-04-13T18:30:22+09:00</dc:date>
      <title>いつのまにかこの日記の存在意義が消えてました</title>
      <pubDate>Sun, 13 Apr 2008 18:30:22 +0900</pubDate>
      <content:encoded>
		&lt;div class="section"&gt;
			&lt;p&gt;&lt;a href="http://mobilehacker.g.hatena.ne.jp/yappo/20070720/1184902204" target="_blank"&gt;http://mobilehacker.g.hatena.ne.jp/yappo/20070720/1184902204&lt;/a&gt;&lt;/p&gt;
		&lt;/div&gt;
</content:encoded>
      <dcterms:modified>2008-04-13T18:30:22+09:00</dcterms:modified>
      <guid isPermaLink="false">tag:facere,2006:http://mobilehacker.g.hatena.ne.jp/yappo/20080413/1208079022</guid>
    </item>
    <item>
      <author>nobody@example.com (nihen)</author>
      <dc:creator>nobody@example.com (nihen)</dc:creator>
      <link>http://mobilehacker.g.hatena.ne.jp/nihen/20080303/1204550018</link>
      <description>r7422でbranches/get_locator_from_paramsをマージさせていただきました。

しっかしpodの書き方そろそろ本気で覚えないと駄目だわ･･･。

あと英語･･･。</description>
      <dc:date>2008-03-03T22:13:38+09:00</dc:date>
      <title> H::M::P::Locator trunkにマージ</title>
      <pubDate>Mon, 03 Mar 2008 22:13:38 +0900</pubDate>
      <content:encoded>
		&lt;div class="section"&gt;
			&lt;p&gt;&lt;a href="http://coderepos.org/share/changeset/7422"&gt;r7422&lt;/a&gt;でbranches/get_locator_from_paramsをマージさせていただきました。&lt;/p&gt;
			&lt;p&gt;しっかしpodの書き方そろそろ本気で覚えないと駄目だわ･･･。&lt;/p&gt;
			&lt;p&gt;あと英語･･･。&lt;/p&gt;
		&lt;/div&gt;
</content:encoded>
      <dcterms:modified>2008-03-03T22:13:38+09:00</dcterms:modified>
      <guid isPermaLink="false">tag:facere,2006:http://mobilehacker.g.hatena.ne.jp/nihen/20080303/1204550018</guid>
    </item>
    <item>
      <author>nobody@example.com (nihen)</author>
      <dc:creator>nobody@example.com (nihen)</dc:creator>
      <link>http://mobilehacker.g.hatena.ne.jp/nihen/20080303/1204542242</link>
      <description>#mobilejpでいろいろとアドバイスを受けr7408の修正をしました。

下記のように使えるようになりました。

use HTTP::MobileAgent;use HTTP::MobileAgent::Plugin::Locator qw/:locator/;# これで、$LOCATOR_AUTO_FROM_COMPLIANT $LOCATOR_AUTO $LOCATOR_GPS $LOCATOR_BASIC が使えるようになる# $LOCATOR_AUTO_FROM_COMPLIANT = 今のtrunkと一緒。GPS対応機ならGPSロケータ# $LOCATOR_AUTO                = 入力パラメータによる自動判別# $LOCATOR_GPS                 = GPSロケータ# $LOCATOR_BASIC               = Basicロケータmy $agent = HTTP::MobileAgent-&gt;new;
# いままでどおりGPS対応機ならGPSロケータ使用my $location = $agent-&gt;get_location($params);
# 明示的にロケータ使用$location = $agent-&gt;get_location($params, { locator =&gt; $LOCATOR_BASIC });


テストはもちっと追加しなきゃかも。ドキュメントは英語･･･だとうまく書ける自信なし＞＜</description>
      <dc:date>2008-03-03T20:04:02+09:00</dc:date>
      <title> H::M::P::Locator再度修正</title>
      <pubDate>Mon, 03 Mar 2008 20:04:02 +0900</pubDate>
      <content:encoded>
		&lt;div class="section"&gt;
			&lt;p&gt;#mobilejpでいろいろとアドバイスを受け&lt;a href="http://coderepos.org/share/changeset/7408"&gt;r7408&lt;/a&gt;の修正をしました。&lt;/p&gt;
			&lt;p&gt;下記のように使えるようになりました。&lt;/p&gt;
&lt;pre class="syntax-highlight"&gt;
&lt;span class="synStatement"&gt;use &lt;/span&gt;HTTP::MobileAgent;
&lt;span class="synStatement"&gt;use &lt;/span&gt;HTTP::MobileAgent::Plugin::Locator &lt;span class="synConstant"&gt;qw/:locator/&lt;/span&gt;;
&lt;span class="synComment"&gt;# これで、$LOCATOR_AUTO_FROM_COMPLIANT $LOCATOR_AUTO $LOCATOR_GPS $LOCATOR_BASIC が使えるようになる&lt;/span&gt;
&lt;span class="synComment"&gt;# $LOCATOR_AUTO_FROM_COMPLIANT = 今のtrunkと一緒。GPS対応機ならGPSロケータ&lt;/span&gt;
&lt;span class="synComment"&gt;# $LOCATOR_AUTO                = 入力パラメータによる自動判別&lt;/span&gt;
&lt;span class="synComment"&gt;# $LOCATOR_GPS                 = GPSロケータ&lt;/span&gt;
&lt;span class="synComment"&gt;# $LOCATOR_BASIC               = Basicロケータ&lt;/span&gt;

&lt;span class="synStatement"&gt;my&lt;/span&gt; &lt;span class="synIdentifier"&gt;$agent&lt;/span&gt; = HTTP::MobileAgent-&amp;gt;&lt;span class="synStatement"&gt;new&lt;/span&gt;;

&lt;span class="synComment"&gt;# いままでどおりGPS対応機ならGPSロケータ使用&lt;/span&gt;
&lt;span class="synStatement"&gt;my&lt;/span&gt; &lt;span class="synIdentifier"&gt;$location&lt;/span&gt; = &lt;span class="synIdentifier"&gt;$agent&lt;/span&gt;-&amp;gt;get_location(&lt;span class="synIdentifier"&gt;$params&lt;/span&gt;);

&lt;span class="synComment"&gt;# 明示的にロケータ使用&lt;/span&gt;
&lt;span class="synIdentifier"&gt;$location&lt;/span&gt; = &lt;span class="synIdentifier"&gt;$agent&lt;/span&gt;-&amp;gt;get_location(&lt;span class="synIdentifier"&gt;$params&lt;/span&gt;, { &lt;span class="synConstant"&gt;locator &lt;/span&gt;=&amp;gt; &lt;span class="synIdentifier"&gt;$LOCATOR_BASIC&lt;/span&gt; });

&lt;/pre&gt;

			&lt;p&gt;テストはもちっと追加しなきゃかも。ドキュメントは英語･･･だとうまく書ける自信なし＞＜&lt;/p&gt;
		&lt;/div&gt;
</content:encoded>
      <dcterms:modified>2008-03-03T20:04:02+09:00</dcterms:modified>
      <guid isPermaLink="false">tag:facere,2006:http://mobilehacker.g.hatena.ne.jp/nihen/20080303/1204542242</guid>
    </item>
    <item>
      <author>nobody@example.com (nihen)</author>
      <dc:creator>nobody@example.com (nihen)</dc:creator>
      <link>http://mobilehacker.g.hatena.ne.jp/nihen/20080303/1204527342</link>
      <description>パラメータの自動判別はどうなんだろとid:tokuhirom氏にDISられたので明示的に指定する引数を追加するように方向転換。指定されていなかったら(undefinedだったら）従前通りGPSかどうかで判断してます。

あと、パラメータでの判別も外側でやりたいので

$agent-&gt;gps_parameter

を追加しました。

下記のように3種類の使い分けができます。

my $agent = HTTP::MobileAgent-&gt;new;
# いままでどおりGPS対応機ならGPSロケータ使用my $location = $agent-&gt;get_location($params);
# 明示的にBasicロケータ使用$location = $agent-&gt;get_location($params, 0);
# 入力パラメータによってロケータを切り分け$location = $agent-&gt;get_location(
    $params,
    $agent-&gt;gps_paramter($params)
);

ブランチはget_locator_from_paramsのままです。</description>
      <dc:date>2008-03-03T15:55:42+09:00</dc:date>
      <title> H::M::P::Locatorにさらに手を加える</title>
      <pubDate>Mon, 03 Mar 2008 15:55:42 +0900</pubDate>
      <content:encoded>
		&lt;div class="section"&gt;
			&lt;p&gt;パラメータの自動判別はどうなんだろと&lt;a href="http://mobilehacker.g.hatena.ne.jp/tokuhirom/"&gt;id:tokuhirom&lt;/a&gt;氏にDISられたので明示的に指定する引数を追加するように方向転換。指定されていなかったら(undefinedだったら）従前通り&lt;a class="keyword" href="http://mobilehacker.g.hatena.ne.jp/keyword/GPS"&gt;GPS&lt;/a&gt;かどうかで判断してます。&lt;/p&gt;
			&lt;p&gt;あと、パラメータでの判別も外側でやりたいので&lt;/p&gt;
			&lt;p&gt;$agent-&amp;gt;gps_parameter&lt;/p&gt;
			&lt;p&gt;を追加しました。&lt;/p&gt;
			&lt;p&gt;下記のように3種類の使い分けができます。&lt;/p&gt;
&lt;pre class="syntax-highlight"&gt;
&lt;span class="synStatement"&gt;my&lt;/span&gt; &lt;span class="synIdentifier"&gt;$agent&lt;/span&gt; = HTTP::MobileAgent-&amp;gt;&lt;span class="synStatement"&gt;new&lt;/span&gt;;

&lt;span class="synComment"&gt;# いままでどおりGPS対応機ならGPSロケータ使用&lt;/span&gt;
&lt;span class="synStatement"&gt;my&lt;/span&gt; &lt;span class="synIdentifier"&gt;$location&lt;/span&gt; = &lt;span class="synIdentifier"&gt;$agent&lt;/span&gt;-&amp;gt;get_location(&lt;span class="synIdentifier"&gt;$params&lt;/span&gt;);

&lt;span class="synComment"&gt;# 明示的にBasicロケータ使用&lt;/span&gt;
&lt;span class="synIdentifier"&gt;$location&lt;/span&gt; = &lt;span class="synIdentifier"&gt;$agent&lt;/span&gt;-&amp;gt;get_location(&lt;span class="synIdentifier"&gt;$params&lt;/span&gt;, &lt;span class="synConstant"&gt;0&lt;/span&gt;);

&lt;span class="synComment"&gt;# 入力パラメータによってロケータを切り分け&lt;/span&gt;
&lt;span class="synIdentifier"&gt;$location&lt;/span&gt; = &lt;span class="synIdentifier"&gt;$agent&lt;/span&gt;-&amp;gt;get_location(
    &lt;span class="synIdentifier"&gt;$params&lt;/span&gt;,
    &lt;span class="synIdentifier"&gt;$agent&lt;/span&gt;-&amp;gt;gps_paramter(&lt;span class="synIdentifier"&gt;$params&lt;/span&gt;)
);
&lt;/pre&gt;

			&lt;p&gt;ブランチは&lt;a href="http://coderepos.org/share/browser/lang/perl/HTTP-MobileAgent-Plugin-Locator/branches/get_locator_from_params/"&gt;get_locator_from_params&lt;/a&gt;のままです。&lt;/p&gt;
		&lt;/div&gt;
</content:encoded>
      <dcterms:modified>2008-03-03T15:55:42+09:00</dcterms:modified>
      <guid isPermaLink="false">tag:facere,2006:http://mobilehacker.g.hatena.ne.jp/nihen/20080303/1204527342</guid>
    </item>
    <item>
      <author>nobody@example.com (nihen)</author>
      <dc:creator>nobody@example.com (nihen)</dc:creator>
      <link>http://mobilehacker.g.hatena.ne.jp/nihen/20080301/1204368591</link>
      <description>GPSでの位置取得は(auは結構早いけど)簡易位置取得に比べ遅いのでユーザに選択させたい（というかさせてる）。

けど現行のH::M::P::Locatorだと機種がGPS対応なら強制的に{Carrier}::GPSのLocatorクラスを使ってしまうのです。

DoCoMo: AREACODEがあるか

au: lat,lonの先頭に+-が付いているか(ちょっと微妙だけど･･･)

SoftBank: posパラメータがあるかどうか

という条件でGPSなのかBasicなのかを判断できる。

ということでその判断を元にLocatorクラスを生成するように修正したブランチを作りました。

http://coderepos.org/share/browser/lang/perl/HTTP-MobileAgent-Plugin-Locator/branches/get_locator_from_params/


どうでしょうか？&gt;id:clouder</description>
      <dc:date>2008-03-01T19:49:51+09:00</dc:date>
      <title> H::M::P::Locatorのget_locatorで来たパラメータによってGPSかBasicかを分けてみる</title>
      <pubDate>Sat, 01 Mar 2008 19:49:51 +0900</pubDate>
      <content:encoded>
		&lt;div class="section"&gt;
			&lt;p&gt;&lt;a class="keyword" href="http://mobilehacker.g.hatena.ne.jp/keyword/GPS"&gt;GPS&lt;/a&gt;での位置取得は(auは結構早いけど)簡易位置取得に比べ遅いのでユーザに選択させたい（というかさせてる）。&lt;/p&gt;
			&lt;p&gt;けど現行のH::M::P::Locatorだと機種が&lt;a class="keyword" href="http://mobilehacker.g.hatena.ne.jp/keyword/GPS"&gt;GPS&lt;/a&gt;対応なら強制的に{Carrier}::&lt;a class="keyword" href="http://mobilehacker.g.hatena.ne.jp/keyword/GPS"&gt;GPS&lt;/a&gt;のLocatorクラスを使ってしまうのです。&lt;/p&gt;
			&lt;p&gt;DoCoMo: AREACODEがあるか&lt;/p&gt;
			&lt;p&gt;au: lat,lonの先頭に+-が付いているか(ちょっと微妙だけど･･･)&lt;/p&gt;
			&lt;p&gt;&lt;a class="keyword" href="http://mobilehacker.g.hatena.ne.jp/keyword/SoftBank"&gt;SoftBank&lt;/a&gt;: posパラメータがあるかどうか&lt;/p&gt;
			&lt;p&gt;という条件で&lt;a class="keyword" href="http://mobilehacker.g.hatena.ne.jp/keyword/GPS"&gt;GPS&lt;/a&gt;なのかBasicなのかを判断できる。&lt;/p&gt;
			&lt;p&gt;ということでその判断を元にLocatorクラスを生成するように修正したブランチを作りました。&lt;/p&gt;
			&lt;p&gt;&lt;a href="http://coderepos.org/share/browser/lang/perl/HTTP-MobileAgent-Plugin-Locator/branches/get_locator_from_params/" target="_blank"&gt;http://coderepos.org/share/browser/lang/perl/HTTP-MobileAgent-Plugin-Locator/branches/get_locator_from_params/&lt;/a&gt;&lt;/p&gt;			&lt;br&gt;

			&lt;p&gt;どうでしょうか？&amp;gt;&lt;a href="http://mobilehacker.g.hatena.ne.jp/clouder/"&gt;id:clouder&lt;/a&gt;&lt;/p&gt;
		&lt;/div&gt;
</content:encoded>
      <dcterms:modified>2008-03-01T19:49:51+09:00</dcterms:modified>
      <guid isPermaLink="false">tag:facere,2006:http://mobilehacker.g.hatena.ne.jp/nihen/20080301/1204368591</guid>
    </item>
    <item>
      <author>nobody@example.com (clouder)</author>
      <dc:creator>nobody@example.com (clouder)</dc:creator>
      <link>http://mobilehacker.g.hatena.ne.jp/clouder/20080226/1204031956</link>
      <description>ブランチ作ってやってみたよ！podはまだ書いてません＞＜

ブランチはこちら↓

http://coderepos.org/share/browser/lang/perl/Encode-JP-Mobile/branches/convert-willcom-mail-pictogram

changesetはこちら↓

http://coderepos.org/share/changeset/7172

ほとんどKDDIJISからのコピペなんだけど、ちょっとだけ違います。

(関数とかバリバリコピペでDRYじゃないので、どうしましょうか＞id:tokuhirom)

まずはAirHから送られてくる絵文字入りメールの仕様ですが、AirHのメールの本文は基本的にiso-2022-jpなんだけど、DoCoMo互換の絵文字だけはそのまんまのshiftjisでくるため、そこの部分だけをうまいこと変換してやらなくちゃならない。(KDDIJIS.pmはバイトをずらしたりしてるけど、その部分の処理がAirHJIS.pmと違う。)

例えば、[ISO]をiso-2022-jpで、[SJIS]を絵文字とすると

[ISO][ISO][ISO][ISO][SJIS]、[ISO][ISO][ISO][ISO][SJIS][ISO][SJIS]

なんて感じのメールになってる。

で、実際のAirHJIS.pmの動作としては以下のようになってます。

decodeするときは、[SJIS]にマッチするものだけshiftjisのままにしておきつつ、[ISO]の部分だけshiftjisに変換し、最終的にx-sjis-docomo-rawを使ってdecodeしています。

encodeするときは、まずx-sjis-docomo-rawでencodeしたあとに、1文字ずつDoCoMo互換の絵文字の領域のものだったそのまま残して、それ以外の文字であったらiso-2022-jpに変換していくという処理をしています。

まぁ、そのままですね。

どうでしょう＞Encode::JP::Mobile's authors</description>
      <dc:date>2008-02-26T22:19:16+09:00</dc:date>
      <title> Encode::JP::Mobileにx-iso-2022-jp-airhを追加してみた。</title>
      <pubDate>Tue, 26 Feb 2008 22:19:16 +0900</pubDate>
      <content:encoded>
		&lt;div class="section"&gt;
			&lt;p&gt;ブランチ作ってやってみたよ！podはまだ書いてません＞＜&lt;/p&gt;
			&lt;p&gt;ブランチはこちら↓&lt;/p&gt;
			&lt;p&gt;&lt;a href="http://coderepos.org/share/browser/lang/perl/Encode-JP-Mobile/branches/convert-willcom-mail-pictogram" target="_blank"&gt;http://coderepos.org/share/browser/lang/perl/Encode-JP-Mobile/branches/convert-willcom-mail-pictogram&lt;/a&gt;&lt;/p&gt;
			&lt;p&gt;changesetはこちら↓&lt;/p&gt;
			&lt;p&gt;&lt;a href="http://coderepos.org/share/changeset/7172" target="_blank"&gt;http://coderepos.org/share/changeset/7172&lt;/a&gt;&lt;/p&gt;
			&lt;p&gt;ほとんどKDDIJISからのコピペなんだけど、ちょっとだけ違います。&lt;/p&gt;
			&lt;p&gt;(関数とかバリバリコピペでDRYじゃないので、どうしましょうか＞&lt;a href="http://mobilehacker.g.hatena.ne.jp/tokuhirom/"&gt;id:tokuhirom&lt;/a&gt;)&lt;/p&gt;
			&lt;p&gt;まずはAirHから送られてくる絵文字入りメールの仕様ですが、AirHのメールの本文は基本的にiso-2022-jpなんだけど、DoCoMo互換の絵文字だけはそのまんまのshiftjisでくるため、そこの部分だけをうまいこと変換してやらなくちゃならない。(KDDIJIS.pmはバイトをずらしたりしてるけど、その部分の処理がAirHJIS.pmと違う。)&lt;/p&gt;
			&lt;p&gt;例えば、[ISO]をiso-2022-jpで、[SJIS]を絵文字とすると&lt;/p&gt;
&lt;pre&gt;
&amp;#91;ISO]&amp;#91;ISO]&amp;#91;ISO]&amp;#91;ISO]&amp;#91;SJIS]、&amp;#91;ISO]&amp;#91;ISO]&amp;#91;ISO]&amp;#91;ISO]&amp;#91;SJIS]&amp;#91;ISO]&amp;#91;SJIS]
&lt;/pre&gt;

			&lt;p&gt;なんて感じのメールになってる。&lt;/p&gt;
			&lt;p&gt;で、実際のAirHJIS.pmの動作としては以下のようになってます。&lt;/p&gt;
			&lt;p&gt;decodeするときは、[SJIS]にマッチするものだけshiftjisのままにしておきつつ、[ISO]の部分だけshiftjisに変換し、最終的にx-sjis-docomo-rawを使ってdecodeしています。&lt;/p&gt;
			&lt;p&gt;encodeするときは、まずx-sjis-docomo-rawでencodeしたあとに、1文字ずつDoCoMo互換の絵文字の領域のものだったそのまま残して、それ以外の文字であったらiso-2022-jpに変換していくという処理をしています。&lt;/p&gt;
			&lt;p&gt;まぁ、そのままですね。&lt;/p&gt;
			&lt;p&gt;どうでしょう＞Encode::JP::Mobile's authors&lt;/p&gt;
		&lt;/div&gt;
</content:encoded>
      <dcterms:modified>2008-02-26T22:19:16+09:00</dcterms:modified>
      <guid isPermaLink="false">tag:facere,2006:http://mobilehacker.g.hatena.ne.jp/clouder/20080226/1204031956</guid>
    </item>
    <item>
      <author>nobody@example.com (perezvon)</author>
      <dc:creator>nobody@example.com (perezvon)</dc:creator>
      <category>au</category>
      <link>http://mobilehacker.g.hatena.ne.jp/perezvon/20080223/1203762952</link>
      <description>京セラのauはdevice:locationにしても、device:gpsoneと同じようにdatum=1&amp;unit=0というリクエストを送ってくる説。

確認したのは、以下の二機種。

  *  KDDI-KC33 UP.Browser/6.2.0.9 (GUI) MMP/2.0

  *  KDDI-KC38 UP.Browser/6.2.0.11.1.2.2 (GUI) MMP/2.0</description>
      <dc:date>2008-02-23T19:35:52+09:00</dc:date>
      <dc:subject>au</dc:subject>
      <title>[au]device:location</title>
      <pubDate>Sat, 23 Feb 2008 19:35:52 +0900</pubDate>
      <content:encoded>
		&lt;div class="section"&gt;
			&lt;p&gt;京セラのauはdevice:locationにしても、device:gpsoneと同じようにdatum=1&amp;unit=0というリクエストを送ってくる説。&lt;/p&gt;
			&lt;p&gt;確認したのは、以下の二機種。&lt;/p&gt;
			&lt;ul&gt;
				&lt;li&gt; KDDI-KC33 UP.&lt;a class="keyword" href="http://mobilehacker.g.hatena.ne.jp/keyword/Browser"&gt;Browser&lt;/a&gt;/6.2.0.9 (GUI) MMP/2.0&lt;/li&gt;
				&lt;li&gt; KDDI-KC38 UP.&lt;a class="keyword" href="http://mobilehacker.g.hatena.ne.jp/keyword/Browser"&gt;Browser&lt;/a&gt;/6.2.0.11.1.2.2 (GUI) MMP/2.0&lt;/li&gt;
			&lt;/ul&gt;

		&lt;/div&gt;
</content:encoded>
      <dcterms:modified>2008-02-23T19:35:52+09:00</dcterms:modified>
      <guid isPermaLink="false">tag:facere,2006:http://mobilehacker.g.hatena.ne.jp/perezvon/20080223/1203762952</guid>
    </item>
    <item>
      <author>nobody@example.com (clouder)</author>
      <dc:creator>nobody@example.com (clouder)</dc:creator>
      <link>http://mobilehacker.g.hatena.ne.jp/clouder/20080214/1202995254</link>
      <description>こけるね。

今時間がないので、あとでみる。メモ。</description>
      <dc:date>2008-02-14T22:20:54+09:00</dc:date>
      <title> HTML::Entities::ConvertPictogramMobileJpのmake test</title>
      <pubDate>Thu, 14 Feb 2008 22:20:54 +0900</pubDate>
      <content:encoded>
		&lt;div class="section"&gt;
			&lt;p&gt;こけるね。&lt;/p&gt;
			&lt;p&gt;今時間がないので、あとでみる。メモ。&lt;/p&gt;
		&lt;/div&gt;
</content:encoded>
      <dcterms:modified>2008-02-14T22:20:54+09:00</dcterms:modified>
      <guid isPermaLink="false">tag:facere,2006:http://mobilehacker.g.hatena.ne.jp/clouder/20080214/1202995254</guid>
    </item>
    <item>
      <author>nobody@example.com (nihen)</author>
      <dc:creator>nobody@example.com (nihen)</dc:creator>
      <link>http://mobilehacker.g.hatena.ne.jp/nihen/20080206/1202288094</link>
      <description>Encode::JP::Mobileと組み合わせると便利な

HTTP::MobileAgent::Plugin::Charsetですが、auはSSLにおいてUTF-8が表示できないということで常にx-sjis-ezweb-autoが選択されています。

SSLでのアクセスかどうかを判定できれば、nonSSLの場合はできればx-utf8-ezwebを選択させてあげたいと思うです。

そこで、手持ちのau端末(W44S, W52H)でSSLなページにアクセスしてヘッダを眺めてたところ、

non-SSL

Accept-Charset =&gt; 'shift_jis,*'

SSL

Accept-Charset =&gt; 'shift_jis'

という違いがー。

ちなみに他キャリアではDoCoMoはAccept-Charset自体無し、SoftBankは

Accept-Charset =&gt; 'Shift_JIS, EUC-JP, ISO-2022-JP, US-ASCII,ISO-8859-1, UTF-8'

といった感じでした。


=&gt;branche切ってcommitしてみました

http://coderepos.org/share/changeset/6292</description>
      <dc:date>2008-02-06T17:54:54+09:00</dc:date>
      <title>H::M::Plugin::Charsetのauの判定の件</title>
      <pubDate>Wed, 06 Feb 2008 17:54:54 +0900</pubDate>
      <content:encoded>
		&lt;div class="section"&gt;
			&lt;p&gt;Encode::JP::Mobileと組み合わせると便利な&lt;/p&gt;
			&lt;p&gt;&lt;a href="http://coderepos.org/share/browser/lang/perl/HTTP-MobileAgent-Plugin-Charset/"&gt;HTTP::MobileAgent::Plugin::Charset&lt;/a&gt;ですが、auは&lt;a class="keyword" href="http://mobilehacker.g.hatena.ne.jp/keyword/SSL"&gt;SSL&lt;/a&gt;においてUTF-8が表示できないということで常にx-sjis-ezweb-autoが選択されています。&lt;/p&gt;
			&lt;p&gt;&lt;a class="keyword" href="http://mobilehacker.g.hatena.ne.jp/keyword/SSL"&gt;SSL&lt;/a&gt;でのアクセスかどうかを判定できれば、nonSSLの場合はできればx-utf8-ezwebを選択させてあげたいと思うです。&lt;/p&gt;
			&lt;p&gt;そこで、手持ちのau端末(W44S, W52H)で&lt;a class="keyword" href="http://mobilehacker.g.hatena.ne.jp/keyword/SSL"&gt;SSL&lt;/a&gt;なページにアクセスしてヘッダを眺めてたところ、&lt;/p&gt;
			&lt;h4&gt; non-&lt;a class="keyword" href="http://mobilehacker.g.hatena.ne.jp/keyword/SSL"&gt;SSL&lt;/a&gt;&lt;/h4&gt;
&lt;pre&gt;
Accept-Charset =&amp;#62; &amp;#39;shift_jis,&amp;#42;&amp;#39;
&lt;/pre&gt;

			&lt;h4&gt; &lt;a class="keyword" href="http://mobilehacker.g.hatena.ne.jp/keyword/SSL"&gt;SSL&lt;/a&gt;&lt;/h4&gt;
&lt;pre&gt;
Accept-Charset =&amp;#62; &amp;#39;shift_jis&amp;#39;
&lt;/pre&gt;

			&lt;p&gt;という違いがー。&lt;/p&gt;
			&lt;p&gt;ちなみに他キャリアではDoCoMoはAccept-Charset自体無し、&lt;a class="keyword" href="http://mobilehacker.g.hatena.ne.jp/keyword/SoftBank"&gt;SoftBank&lt;/a&gt;は&lt;/p&gt;
&lt;pre&gt;
Accept-Charset =&amp;#62; &amp;#39;Shift_JIS, EUC-JP, ISO-2022-JP, US-ASCII,ISO-8859-1, UTF-8&amp;#39;
&lt;/pre&gt;

			&lt;p&gt;といった感じでした。&lt;/p&gt;			&lt;br&gt;

			&lt;p&gt;=&amp;gt;branche切ってcommitしてみました&lt;/p&gt;
			&lt;p&gt;&lt;a href="http://coderepos.org/share/changeset/6292" target="_blank"&gt;http://coderepos.org/share/changeset/6292&lt;/a&gt;&lt;/p&gt;
		&lt;/div&gt;
</content:encoded>
      <dcterms:modified>2008-02-06T17:54:54+09:00</dcterms:modified>
      <guid isPermaLink="false">tag:facere,2006:http://mobilehacker.g.hatena.ne.jp/nihen/20080206/1202288094</guid>
    </item>
    <item>
      <author>nobody@example.com (clouder)</author>
      <dc:creator>nobody@example.com (clouder)</dc:creator>
      <link>http://mobilehacker.g.hatena.ne.jp/clouder/20080123/1201090187</link>
      <description>今更だけどcpan shellでforce installするには

% cpan -f Module::Name

とすればいいことを初めて知った…。</description>
      <dc:date>2008-01-23T21:09:47+09:00</dc:date>
      <title> cpan shell の force install</title>
      <pubDate>Wed, 23 Jan 2008 21:09:47 +0900</pubDate>
      <content:encoded>
		&lt;div class="section"&gt;
			&lt;p&gt;今更だけどcpan shellでforce installするには&lt;/p&gt;
&lt;pre&gt;
% cpan -f Module::Name
&lt;/pre&gt;

			&lt;p&gt;とすればいいことを初めて知った…。&lt;/p&gt;
		&lt;/div&gt;
</content:encoded>
      <dcterms:modified>2008-01-23T21:09:47+09:00</dcterms:modified>
      <guid isPermaLink="false">tag:facere,2006:http://mobilehacker.g.hatena.ne.jp/clouder/20080123/1201090187</guid>
    </item>
    <item>
      <author>nobody@example.com (clouder)</author>
      <dc:creator>nobody@example.com (clouder)</dc:creator>
      <link>http://mobilehacker.g.hatena.ne.jp/clouder/20080123/1201089654</link>
      <description>DoCoMoのUAのページに705i系が追加されてたからだった。

追加された端末を08_docomo_htmlversion.tに追加しときました＞id:tokuhirom

http://coderepos.org/share/changeset/5359</description>
      <dc:date>2008-01-23T21:00:54+09:00</dc:date>
      <title> WWW::MobileCarrierJPのtestでこける</title>
      <pubDate>Wed, 23 Jan 2008 21:00:54 +0900</pubDate>
      <content:encoded>
		&lt;div class="section"&gt;
			&lt;p&gt;DoCoMoのUAのページに705i系が追加されてたからだった。&lt;/p&gt;
			&lt;p&gt;追加された端末を08_docomo_htmlversion.tに追加しときました＞&lt;a href="http://mobilehacker.g.hatena.ne.jp/tokuhirom/"&gt;id:tokuhirom&lt;/a&gt;&lt;/p&gt;
			&lt;p&gt;&lt;a href="http://coderepos.org/share/changeset/5359" target="_blank"&gt;http://coderepos.org/share/changeset/5359&lt;/a&gt;&lt;/p&gt;
		&lt;/div&gt;
</content:encoded>
      <dcterms:modified>2008-01-23T21:00:54+09:00</dcterms:modified>
      <guid isPermaLink="false">tag:facere,2006:http://mobilehacker.g.hatena.ne.jp/clouder/20080123/1201089654</guid>
    </item>
    <item>
      <author>nobody@example.com (yappo)</author>
      <dc:creator>nobody@example.com (yappo)</dc:creator>
      <link>http://mobilehacker.g.hatena.ne.jp/yappo/20080116/1200466505</link>
      <description>http://mobilehacker.g.hatena.ne.jp/tokuhirom/20080111/1200037289

これの対応やってincディレクトリ添付して0.04をリリースだお。</description>
      <dc:date>2008-01-16T15:55:05+09:00</dc:date>
      <title>Geo::Coordinates::Converter 0.04 is release</title>
      <pubDate>Wed, 16 Jan 2008 15:55:05 +0900</pubDate>
      <content:encoded>
		&lt;div class="section"&gt;
			&lt;p&gt;&lt;a href="http://mobilehacker.g.hatena.ne.jp/tokuhirom/20080111/1200037289" target="_blank"&gt;http://mobilehacker.g.hatena.ne.jp/tokuhirom/20080111/1200037289&lt;/a&gt;&lt;/p&gt;
			&lt;p&gt;これの対応やってincディレクトリ添付して0.04をリリースだお。&lt;/p&gt;
		&lt;/div&gt;
</content:encoded>
      <dcterms:modified>2008-01-16T15:55:05+09:00</dcterms:modified>
      <guid isPermaLink="false">tag:facere,2006:http://mobilehacker.g.hatena.ne.jp/yappo/20080116/1200466505</guid>
    </item>
    <item>
      <author>nobody@example.com (perezvon)</author>
      <dc:creator>nobody@example.com (perezvon)</dc:creator>
      <category>DoCoMo</category>
      <link>http://mobilehacker.g.hatena.ne.jp/perezvon/20071206/1196912626</link>
      <description>これがあれば、こんなことはしなかっただろう。</description>
      <dc:date>2007-12-06T12:43:46+09:00</dc:date>
      <dc:subject>DoCoMo</dc:subject>
      <title>[DoCoMo]そろそろcodereposのアカウントほしいかもな</title>
      <pubDate>Thu, 06 Dec 2007 12:43:46 +0900</pubDate>
      <content:encoded>
		&lt;div class="section"&gt;
			&lt;p&gt;&lt;a href="http://coderepos.org/share/browser/lang/perl/WWW-MobileCarrierJP/trunk/lib/WWW/MobileCarrierJP/DoCoMo/DisplayMap.pm" target="_blank"&gt;これ&lt;/a&gt;があれば、&lt;a href="http://wsgiuseragentmobile.googlecode.com/svn/trunk/bin/makedocomomap.py" target="_blank"&gt;こんなこと&lt;/a&gt;はしなかっただろう。&lt;/p&gt;
		&lt;/div&gt;
</content:encoded>
      <dcterms:modified>2007-12-06T12:43:46+09:00</dcterms:modified>
      <guid isPermaLink="false">tag:facere,2006:http://mobilehacker.g.hatena.ne.jp/perezvon/20071206/1196912626</guid>
    </item>
    <item>
      <author>nobody@example.com (perezvon)</author>
      <dc:creator>nobody@example.com (perezvon)</dc:creator>
      <category>utf8</category>
      <link>http://mobilehacker.g.hatena.ne.jp/perezvon/20071202/1196582642</link>
      <description>  utf8 でケータイサイトをつくる時代。

  http://wassr.jp/user/tokuhirom/statuses/9XOO60967K

  今時 thirdforce の絵文字をエスケープシーケンスでいれてる人がいたらちょっと可哀そうになるw

  http://wassr.jp/user/tokuhirom/statuses/eeJvGI3BSz

前者に関しては、確かに、SoftBankとWILLCOMならばutf8の方がいいと思うけど。

後者は、エスケープシーケンスではなくutf8でエンコードすればいいってこと？</description>
      <dc:date>2007-12-02T17:04:02+09:00</dc:date>
      <dc:subject>utf8</dc:subject>
      <title>[utf8]メリットがよく分からない</title>
      <pubDate>Sun, 02 Dec 2007 17:04:02 +0900</pubDate>
      <content:encoded>
		&lt;div class="section"&gt;
			&lt;blockquote title="http://wassr.jp/user/tokuhirom/statuses/9XOO60967K" cite="http://wassr.jp/user/tokuhirom/statuses/9XOO60967K"&gt;
			&lt;p&gt;utf8 でケータイサイトをつくる時代。&lt;/p&gt;
			&lt;cite&gt;&lt;a href="http://wassr.jp/user/tokuhirom/statuses/9XOO60967K"&gt;http://wassr.jp/user/tokuhirom/statuses/9XOO60967K&lt;/a&gt;&lt;/cite&gt;&lt;/blockquote&gt;
			&lt;blockquote title="http://wassr.jp/user/tokuhirom/statuses/eeJvGI3BSz" cite="http://wassr.jp/user/tokuhirom/statuses/eeJvGI3BSz"&gt;
			&lt;p&gt;今時 thirdforce の絵文字をエスケープシーケンスでいれてる人がいたらちょっと可哀そうになるw&lt;/p&gt;
			&lt;cite&gt;&lt;a href="http://wassr.jp/user/tokuhirom/statuses/eeJvGI3BSz"&gt;http://wassr.jp/user/tokuhirom/statuses/eeJvGI3BSz&lt;/a&gt;&lt;/cite&gt;&lt;/blockquote&gt;
			&lt;p&gt;前者に関しては、確かに、&lt;a class="keyword" href="http://mobilehacker.g.hatena.ne.jp/keyword/SoftBank"&gt;SoftBank&lt;/a&gt;とWILLCOMならばutf8の方がいいと思うけど。&lt;/p&gt;
			&lt;p&gt;後者は、エスケープシーケンスではなくutf8でエンコードすればいいってこと？&lt;/p&gt;
		&lt;/div&gt;
</content:encoded>
      <dcterms:modified>2007-12-02T17:04:02+09:00</dcterms:modified>
      <guid isPermaLink="false">tag:facere,2006:http://mobilehacker.g.hatena.ne.jp/perezvon/20071202/1196582642</guid>
    </item>
    <item>
      <author>nobody@example.com (perezvon)</author>
      <dc:creator>nobody@example.com (perezvon)</dc:creator>
      <category>SoftBank</category>
      <link>http://mobilehacker.g.hatena.ne.jp/perezvon/20071123/1195825977</link>
      <description>WJ46065EとWJ46202E、どちらもSoftBank端末でときどき出現するという謎のエラーだが、どちらもコンテンツサイズ関連のエラーだと睨んでいる。

WJ46065Eの原因の一つとして「HTMLのサイズが48Kbytes以上」があげられるというのは間違いないと思う。正確に48Kbytesではなく、なんか半端な数だったと思うが、それに近いサイズのコンテンツで100%再現する。

キーワード"WJ46065E"でも言及されている「HTTPヘッダー」の件も原因の一つであるかどうかは分からない。

WJ46202Eの方も、上記のエラーの調査の過程でほぼ再現できたので、コンテンツサイズの問題であろうということが推測できたが、正確な条件までは分からなかった。また、コンテンツサイズだけがWJ46202Eの唯一の原因であるのかどうかは分からない。


参考URL

http://skeitai.com/blog/softbank/wj46202e.html

http://mobilehacker.g.hatena.ne.jp/keyword/WJ46065E</description>
      <dc:date>2007-11-23T22:52:57+09:00</dc:date>
      <dc:subject>SoftBank</dc:subject>
      <title>[SoftBank]WJ46065EとWJ46202E</title>
      <pubDate>Fri, 23 Nov 2007 22:52:57 +0900</pubDate>
      <content:encoded>
		&lt;div class="section"&gt;
			&lt;p&gt;&lt;a class="keyword" href="http://mobilehacker.g.hatena.ne.jp/keyword/WJ46065E"&gt;WJ46065E&lt;/a&gt;とWJ46202E、どちらも&lt;a class="keyword" href="http://mobilehacker.g.hatena.ne.jp/keyword/SoftBank"&gt;SoftBank&lt;/a&gt;端末でときどき出現するという謎のエラーだが、どちらもコンテンツサイズ関連のエラーだと睨んでいる。&lt;/p&gt;
			&lt;p&gt;&lt;a class="keyword" href="http://mobilehacker.g.hatena.ne.jp/keyword/WJ46065E"&gt;WJ46065E&lt;/a&gt;の原因の一つとして「HTMLのサイズが48Kbytes以上」があげられるというのは間違いないと思う。正確に48Kbytesではなく、なんか半端な数だったと思うが、それに近いサイズのコンテンツで100%再現する。&lt;/p&gt;
			&lt;p&gt;キーワード"&lt;a class="keyword" href="http://mobilehacker.g.hatena.ne.jp/keyword/WJ46065E"&gt;WJ46065E&lt;/a&gt;"でも言及されている「HTTPヘッダー」の件も原因の一つであるかどうかは分からない。&lt;/p&gt;
			&lt;p&gt;WJ46202Eの方も、上記のエラーの調査の過程でほぼ再現できたので、コンテンツサイズの問題であろうということが推測できたが、正確な条件までは分からなかった。また、コンテンツサイズだけがWJ46202Eの唯一の原因であるのかどうかは分からない。&lt;/p&gt;			&lt;br&gt;

			&lt;p&gt;参考URL&lt;/p&gt;
			&lt;p&gt;&lt;a href="http://skeitai.com/blog/softbank/wj46202e.html" target="_blank"&gt;http://skeitai.com/blog/softbank/wj46202e.html&lt;/a&gt;&lt;/p&gt;
			&lt;p&gt;&lt;a href="http://mobilehacker.g.hatena.ne.jp/keyword/WJ46065E" target="_blank"&gt;http://mobilehacker.g.hatena.ne.jp/keyword/WJ46065E&lt;/a&gt;&lt;/p&gt;
		&lt;/div&gt;
</content:encoded>
      <dcterms:modified>2007-11-23T22:52:57+09:00</dcterms:modified>
      <guid isPermaLink="false">tag:facere,2006:http://mobilehacker.g.hatena.ne.jp/perezvon/20071123/1195825977</guid>
    </item>
    <item>
      <author>nobody@example.com (ziguzagu)</author>
      <dc:creator>nobody@example.com (ziguzagu)</dc:creator>
      <link>http://mobilehacker.g.hatena.ne.jp/ziguzagu/20071109/1194597205</link>
      <description>http://mobilehacker.g.hatena.ne.jp/ziguzagu/20070821/1190169571
で書いた問題の続き。

どうやら、https://secure.softbank.ne.jp を経由すると送られてくる模様。

https://example.com/test?foo=bar

ていうところにいきたい場合は、

https://secure.softbank.ne.jp/example.com/test?foo=bar

に。ただし、example.com でオレオレ証明書使ってる場合はエラーになる。。

ていうのは、すごく常識だったのかもしれないという不安に駆られ中。。。</description>
      <dc:date>2007-11-09T17:33:25+09:00</dc:date>
      <title> 続・HTTPS で x-jphone-** が送られてこない</title>
      <pubDate>Fri, 09 Nov 2007 17:33:25 +0900</pubDate>
      <content:encoded>
		&lt;div class="section"&gt;
			&lt;p&gt;&lt;a href="http://mobilehacker.g.hatena.ne.jp/ziguzagu/20070821/1190169571" target="_blank"&gt;http://mobilehacker.g.hatena.ne.jp/ziguzagu/20070821/1190169571&lt;/a&gt; で書いた問題の続き。&lt;/p&gt;
			&lt;p&gt;どうやら、&lt;em&gt;https://secure.softbank.ne.jp&lt;/em&gt; を経由すると送られてくる模様。&lt;/p&gt;
&lt;pre&gt;
https://example.com/test?foo=bar
&lt;/pre&gt;

			&lt;p&gt;ていうところにいきたい場合は、&lt;/p&gt;
&lt;pre&gt;
https://secure.softbank.ne.jp/example.com/test?foo=bar
&lt;/pre&gt;

			&lt;p&gt;に。ただし、example.com でオレオレ証明書使ってる場合はエラーになる。。&lt;/p&gt;
			&lt;p&gt;ていうのは、すごく常識だったのかもしれないという不安に駆られ中。。。&lt;/p&gt;
		&lt;/div&gt;
</content:encoded>
      <dcterms:modified>2007-11-09T17:33:25+09:00</dcterms:modified>
      <guid isPermaLink="false">tag:facere,2006:http://mobilehacker.g.hatena.ne.jp/ziguzagu/20071109/1194597205</guid>
    </item>
    <item>
      <author>nobody@example.com (wtnabe)</author>
      <dc:creator>nobody@example.com (wtnabe)</dc:creator>
      <link>http://mobilehacker.g.hatena.ne.jp/wtnabe/20071022/p1</link>
      <description>日本ではこういう小物はケータイの方がウケそうな気がする。

  * 【ACCESS DAY 2007】 ACCESS、携帯向けウィジェットなど最新機能を紹介

  * ドコモケータイにもウィジェットを--jig.jp、公式アプリ「jigデスクトップ」を開始 - CNET Venture View

  * 携帯電話もウィジェット対応に--ノキア、2007年秋にサービスを正式開始:モバイルチャンネル - CNET Japan

  * NetvibesがGoogle、Vista、Macにも対応できるウィジェット「UWA」を発表 - CNET Venture View

とりあえずメモ。

UWA はちょっと面白そう。日本のビジネス的には jig と ACCESS の対決？</description>
      <dc:date>2007-10-22T00:00:00+09:00</dc:date>
      <title>携帯でウィジェット？</title>
      <pubDate>Mon, 22 Oct 2007 00:00:00 +0900</pubDate>
      <content:encoded>
		&lt;div class="section"&gt;
			&lt;p&gt;日本ではこういう小物はケータイの方がウケそうな気がする。&lt;/p&gt;
			&lt;ul&gt;
				&lt;li&gt;&lt;a href="http://k-tai.impress.co.jp/cda/article/event/36803.html" target="_blank"&gt;【ACCESS DAY 2007】 ACCESS、携帯向けウィジェットなど最新機能を紹介&lt;/a&gt;&lt;/li&gt;
				&lt;li&gt;&lt;a href="http://v.japan.cnet.com/news/article/story/0,2000067548,20354189,00.htm" target="_blank"&gt;ドコモケータイにもウィジェットを--jig.jp、公式アプリ「jigデスクトップ」を開始 - CNET Venture View&lt;/a&gt;&lt;/li&gt;
				&lt;li&gt;&lt;a href="http://japan.cnet.com/mobile/story/0,3800078151,20351059,00.htm" target="_blank"&gt;携帯電話もウィジェット対応に--ノキア、2007年秋にサービスを正式開始:モバイルチャンネル - CNET Japan&lt;/a&gt;&lt;/li&gt;
				&lt;li&gt;&lt;a href="http://v.japan.cnet.com/column/webware/story/0,3800078581,20359000,00.htm" target="_blank"&gt;NetvibesがGoogle、Vista、Macにも対応できるウィジェット「UWA」を発表 - CNET Venture View&lt;/a&gt;&lt;/li&gt;
			&lt;/ul&gt;
			&lt;p&gt;とりあえずメモ。&lt;/p&gt;
			&lt;p&gt;UWA はちょっと面白そう。日本のビジネス的には jig と ACCESS の対決？&lt;/p&gt;
		&lt;/div&gt;
</content:encoded>
      <dcterms:modified>2007-10-22T00:00:00+09:00</dcterms:modified>
      <guid isPermaLink="false">tag:facere,2006:http://mobilehacker.g.hatena.ne.jp/wtnabe/20071022/p1</guid>
    </item>
    <item>
      <author>nobody@example.com (ziguzagu)</author>
      <dc:creator>nobody@example.com (ziguzagu)</dc:creator>
      <link>http://mobilehacker.g.hatena.ne.jp/ziguzagu/20070821/1190169571</link>
      <description>Softbank の一部端末で HTTPS だとx-jphone 系ヘッダ（全部？）が送られてこないくさい。具体的にはこいつら↓

  *  HTTP_X_JPHONE_SMAF

  *  HTTP_X_JPHONE_REGION

  *  HTTP_X_JPHONE_MSNAME

  *  HTTP_X_JPHONE_DISPLAY

  *  HTTP_X_JPHONE_UID

  *  HTTP_X_JPHONE_COLOR

903SH、910SH で確認（SH 依存かしら…）。公式サイトだと問題ないのかしら？（ないんでしょう、たぶん。使ったこと無かったけど）

簡単ログインできない。

おわた。。。</description>
      <dc:date>2007-09-19T11:39:31+09:00</dc:date>
      <title> HTTPS で x-jphone-** が送られてこない</title>
      <pubDate>Wed, 19 Sep 2007 11:39:31 +0900</pubDate>
      <content:encoded>
		&lt;div class="section"&gt;
			&lt;p&gt;&lt;a class="keyword" href="http://mobilehacker.g.hatena.ne.jp/keyword/Softbank"&gt;Softbank&lt;/a&gt; の一部端末で HTTPS だとx-jphone 系ヘッダ（全部？）が送られてこないくさい。具体的にはこいつら↓&lt;/p&gt;
			&lt;ul&gt;
				&lt;li&gt; HTTP_X_JPHONE_SMAF&lt;/li&gt;
				&lt;li&gt; HTTP_X_JPHONE_REGION&lt;/li&gt;
				&lt;li&gt; HTTP_X_JPHONE_MSNAME&lt;/li&gt;
				&lt;li&gt; HTTP_X_JPHONE_DISPLAY&lt;/li&gt;
				&lt;li&gt; HTTP_X_JPHONE_UID&lt;/li&gt;
				&lt;li&gt; HTTP_X_JPHONE_COLOR&lt;/li&gt;
			&lt;/ul&gt;
			&lt;p&gt;903SH、910SH で確認（SH 依存かしら…）。公式サイトだと問題ないのかしら？（ないんでしょう、たぶん。使ったこと無かったけど）&lt;/p&gt;
			&lt;p&gt;&lt;a class="keyword" href="http://mobilehacker.g.hatena.ne.jp/keyword/%e7%b0%a1%e5%8d%98%e3%83%ad%e3%82%b0%e3%82%a4%e3%83%b3"&gt;簡単ログイン&lt;/a&gt;できない。&lt;/p&gt;
			&lt;p&gt;おわた。。。&lt;/p&gt;
		&lt;/div&gt;
</content:encoded>
      <dcterms:modified>2007-09-19T11:39:31+09:00</dcterms:modified>
      <guid isPermaLink="false">tag:facere,2006:http://mobilehacker.g.hatena.ne.jp/ziguzagu/20070821/1190169571</guid>
    </item>
    <item>
      <author>nobody@example.com (ziguzagu)</author>
      <dc:creator>nobody@example.com (ziguzagu)</dc:creator>
      <link>http://mobilehacker.g.hatena.ne.jp/ziguzagu/20070919/1190169316</link>
      <description>必要に駆られて、HTTP POSTリクエスト時に送信可能なContent-Bodyの最大長を調べた。

DoCoMo

http://www.nttdocomo.co.jp/service/imode/make/content/flash/feature/index.html

  *  PDC: 5KB

  *  FOMA: 32KB

Webブラウザでの制限については、明確な資料がみあたらない。上記の資料はFlashの話だけど、Webブラウザで動くもの（という解釈でいいのか…？）なので同じ制限になるはず。

KDDI

http://www.au.kddi.com/ezfactory/tec/spec/ezplus.html

こちらもWebブラウザではなく。。JavaでのHTTP POSTの制限。

  *  Java Phase1-2.5: 20,480B

  *  Java Phase3: 40,960B

上記の資料ではHTTP GET/POST
のレスポンス時の最大長が9,000B（約9KB）となっていて、これは下記URLにある、Webブラウザでの制限と同じ約9KBということで、たぶんこのPOSTについてもおんなじじゃないかと期待。

http://www.au.kddi.com/ezfactory/tec/spec/xhtml.html

Softbank

http://developers.softbankmobile.co.jp/dp/tool_dl/web/tech.php
のウェブコンテンツ開発ガイド[HTTP編] - 3.15.12 Content-Lenght より。

  *  10KB

ちゃんと資料がある！ｗ

謎仕様（というか端末の挙動）が多いというのは別にして、Softbankはオープンな資料については豊富で助かる。

まとめ

送信可能な上限にあわせて、少なくとも textarea には全部 maxlength
つけておいたほうがいいかなぁ。。HTTP::MobileAgent に max_post_length みたいのがあってもいいかも。

ちなみに、最大サイズを超えたものを送信しようとした場合は、超えた分だけ切られて最大サイズ分のみ送られる（これってHTTPの仕様でRFCになってたりするのかしら…）。

なんにせよ、マニアックな対応のような。。</description>
      <dc:date>2007-09-19T11:35:16+09:00</dc:date>
      <title> HTTP POSTリクエスト時のContent-Body最大長</title>
      <pubDate>Wed, 19 Sep 2007 11:35:16 +0900</pubDate>
      <content:encoded>
		&lt;div class="section"&gt;
			&lt;p&gt;必要に駆られて、HTTP POSTリクエスト時に送信可能なContent-Bodyの最大長を調べた。&lt;/p&gt;
			&lt;h4&gt; DoCoMo&lt;/h4&gt;
			&lt;p&gt;&lt;a href="http://www.nttdocomo.co.jp/service/imode/make/content/flash/feature/index.html" target="_blank"&gt;http://www.nttdocomo.co.jp/service/imode/make/content/flash/feature/index.html&lt;/a&gt;&lt;/p&gt;
			&lt;ul&gt;
				&lt;li&gt; PDC: 5KB&lt;/li&gt;
				&lt;li&gt; FOMA: 32KB&lt;/li&gt;
			&lt;/ul&gt;
			&lt;p&gt;Webブラウザでの制限については、明確な資料がみあたらない。上記の資料はFlashの話だけど、Webブラウザで動くもの（という解釈でいいのか…？）なので同じ制限になるはず。&lt;/p&gt;
			&lt;h4&gt; KDDI&lt;/h4&gt;
			&lt;p&gt;&lt;a href="http://www.au.kddi.com/ezfactory/tec/spec/ezplus.html" target="_blank"&gt;http://www.au.kddi.com/ezfactory/tec/spec/ezplus.html&lt;/a&gt;&lt;/p&gt;
			&lt;p&gt;こちらもWebブラウザではなく。。JavaでのHTTP POSTの制限。&lt;/p&gt;
			&lt;ul&gt;
				&lt;li&gt; Java Phase1-2.5: 20,480B&lt;/li&gt;
				&lt;li&gt; Java Phase3: 40,960B&lt;/li&gt;
			&lt;/ul&gt;
			&lt;p&gt;上記の資料ではHTTP GET/POST のレスポンス時の最大長が9,000B（約9KB）となっていて、これは下記URLにある、Webブラウザでの制限と同じ約9KBということで、たぶんこのPOSTについてもおんなじじゃないかと期待。&lt;/p&gt;
			&lt;p&gt;&lt;a href="http://www.au.kddi.com/ezfactory/tec/spec/xhtml.html" target="_blank"&gt;http://www.au.kddi.com/ezfactory/tec/spec/xhtml.html&lt;/a&gt;&lt;/p&gt;
			&lt;h4&gt; &lt;a class="keyword" href="http://mobilehacker.g.hatena.ne.jp/keyword/Softbank"&gt;Softbank&lt;/a&gt;&lt;/h4&gt;
			&lt;p&gt;&lt;a href="http://developers.softbankmobile.co.jp/dp/tool_dl/web/tech.php" target="_blank"&gt;http://developers.softbankmobile.co.jp/dp/tool_dl/web/tech.php&lt;/a&gt; のウェブコンテンツ開発ガイド[HTTP編] - 3.15.12 Content-Lenght より。&lt;/p&gt;
			&lt;ul&gt;
				&lt;li&gt; 10KB&lt;/li&gt;
			&lt;/ul&gt;
			&lt;p&gt;ちゃんと資料がある！ｗ&lt;/p&gt;
			&lt;p&gt;謎仕様（というか端末の挙動）が多いというのは別にして、&lt;a class="keyword" href="http://mobilehacker.g.hatena.ne.jp/keyword/Softbank"&gt;Softbank&lt;/a&gt;はオープンな資料については豊富で助かる。&lt;/p&gt;
			&lt;h4&gt; まとめ&lt;/h4&gt;
			&lt;p&gt;送信可能な上限にあわせて、少なくとも textarea には全部 maxlength つけておいたほうがいいかなぁ。。HTTP::MobileAgent に max_post_length みたいのがあってもいいかも。&lt;/p&gt;
			&lt;p&gt;ちなみに、最大サイズを超えたものを送信しようとした場合は、超えた分だけ切られて最大サイズ分のみ送られる（これってHTTPの仕様でRFCになってたりするのかしら…）。&lt;/p&gt;
			&lt;p&gt;なんにせよ、マニアックな対応のような。。&lt;/p&gt;
		&lt;/div&gt;
</content:encoded>
      <dcterms:modified>2007-09-19T11:35:16+09:00</dcterms:modified>
      <guid isPermaLink="false">tag:facere,2006:http://mobilehacker.g.hatena.ne.jp/ziguzagu/20070919/1190169316</guid>
    </item>
    <item>
      <author>nobody@example.com (wtnabe)</author>
      <dc:creator>nobody@example.com (wtnabe)</dc:creator>
      <link>http://mobilehacker.g.hatena.ne.jp/wtnabe/20070728/p1</link>
      <description>グループに登録だけして、てっきり何かメールがくるものと思っていたけどなーんも返ってこないのでよく見たらすぐに誰でも使えるのであった。

最近携帯用のコード書いてないけど、なんかうまいことメールと連動ってできたらいいなというアイディアだけはあったりしてます。

しかしいつも思うけどはてなグループって分かりにくい。</description>
      <dc:date>2007-07-28T00:00:00+09:00</dc:date>
      <title>忘れてた</title>
      <pubDate>Sat, 28 Jul 2007 00:00:00 +0900</pubDate>
      <content:encoded>
		&lt;div class="section"&gt;
			&lt;p&gt;グループに登録だけして、てっきり何かメールがくるものと思っていたけどなーんも返ってこないのでよく見たらすぐに誰でも使えるのであった。&lt;/p&gt;
			&lt;p&gt;最近携帯用のコード書いてないけど、なんかうまいことメールと連動ってできたらいいなというアイディアだけはあったりしてます。&lt;/p&gt;
			&lt;p&gt;しかしいつも思うけどはてなグループって分かりにくい。&lt;/p&gt;
		&lt;/div&gt;
</content:encoded>
      <dcterms:modified>2007-07-28T00:00:00+09:00</dcterms:modified>
      <guid isPermaLink="false">tag:facere,2006:http://mobilehacker.g.hatena.ne.jp/wtnabe/20070728/p1</guid>
    </item>
    <item>
      <author>nobody@example.com (mikihoshi)</author>
      <dc:creator>nobody@example.com (mikihoshi)</dc:creator>
      <link>http://mobilehacker.g.hatena.ne.jp/mikihoshi/20070720/1184902205</link>
      <description>既にid:tokuhiromが大分手を加えてるので、俺は単に作り始めた人になりつつある件。

でもCPANにあげるよ</description>
      <dc:date>2007-07-20T12:30:05+09:00</dc:date>
      <title>Moxyは</title>
      <pubDate>Fri, 20 Jul 2007 12:30:05 +0900</pubDate>
      <content:encoded>
		&lt;div class="section"&gt;
			&lt;p&gt;既に&lt;a href="http://mobilehacker.g.hatena.ne.jp/tokuhirom/"&gt;id:tokuhirom&lt;/a&gt;が大分手を加えてるので、俺は単に作り始めた人になりつつある件。&lt;/p&gt;
			&lt;p&gt;でもCPANにあげるよ&lt;/p&gt;
		&lt;/div&gt;
</content:encoded>
      <dcterms:modified>2007-07-20T12:30:05+09:00</dcterms:modified>
      <guid isPermaLink="false">tag:facere,2006:http://mobilehacker.g.hatena.ne.jp/mikihoshi/20070720/1184902205</guid>
    </item>
    <item>
      <author>nobody@example.com (yappo)</author>
      <dc:creator>nobody@example.com (yappo)</dc:creator>
      <link>http://mobilehacker.g.hatena.ne.jp/yappo/20070720/1184902204</link>
      <description>にする</description>
      <dc:date>2007-07-20T12:30:04+09:00</dc:date>
      <title>おれおれHTTP::MobileAgent作成日記</title>
      <pubDate>Fri, 20 Jul 2007 12:30:04 +0900</pubDate>
      <content:encoded>
		&lt;div class="section"&gt;
			&lt;p&gt;にする&lt;/p&gt;
		&lt;/div&gt;
</content:encoded>
      <dcterms:modified>2007-07-20T12:30:04+09:00</dcterms:modified>
      <guid isPermaLink="false">tag:facere,2006:http://mobilehacker.g.hatena.ne.jp/yappo/20070720/1184902204</guid>
    </item>
  </channel>
</rss>

