<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10japanesefull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom">
    <title>Blog::Trapple::Net</title>
    <link rel="alternate" type="text/html" href="http://blog.trapple.net/" />
    
    <id>tag:blog.trapple.net,2009-04-05://2</id>
    <updated>2009-04-07T16:49:37Z</updated>
    <subtitle>やっぱりPerlが好き。</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Commercial 4.24-ja</generator>

<feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="jp/trapple" /><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-nc-sa/2.0/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/jp/trapple" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="jp/trapple" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry>
    <title>TortoiseSVNをバージョンアップしたら、リポジトリが利用できなくなった</title>
    <link rel="alternate" type="text/html" href="http://blog.trapple.net/2009/04/tortoisesvn.html" />
    <id>tag:blog.trapple.net,2009://2.50</id>

    <published>2009-04-07T16:15:53Z</published>
    <updated>2009-04-07T16:49:37Z</updated>

    <summary>リポジトリを、BDBからFSFSへ、またはFSFSからBDBへ変換するには</summary>
    <author>
        <name>まっすー。</name>
        <uri>http://blog.trapple.net/</uri>
    </author>
    
    <category term="tortoisesvn" label="TortoiseSVN" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="subversion" label="subversion" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.trapple.net/">
        <![CDATA[<p>開発物から資料に至るまであらゆるファイルをTortoiseSVN（Subversion）を利用して管理してるのですが、この手の重要なツールってバージョンアップが怖くてずっと古いまま使いがちです。</p>

<p>今日思い切ってバージョンアップしてみたら、案の定トラブルになりました。</p>

<p>正確には記録がないのですが、 「ra_localなんちゃらエラー：BDB読めません」みたいなエラーで、コミットもできなければリポジトリブラウザすらつかえない始末。</p>

<p>BDBとはBerkeley DBのことで、SubversionではFSFSとBDBのどちらかのファイルシステムでデータを保存することができます。<br />
ところが、file:// プロトコルにおいては互換性の理由から、これが今後FSFSのみの推奨にかわったらしく、今回アップグレードしたTortoiseSVN1.6ではfile:// プロトコルでのBDB利用をサポートしない仕様にかわってしまっていたようです。（<a href="http://tortoisesvn.net/docs/release/TortoiseSVN_ja/tsvn-repository.html">参考</a>）</p>]]>
        <![CDATA[<p>となるとこのDBD形式のリポジトリをFSFSに変換すればいいわけで、その方法をメモに残します。</p>

<p>まずコマンドライン版のSubversionを<a href="http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91">ココ</a>で入手します。</p>

<p>DBDの古いリポジトリをrepos_old、<br />
FSFSの新しいリポジトリをrepos_new、とします。<br />
以下コマンドラインで・・・</p>

<p>repos_oldのダンプを保存します。<br />
<strong>svnadmin dump repos_old &gt; dump.txt</strong></p>

<p>repos_newをFSFSで作成します（これはTortoiseSVNを利用してもいいかな？）。<br />
<strong>svnadmin create repos_new --fs-type fsfs</strong></p>

<p>repos_newにrepos_oldのダンプを読み込みます。<br />
<strong>svnadmin load repos_new &lt; dump.txt</strong></p>

<p>これで最新のTortoiseSVN（現時点1.6）で読み込めるリポジトリに変換されました。<br />
無事復旧できてよかったです。。。</p>

<p>参考<br />
「リポジトリを、BDBからFSFSへ、またはFSFSからBDBへ変換するにはどうしたらよいの?」<br />
<a href="http://subversion.tigris.org/faq.ja.html#bdb-fsfs-convert">http://subversion.tigris.org/faq.ja.html#bdb-fsfs-convert</a></p>]]>
    </content>
</entry>

<entry>
    <title>HTML::Elementの罠</title>
    <link rel="alternate" type="text/html" href="http://blog.trapple.net/2007/03/htmlelement.html" />
    <id>tag:blog.trapple.net,2007://2.46</id>

    <published>2007-03-28T07:49:03Z</published>
    <updated>2007-07-11T06:08:47Z</updated>

    <summary>HTML::TreeBuilderなんかを使うと帰ってくるHTML::Eleme...</summary>
    <author>
        <name>まっすー。</name>
        <uri>http://blog.trapple.net/</uri>
    </author>
    
    <category term="htmlelement" label="HTML::Element" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="htmltreebuilder" label="HTML::TreeBuilder" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="Perl" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.trapple.net/">
        <![CDATA[<p><a href="http://search.cpan.org/perldoc?HTML::TreeBuilder">HTML::TreeBuilder</a>なんかを使うと帰ってくる<a href="http://search.cpan.org/perldoc?HTML::Element">HTML::Element</a>。</p>

<p>なんかメモリーリークしてる・・・と前から思ってたんだけど、やっとわかりました。<br />
このオブジェクトは、内部で循環参照してるので、Destroy時に明示的に$obj->deleteしないとリークの原因になるみたいです。</p>

<p>なんてことはPerldocにしっかりかいてあるわけで・・・ほんと英語が出来ないと不利だなぁ・・・；<br />
http://search.cpan.org/~petek/HTML-Tree-3.23/lib/HTML/Element.pm#%24h-%3Edelete()</p>

<p>CGIなら気にもならないけど、mod_perlや大型クロールプログラムだと致命的。<br />
気をつけないとっ。</p>]]>
        
    </content>
</entry>

<entry>
    <title>Perlちょいメモ</title>
    <link rel="alternate" type="text/html" href="http://blog.trapple.net/2006/07/perl-tips.html" />
    <id>tag:blog.trapple.net,2006://2.43</id>

    <published>2006-07-05T02:02:18Z</published>
    <updated>2006-07-05T02:05:41Z</updated>

    <summary>コマンドラインからPerlライブラリパスを調べる perl -e 'use Co...</summary>
    <author>
        <name>まっすー。</name>
        <uri>http://blog.trapple.net/</uri>
    </author>
    
    <category term="perl" label="Perl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="tips" label="Tips" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.trapple.net/">
        <![CDATA[<p>コマンドラインからPerlライブラリパスを調べる<br />
<p class="code">perl -e 'use Config; print $Config{sitearchexp};'</p></p>

<p>CPANショートカットURI<br />
<p class="code">http://search.cpan.org/perldoc?モジュール名<br />
http://search.cpan.org/perldoc?DBIx::Class</p></p>]]>
        
    </content>
</entry>

<entry>
    <title>MT3.3にアップグレード</title>
    <link rel="alternate" type="text/html" href="http://blog.trapple.net/2006/07/mt33upgrade.html" />
    <id>tag:blog.trapple.net,2006://2.41</id>

    <published>2006-07-01T08:39:37Z</published>
    <updated>2006-07-01T10:44:53Z</updated>

    <summary>※以下のエントリーを投稿後、再構築で悪戦苦闘したので、一度3.2に戻してDBをS...</summary>
    <author>
        <name>まっすー。</name>
        <uri>http://blog.trapple.net/</uri>
    </author>
    
    <category term="movabletype" label="Movable Type" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.trapple.net/">
        <![CDATA[<p>※以下のエントリーを投稿後、再構築で悪戦苦闘したので、一度3.2に戻してDBをSQLiteにConvertしてきました。ロリポップ＋BerkeleyDB＋MT3.3は使い物にならないんじゃないかと思います。（多分MTのメモリ消費量とロリポップのCGIメモリ利用制限のせい）<br />
DBのコンバートにはOgawa::Memorandaさんの<a href="http://as-is.net/blog/archives/001023.html">mt-db-convert.cgi</a>を利用させてもらいました。<br />
mt.cgiと同じディレクトリにアップして実行するだけ、すごく簡単です！すばらしい。</p>

<p>========================<br />
MT3.3が正式リリースされたので、さっそくアップグレードしてみました。<br />
作業概要は以下の通り。</p>

<p>基本的な流れは<a href="http://rebecca.ac/milano/mt/archives/001434.html">Milano::Monolog</a>さんを参考にさせて頂きました。</p>

<p>◆バックアップる<br />
◆mt-config.cgiを書く<br />
◆MT3.3のファイルアップロード<br />
◆パーミッションの設定<br />
◆とりあえず完了<br />
◆TagwireのタグをMTのタグに変換<br />
◆タグクラウドを作る<br />
◆月別アーカイブが生成できない件<br />
</p>]]>
        <![CDATA[<p>◆バックアップる<br />
BerkeleyDBを使っているので、FTPで全部ダウンロードしました。</p>

<p><br />
◆mt-config.cgiを書く<br />
デフォルト以外に追加したのは、ロリポップ用のUmask設定と、今回今まで以上にメモリ食いアプリになった様子なので、一度にリビルドするエントリー数を調節するEntriesPerRebuildを4に設定しました。（今までの10ではエラーが出ました）</p>

<p><br />
◆MT3.3のファイルアップロード<br />
ごそーっと全部上書きUPでOK</p>

<p><br />
◆パーミッションの設定<br />
mt/plugins/StyleCatcher/stylecatcher.cgi<br />
mt/plugins/WidgetManager/widget-manager.cgi<br />
mt/mt-feed.cgi<br />
mt/mt-wizard.cgi</p>

<p><br />
◆とりあえず完了<br />
/mt/mt.cgiにアクセス＆ログインすればとりあえず完了</p>

<p><br />
========================<br />
◆TagwireのタグをMTのタグに変換<br />
エントリーの入力フォームの表示設定をカスタムにしていたせいかもしれませんが、<br />
TAG入力フォームは、エントリー画面下部の「画面の表示設定を変更」で<br />
「すべて」か「タグ」にチェックをいれると出てきました。<br />
当然からっぽ。<br />
<a href="http://as-is.net/blog/archives/001135.html">TagwireのタグをMTタグに変換するツール</a>はTagwireのOgawa::Memorandaさんが公開しています。<br />
mt-keywords2tags.cgiを/mt.cgiと同じディレクトリにアップロードしてURLから実行します。<br />
もともとキーワード欄に入っていたものはそのまま残されるようです。まぁそのままでいいでしょう。</p>

<p>=======================</p>

<p>◆タグクラウドを作る<br />
<a href="http://blogging.from.tv/archives/000111.html">カムイ外伝 MT3.3</a>さんを参考にさせてもらいました。</p>

<p>今回からWidgetという機能が追加されています。<br />
これまでのモジュールの管理をさらに便利にする感じですかね。<br />
使い方はカムイ外伝さんのエントリーを参考にするとして、<br />
これまモジュールで表示していたサイドバーを全部Widgetに変えました。<br />
<$MTWidgetManager name="WidgetLeftMenu"$></p>

<p>※注意<br />
Tagwireを利用していた場合、プラグインを削除するか、管理画面で利用停止にしないとがうく動作しません。Ogawaさんの偉業に尊敬の念をこめつつ、Tagwireを停止しました。</p>

<p>◆月別アーカイブが生成できない件<br />
Widgetの設定が終わると、月別アーカイブの再構築ができなくなっちゃいました。。<br />
出てきたエラーメッセージは以下。<br />
<p class="code">Can't call method "site_path" on an undefined value at lib/MT/Template.pm line 177. at ******mt/plugins/WidgetManager/lib/WidgetManager/Plugin.pm line 29</p></p>

<p>エントリーアーカイブからWidgetManagerを外してもうまくいかない。。<br />
眠いんで、とりあえず、月別アーカイブ自体をはずしました。(･_･、)</p>]]>
    </content>
</entry>

<entry>
    <title>名前空換 - 更新履歴</title>
    <link rel="alternate" type="text/html" href="http://blog.trapple.net/2006/06/namespace-update.html" />
    <id>tag:blog.trapple.net,2006://2.40</id>

    <published>2006-06-29T00:49:28Z</published>
    <updated>2006-07-01T08:11:30Z</updated>

    <summary>名前空換 名前空換について =最新の更新====================...</summary>
    <author>
        <name>まっすー。</name>
        <uri>http://blog.trapple.net/</uri>
    </author>
    
    <category term="web20" label="WEB2.0" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="yahoo" label="Yahoo!" 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://blog.trapple.net/">
        <![CDATA[<p><a href="http://www.trapple.net/namespace/" target="_blank">名前空換</a><br />
<a href="http://blog.trapple.net/2006/05/namaekukan.html">名前空換について</a></p>

<p>=最新の更新==============================<br />
2006年06月29日 - alcと連携<br />
検索結果にイマイチ信用がない場合は、さらに英和で調べたくなるです。<br />
そんな時は検索結果の<img alt="icon_alc.gif" src="http://blog.trapple.net/img/icon_alc.gif" width="15" height="14" alt="alcアイコン"/>から直接翻訳しましょう。</p>

<p><br />
=更新履歴================================<br />
2006年06月29日 - alcと連携<br />
2006年05月27日 - 公開開始</p>]]>
        
    </content>
</entry>

<entry>
    <title>MT3.3b1 - タグ検索結果のURLをシンプルに</title>
    <link rel="alternate" type="text/html" href="http://blog.trapple.net/2006/06/mt33b1-tag-search.html" />
    <id>tag:blog.trapple.net,2006://2.39</id>

    <published>2006-06-09T09:00:35Z</published>
    <updated>2007-07-01T16:26:34Z</updated>

    <summary>これまでmt-xsearch + Tagwireでタグの動的検索を実現していたの...</summary>
    <author>
        <name>まっすー。</name>
        <uri>http://blog.trapple.net/</uri>
    </author>
    
    <category term="mt33b1" label="MT3.3b1" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="movabletype" label="Movable Type" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.trapple.net/">
        <![CDATA[<p>これまでmt-xsearch + Tagwireでタグの動的検索を実現していたのですが、MT3.3b1では標準のmt-search.cgiがタグ検索をサポートしているようです。</p>

<p>クエリストリングスは以下でした。<br />
http://yourhost/mt/mt-search.cgi?tag=foo&blog_id=1</p>

<p>このタグ検索結果URLを<br />
http://myhost/tag/foo<br />
に変えるには、blogのルート（この場合http://myhost/直下）に.htaccessを設置します。<br />
内容は以下で多分。（blog_idは確認して正しいものに直す）<br />
<p class="code">RewriteEngine on<br />
RewriteRule ^tag/(.*)$ http://myhost/mt/mt-search.cgi?blog_id=1&tag=$1 [P,L]</p></p>

<p>テンプレート側は以下のように書き換えればいいんじゃないかと思います。<br />
<p class="code">&lt;a href=&quot;&lt;$MTBlogURL$&gt;tag/&lt;$MTTagName encode_url=&quot;1&quot;&gt;&quot;&gt;&lt;$MTTagName&gt;&lt;/a&gt;</p></p>

<p>あとどうやらmt-searchのデフォルトは大文字小文字を区別しないようです。標準のTagging機能は大文字小文字を区別しているので、ちょっと注意が必要かもしれません。</p>]]>
        <![CDATA[<p>※2006/07/01追記<br />
Tagが「Movable Type」など半角スペースを含む場合に、上記やり方だとサーバエラーができます。<br />
以前に<a href="http://blog.trapple.net/2006/05/encode_urlplus_tagwire.html">こちらのエントリー</a>で紹介した現象と全く同じで、解決方法も同じなんだろうけど、TagwireをOFFにしてしまっているので、encode_url_plusをなんとかしなければいけないです。</p>

<p>とりあえず、Ogawa::Memorandaさんが公開している、<a href="http://as-is.net/wiki/TagSupplementals_Plugin/ja">TagSupplementals　Plugin</a>の37行目あたりに<br />
<p class="code">MT::Template::Context-&gt;add_global_filter('encode_urlplus' =&gt; \&amp;encode_urlplus);</p></p>

<p>最後の1;の前くらいに<br />
<p class="code">sub encode_urlplus {<br />
　my $s = $_[0];<br />
　return $s unless $_[1];<br />
　require MT::Util;<br />
　$s =~ tr/ /+/;<br />
　MT::Util::encode_url($s);<br />
}</p><br />
を追加してアップすれば、encode_url_plusが使えます。</p>

<p>この場合テンプレート側は以下のように書き換えます。<br />
<p class="code">&lt;a href=&quot;&lt;$MTBlogURL$&gt;tag/&lt;$MTTagName encode_urlplus=&quot;1&quot;&gt;&quot;&gt;&lt;$MTTagName&gt;&lt;/a&gt;</p></p>]]>
    </content>
</entry>

<entry>
    <title>MT3.3ベータ１試す</title>
    <link rel="alternate" type="text/html" href="http://blog.trapple.net/2006/06/mt33.html" />
    <id>tag:blog.trapple.net,2006://2.38</id>

    <published>2006-06-09T08:03:57Z</published>
    <updated>2006-07-01T08:11:30Z</updated>

    <summary>先日よりMovable Typeの3.3ベータテストが始まりました。 すでにOg...</summary>
    <author>
        <name>まっすー。</name>
        <uri>http://blog.trapple.net/</uri>
    </author>
    
    <category term="mt33b1" label="MT3.3b1" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="movabletype" label="Movable Type" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="rightfields" label="RightFields" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.trapple.net/">
        <![CDATA[<p>先日よりMovable Typeの3.3ベータテストが始まりました。<br />
すでに<a href="http://as-is.net/blog/archives/001134.html">Ogawa::Memoranda</a>さんや<a href="http://www.koikikukan.com/archives/2006/06/03-025525.php">小粋空間</a>さんで大方の変更点があげられています。<br />
特に気を引くのはやはりTagging機能でしょうか。<br />
この辺りの評価はまだ使い込んでいないので出来ませんが、とりあえず入力支援はすばらしい！<br />
<img src="/img/mt33b1_tagging.gif" alt="Tag入力フィールド" /></p>

<p>あと一点気が付いた修正で大きいなと思ったのが、カテゴリーのパス名を自由に決めれるようになったこと。<br />
メニューのカテゴリーから詳細をみると、以下のようにファイル名（パス名）入力フィールドが追加されています。<br />
<img src="/img/mt33b1_category.gif" alt="カテゴリー詳細入力フィールド" /><br />
相変わらずカテゴリーの順番を明示的にする機能はないけど、にしても、ちょっとこれはうれしいです。</p>

<p>最後に最も気になるのはやっぱりBigPAPIが使えなくなりそう（未確認）ってことかなぁ。。<br />
RightFields他、一気にいろんなPluginが使えなくなってしまうので、作者の対応が早いといいんだけどなーと思います。</p>]]>
        
    </content>
</entry>

<entry>
    <title>PDFJを使ってメールにPDFを添付する</title>
    <link rel="alternate" type="text/html" href="http://blog.trapple.net/2006/05/pdfjpdf.html" />
    <id>tag:blog.trapple.net,2006://2.37</id>

    <published>2006-05-30T11:51:28Z</published>
    <updated>2006-07-01T08:11:30Z</updated>

    <summary>やっとPerlのエントリーが書けます。 Perlで日本語を含むPDFを生成する場...</summary>
    <author>
        <name>まっすー。</name>
        <uri>http://blog.trapple.net/</uri>
    </author>
    
    <category term="mimelite" label="MIME::Lite" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="pdfj" label="PDFJ" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="Perl" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.trapple.net/">
        <![CDATA[<p>やっとPerlのエントリーが書けます。</p>

<p>Perlで日本語を含むPDFを生成する場合に便利そうなモジュールに<a href="http://hp1.jonex.ne.jp/~nakajima.yasushi/" target="_blank">中島 靖さん作成のPDFJ</a>というのがあります。</p>

<p>PDF自体の生成の方法は中島さんのサイトに多数サンプルがあるので割愛して、その生成したPDFをメールに添付して送る方法をまとめます。</p>]]>
        <![CDATA[<p>メール送信側のmoduleには<a href="http://search.cpan.org/~yves/MIME-Lite-3.01/lib/MIME/Lite.pm" target="_blank">MIME::Lite</a>を使います。</p>

<p>PDFドキュメントオブジェクト$docからPDFの内容をスカラ変数に読み出します。</p>

<p class="code">my $pdf;<br />
open my $fh, '&gt;', \$pdf;<br />
$doc-&gt;print($fh);<br />
close $fh;<br />
</p>

<p>MIME::Liteオブジェクトを「multipart/mixed」で生成します。</p>

<p class="code">my $ENTITY = MIME::Lite-&gt;new(<br />
&nbsp;&nbsp;From	=&gt;'from@trapple.net',<br />
&nbsp;&nbsp;To		=&gt;'to@trapple.net',<br />
&nbsp;&nbsp;Subject	=&gt;'メールタイトル',<br />
&nbsp;&nbsp;Type    =&gt;	'multipart/mixed',<br />
);</p>

<p>メール本文をattachします。</p>

<p class="code">$ENTITY-&gt;attach(<br />
&nbsp;&nbsp;TYPE 	=&gt; 'text/plain; charset=&quot;iso-2022-jp&quot;',<br />
&nbsp;&nbsp;Data	=&gt;	$mail_body<br />
);</p>

<p>先に作った$pdfをattachします。<br />
$pdfはファイルハンドルではなく、スカラーなので、FH=&gt;$pdfではなくDataを使います。<br />
これにはまりました。</p>

<p class="code">$ENTITY-&gt;attach(<br />
&nbsp;&nbsp;Type     		=&gt; 'BINARY',<br />
&nbsp;&nbsp;Filename 		=&gt; 'sample.pdf',<br />
&nbsp;&nbsp;Encoding 		=&gt; 'base64',<br />
&nbsp;&nbsp;Disposition 	=&gt; 'attachment',<br />
&nbsp;&nbsp;Data			=&gt; $pdf,<br />
);<br />
$ENTITY-&gt;send;</p>

<p>もっとスマートな方法ご存知の方、ご指摘お願い致します。</p>]]>
    </content>
</entry>

<entry>
    <title>名前空換</title>
    <link rel="alternate" type="text/html" href="http://blog.trapple.net/2006/05/namaekukan.html" />
    <id>tag:blog.trapple.net,2006://2.36</id>

    <published>2006-05-27T07:31:20Z</published>
    <updated>2006-07-01T08:58:12Z</updated>

    <summary>ウェブクリエイター向け、ニッチで微妙なWEB2.0(？)アプリ、作ってみました。...</summary>
    <author>
        <name>まっすー。</name>
        <uri>http://blog.trapple.net/</uri>
    </author>
    
    <category term="web20" label="WEB2.0" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="yahoo" label="Yahoo!" 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://blog.trapple.net/">
        <![CDATA[<p>ウェブクリエイター向け、ニッチで微妙なWEB2.0(？)アプリ、作ってみました。</p>

<p><a href="http://www.trapple.net/namespace/" target="_blank" title="名前空換"><img src="http://img.simpleapi.net/small/http://www.trapple.net/namespace/" alt="名前空換" class="thumbnail"/></a><a href="http://www.trapple.net/namespace/" target="_blank" title="名前空換">名前空換</a><br />サイトのディレクトリ名やファイル名を決める時、日本語を英語に変えたりするのに案外悩んだりしませんか？わたしは悩みます。辞書などで調べても、しっくりこなかったり。</p>

<p>そんなときはこの「名前空換」でページ名にしたい日本語を入力してみてください。<br />
「名前空換」は実際にインターネット上で使われているURLを解析して、最適なファイル名からイマイチなファイル名までランク順に教えてくれます。</p>

<p>市場の狭い微妙なアイディアですが、案外使える結果がかえってくる（こともある）ので、役に立つといいですね。</p>]]>
        <![CDATA[<p>実際にどうやってURLを拾ってくるかというと、Yahoo!のウェブ検索Webサービスを利用しています。</p>

<p><a href="http://developer.yahoo.co.jp/search/web/V1/webSearch.html" target="_blank">http://developer.yahoo.co.jp/search/web/V1/webSearch.html</a></p>

<p>検索結果をAPIで受け取り、その結果のURLからドメインやどうでもいい言葉をある程度抜き取って、残りを結果単語として統計して返してるだけなんですけど、まぁそれなりに期待してる結果がかえってきてるかなぁと。（ダメダメな場合もありますけど）</p>

<p>ちなみにYahoo!ウェブ検索Webサービスの仕様なんですけど、同一IPからのリクエストは24時間で10000リクエストまでとなっています。10000回超えたらごめんなさい。</p>]]>
    </content>
</entry>

<entry>
    <title>Text Link - Firefox Extension</title>
    <link rel="alternate" type="text/html" href="http://blog.trapple.net/2006/05/text-link-firefox-extension.html" />
    <id>tag:blog.trapple.net,2006://2.35</id>

    <published>2006-05-22T06:01:52Z</published>
    <updated>2006-07-01T08:11:30Z</updated>

    <summary>Text Link テキストだけの（Aタグの記述されていない）にダブルクリックで...</summary>
    <author>
        <name>まっすー。</name>
        <uri>http://blog.trapple.net/</uri>
    </author>
    
    <category term="extension" label="Extension" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="firefox" label="Firefox" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.trapple.net/">
        <![CDATA[<p><a href="http://piro.sakura.ne.jp/xul/_textlink.html" target="_blank">Text Link</a></p>

<p>テキストだけの（Aタグの記述されていない）にダブルクリックで遷移できるようにするもの。<br />
ttp://www.google.com や ｈｔｔｐ：／／ｗｗｗ．ｇｏｏｇｌｅ．ｃｏ．ｊｐ／などもダブルクリックでOkです。<br />
</p>]]>
        
    </content>
</entry>

<entry>
    <title>Dictionary Tooltip日本語版 - Firefox Extension</title>
    <link rel="alternate" type="text/html" href="http://blog.trapple.net/2006/05/dictionary-tooltip-firefox-ext.html" />
    <id>tag:blog.trapple.net,2006://2.34</id>

    <published>2006-05-22T05:49:40Z</published>
    <updated>2006-07-01T08:11:30Z</updated>

    <summary>Dictionary Tooltip　０．９日本語版 翻訳ツール 数ある翻訳用E...</summary>
    <author>
        <name>まっすー。</name>
        <uri>http://blog.trapple.net/</uri>
    </author>
    
    <category term="extension" label="Extension" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="firefox" label="Firefox" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.trapple.net/">
        <![CDATA[<p><a href="http://bushwhacker.seesaa.net/category/873425.html" target="_blank">Dictionary Tooltip　０．９日本語版</a></p>

<p>翻訳ツール<br />
数ある翻訳用Extensionの中から、やっと本命を見つけたかもです。<br />
デフォルト設定では、英単語をダブルクリックすると翻訳ウィンドウが表示れます。</p>

<p><a href="http://blog.trapple.net/img/fx-dic.gif"><img alt="fx-dic.gif" src="http://blog.trapple.net/img/fx-dic-thumb.gif" width="200" height="108" /></a></p>

<p>ダブルクリックではちょっとあれなんで、ctr+ダブルクリックで翻訳、と設定してみました。<br />
辞書も英辞郎やgoo、バビロンなど色々選べます。great!!</p>

<p><br />
</p>]]>
        
    </content>
</entry>

<entry>
    <title>Cache Status - Firefox Extensioin</title>
    <link rel="alternate" type="text/html" href="http://blog.trapple.net/2006/05/firefox-extensioin-cache-statu.html" />
    <id>tag:blog.trapple.net,2006://2.33</id>

    <published>2006-05-22T05:35:12Z</published>
    <updated>2007-04-23T11:37:32Z</updated>

    <summary>Web Designing vol.6に特集されていたので、その中からいくつかイ...</summary>
    <author>
        <name>まっすー。</name>
        <uri>http://blog.trapple.net/</uri>
    </author>
    
    <category term="extension" label="Extension" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="firefox" label="Firefox" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.trapple.net/">
        <![CDATA[<p><a href="http://book.mycom.co.jp/wd/index.html" target="_blank">Web Designing vol.6</a>に特集されていたので、その中からいくつかインストールしました。</p>

<p><a href="https://addons.mozilla.org/firefox/1881/" target="_blank">Cache Status</a><br />
Firefoxはブラウジング中にどんどんメモリを使いまくります。バグではなくて、キャッシュする仕様らしいんですが、長時間ブラウジングしてると、メモリ使い切ってスワップを利用しだすので、とたんに重くなります。<br />
それを解消（メモリを開放）するエクステンションです。</p>

<p><img src="/img/cachestatus.gif" alt="画面表示"/></p>

<p><br />
</p>]]>
        
    </content>
</entry>

<entry>
    <title>Hamachi</title>
    <link rel="alternate" type="text/html" href="http://blog.trapple.net/2006/05/hamachi.html" />
    <id>tag:blog.trapple.net,2006://2.32</id>

    <published>2006-05-21T13:23:47Z</published>
    <updated>2006-07-01T08:11:30Z</updated>

    <summary>NETAFUL - 「Hamachi」でネット越しにiTunesのライブラリを共...</summary>
    <author>
        <name>まっすー。</name>
        <uri>http://blog.trapple.net/</uri>
    </author>
    
    <category term="hamachi" label="Hamachi" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="vpn" label="VPN" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="itunes" label="iTunes" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="mtdaap" label="mt-daap" 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://blog.trapple.net/">
        <![CDATA[<p><a href="http://netafull.net/ipod/013721.html" target="_blank">NETAFUL - 「Hamachi」でネット越しにiTunesのライブラリを共有</a> で紹介のHamachi</p>

<p><a href="http://www.hamachi.cc/" target="_blank">http://www.hamachi.cc/</a></p>

<p>簡単にVPNが構築できるフリーソフトです。<br />
我が家では玄箱＠debian＋mt-daapで家庭内mp3共有をしているので、これを使えば自宅の玄箱～オフィスPCで共有が出来るかも、と試してみました。</p>]]>
        <![CDATA[<p>まずはオフィスPC（Windows XP）へHamachiのインストール。<br />
ダウンロードはこちらから　<a href="http://www.hamachi.cc/download" target="_blank">http://www.hamachi.cc/download</a><br />
ほんと、説明が全く必要のないくらいに無事終了。<br />
インストーラーでインストールして再起動したらネットワークのプロパティに仮想ネットワーク接続が一つ追加されていました。</p>

<p>次に玄箱。<br />
こちらはダウンロードしたファイルを解凍するとすでにコンパイル済みの模様。<br />
次にmake installで以下のエラーが！</p>

<p class="code"># make install<br />
<br />
Copying hamachi into /usr/bin ..<br />
Creating hamachi-init symlink ..<br />
Compiling tuncfg ..<br />
Copying tuncfg into /sbin ..<br />
strip: Unable to recognise the format of the input file /sbin/tuncfg<br />
install: strip failed<br />
make: *** [install] Error 1</p>

<p>うーん、どうもサポートのやり取りを読んだ限りでは、linux版はまだPPCをサポート出来ていないようです。。<br />
玄箱のCPUはPPCなのでした。残念<br />
<a href="http://forums.hamachi.cc/viewtopic.php?t=4304&highlight=ppc" target="_blank">http://forums.hamachi.cc/viewtopic.php?t=4304&highlight=ppc</a></p>

<p>というわけで、「玄箱+mt-daap+hamachiでどこでもiTunes共有」はしばらく待ちになってしまいましたが、他にもいろんな使い道があるだろうし、フリーで（Winなら）インストールもすごく簡単！これは期待です。</p>]]>
    </content>
</entry>

<entry>
    <title>Javascriptのソート</title>
    <link rel="alternate" type="text/html" href="http://blog.trapple.net/2006/05/javascript.html" />
    <id>tag:blog.trapple.net,2006://2.24</id>

    <published>2006-05-17T06:34:16Z</published>
    <updated>2006-07-01T08:11:30Z</updated>

    <summary>JavascriptのArrayオブジェクトに存在するsortメソッドのより詳し...</summary>
    <author>
        <name>まっすー。</name>
        <uri>http://blog.trapple.net/</uri>
    </author>
    
    <category term="javascript" label="JavaScript" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.trapple.net/">
        <![CDATA[<p>JavascriptのArrayオブジェクトに存在するsortメソッドのより詳しい使い方について、理解が足りていないので、メモ。</p>

<p>以下が単純な配列のソート</p>

<p class="code">var nums = [ 5, 4, 2, 7, 1, 6, 3 ];<br />
nums.sort();<br />
alert(nums);　//結果「1234567」</p>

<p>じゃぁオブジェクトの、あるプロパティ値を比較してソートするには？</p>

<p><br />
</p>]]>
        <![CDATA[<p class="code">var objs = [ <br />
	{ "name" : 'beyonce', "age" : 24 },<br />
	{ "name" : 'aiko', "age" : 18 },<br />
	{ "name" : 'celine', "age" : 20 }<br />
];<br />
<br />
objs.sort(function(a,b){<br />
  return b.age - a.age;<br />
});<br />
<br />
for(var i = 0; i < objs.length; i++){<br />
  alert(objs[i].name);<br />
}<br />
// beyonce, celine, aikoの順に表示されます
</p>

<p>sort()メソッドの引数に比較用の関数をつっこんであげます。<br />
関数の結果が正の値であれば降順、不の値であれば昇順にオブジェクトがソートされます。</p>

<p>文字列でソートしたい場合は比較関数部分が変わって</p>

<p class="code">objs.sort( function(a,b){<br />
  return (a.name > b.name) ? 1 : -1;<br />
});<br />
//aiko, beyonce, celineの順に表示されます<br />
</p>]]>
    </content>
</entry>

<entry>
    <title>encode_urlplus - Tagwire</title>
    <link rel="alternate" type="text/html" href="http://blog.trapple.net/2006/05/encode-urlplus-tagwire.html" />
    <id>tag:blog.trapple.net,2006://2.23</id>

    <published>2006-05-16T13:11:49Z</published>
    <updated>2006-07-01T08:11:29Z</updated>

    <summary>Tagwire + MT-XSearchの組合せにて、半角スペースを含むタグだと...</summary>
    <author>
        <name>まっすー。</name>
        <uri>http://blog.trapple.net/</uri>
    </author>
    
    <category term="movabletype" label="Movable Type" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="plugin" label="Plugin" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="tagwire" label="Tagwire" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="wiki" label="Wiki" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.trapple.net/">
        <![CDATA[<p>Tagwire + MT-XSearchの組合せにて、半角スペースを含むタグだとエラー（Bad Request）になることがわかり急遽しらべてみると、どうやらMT-Xsearchのデフォルトのdelimiterが半角スペースであることが原因のようです。</p>

<p>Tagwire本家<a href="http://as-is.net/blog/archives/001020.html#c1232" target="_blank">Ogawa::Memorandaさんのエントリーコメント欄</a>に</p>

<p class="blockquote">tagにスペースを含む文字を使う場合、MT-XSearchがうまくうごいてくれない問題が…。
drryさんのところでも指摘されてますけど、&amp;delimiter=,をパラメータとして渡してやるとうまくいきました。</p>

<p>と同内容やり取りがあったので、mt-xsearch.cgiのクエリーパラメータに「&amp;delimiter=,」を追加で解決と思いきや、それでもうまくいかない！</p>

<p>どうやらMTのフィルターであるencode_urlは半角スペースを%20に変換してるようで、これが「+」に変換されないといけないようです。<br />
で、よく見たらTagwire自体にencode_urlplusというフィルターがありました。<br />
これを&lt;$MTTag encode_urlplus="1"$&gt;と付けてあげて解決！<br />
なかなか気が付かなくて、危うく自分で作りそうでした・・。（考えてた名前もencode_url_plus）</p>]]>
        <![CDATA[<p>（2005/5/17追記）</p>

<p>以前Tagwire関係を調べた時はあったかな～？という感じですが、Tagwire関係の内容をwikiに別立てして下さったようです。<br />
これからTagwireを導入される方はこちらを参考にされるとよいと思われます。</p>

<p><a href="http://as-is.net/wiki/Tagwire_Plugin/ja" target="_blank">Tagwire Plugin/ja - Ogawa::Wiki</a></p>

<p>やっぱりBlogは速報性は強いけど、蓄積していくと整理するのが難しいですね。<br />
ある程度Blogで活性化して、まとまったらWiki。適材適所です。</p>]]>
    </content>
</entry>

</feed>

