<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>ぢぢらぶろぐ</title>
	<atom:link href="http://zumomo.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://zumomo.org</link>
	<description>酔っ払いプログラマの日常。 ええ単なるぢぢらなんです</description>
	<lastBuildDate>Mon, 08 Feb 2010 12:45:50 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://zumomo.org/feed/" />
		<item>
		<title>zumomo.orgへようこそ</title>
		<link>http://zumomo.org/archives/111</link>
		<comments>http://zumomo.org/archives/111#comments</comments>
		<pubDate>Sun, 16 Nov 2003 15:00:30 +0000</pubDate>
		<dc:creator>katamari</dc:creator>
				<category><![CDATA[更新情報など]]></category>

		<guid isPermaLink="false">http://localhost/zumomo.org_new/?p=155</guid>
		<description><![CDATA[ここは、katamari が思い立ったプログラミングがらみのことやその他のことなどをだらだら綴るサイトです。 Table of Contents ぢぢらぶろぐ 当サイトのメインコンテンツ。 del.icio.us ぶろぐ [...]]]></description>
			<content:encoded><![CDATA[<div class="announcement_post"><div id="welcome">
ここは、katamari が思い立ったプログラミングがらみのことやその他のことなどをだらだら綴るサイトです。</p>
<h4>Table of Contents</h4>
<dl>
<dt><a href="/" class="liinternal">ぢぢらぶろぐ</a></dt>
<dd>当サイトのメインコンテンツ。</dd>
<dt><a href="/delicious/" class="liinternal">del.icio.us</a></dt>
<dd>ぶろぐほどでもないネタはこちらに。</dd>
<dt><a href="/neta/" class="liinternal">小ネタ</a></dt>
<dd>PHPでいろいろ遊んでみた。</dd>
<dt><a href="/iappli/" class="liinternal">iアプリ</a></dt>
<dd>役に立たないアプリを公開しています。携帯からどうぞ。</dd>
<dt><a href="/about/" class="liinternal">About</a></dt>
<dd>当サイトについて。お問い合わせ等もこちらから。</dd>
</dl>
</div>
<p><br clear="all" /></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://zumomo.org/archives/111/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://zumomo.org/archives/111" />
	</item>
		<item>
		<title>IMM-Glossary を日本語に対応させる修正</title>
		<link>http://zumomo.org/archives/147</link>
		<comments>http://zumomo.org/archives/147#comments</comments>
		<pubDate>Tue, 17 Jun 2008 15:36:55 +0000</pubDate>
		<dc:creator>katamari</dc:creator>
				<category><![CDATA[ブログ]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[IMM-Glossary]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://zumomo.org/?p=147</guid>
		<description><![CDATA[さてZooTube用に入れてみた、WordPress向け 用語集プラグインIMM-Glossary ですが、このままではいくつか問題があります： ある用語が別の用語を包含していると、化ける場合がある 例：「ネズミ目」と「 [...]]]></description>
			<content:encoded><![CDATA[<p>さて<a href="http://zootube.jp/" class="liexternal">ZooTube</a>用に<a href="http://zumomo.org/archives/143/" class="liinternal">入れてみた</a>、<a href="http://wordpress.org/" class="liwp">WordPress</a>向け 用語集プラグイン<a href="http://www.internetmarketingmonitor.org/word-press-plugins/imm-glossary-wordpress-plugin" class="liexternal">IMM-Glossary</a> ですが、このままではいくつか問題があります：</p>
<ol>
<li>ある用語が別の用語を包含していると、化ける場合がある<br />
例：「ネズミ目」と「目」という用語がある場合、うまく用語にマッチせず、かつ%%%という変な文字列が挿入されることがある↓<br />
<a href="http://zumomo.org/wp-content/uploads/2008/06/imm2-before11.gif" class="liimagelink"><img class="alignnone size-medium wp-image-151" title="imm2-before11" src="http://zumomo.org/wp-content/uploads/2008/06/imm2-before11-300x200.gif" alt="%%%が挿入される" width="300" height="200" /></a> ←変な%%%が</li>
<li>文中の用語がリンクされない場合がある（空白や記号で挟まれていないと発症）<br />
<a href="http://zumomo.org/wp-content/uploads/2008/06/imm2-before22.gif" class="liimagelink"><img class="alignnone size-medium wp-image-152" title="imm2-before22" src="http://zumomo.org/wp-content/uploads/2008/06/imm2-before22-300x200.gif" alt="「固有種」は用語にあるが" width="300" height="200" /></a> ←「固有種」も用語にあるが</li>
<li>これは仕方ないんだけど、用語リストが正しくあいうえお順ではなく、文字コード順になる<br />
<a href="http://zumomo.org/wp-content/uploads/2008/06/imm2-before3.gif" class="liimagelink"><img class="alignleft size-medium wp-image-156" title="imm2-before3" src="http://zumomo.org/wp-content/uploads/2008/06/imm2-before3-200x300.gif" alt="文字コード順に並んでる" width="200" height="300" /></a> ←「ねずみもく」の次が「あしゅ」</li>
</ol>
<p>これらを解消するために、 <strong>IMM-Glossary.php</strong> を下記のように修正しました。</p>
<p><span id="more-147"></span></p>
<p>適用したのは IMM-Glossary ver.2.1.1 です。</p>
<h4>その１：日本語キーワードは非単語文字で区切らない</h4>
<p>そもそも英語など１バイト系文字を前提としているため、用語は \W （空白などの非単語文字（0-9a-zA-Z_でない文字））で区切られることになっています。<br />
日本語の場合それでは不都合なので、<strong>1246行目</strong>付近と<strong>1248行目</strong>付近、 \W でマッチしているところを [^%] でマッチさせるよう修正します。<br />
<code><br />
<del>// $Content = preg_replace ( '#(<strong>\W</strong>)(' . preg_quote ( $Term['Title'] , '#' ) . ')(<strong>\W</strong>)#Ui' , '${1}%%%${2}%%%${3}' , $Content , $Limit ) ;</del><br />
$Content = preg_replace ( '#(<strong>[^%]</strong>)(' . preg_quote ( $Term['Title'] , '#' ) . ')(<strong>[^%]</strong>)#Ui' , '${1}%%%${2}%%%${3}' , $Content , $Limit ) ;<br />
<del>// $Private['#(<strong>\W</strong>)%%%(' . preg_quote ( $Term['Title'] , '#' ) . ')%%%(<strong>\W</strong>)#Ui'] = $Link ;</del><br />
$Private['#(<strong>[^%]</strong>)%%%(' . preg_quote ( $Term['Title'] , '#' ) . ')%%%(<strong>[^%]</strong>)#Ui'] = $Link ;</p>
<p></code></p>
<p>直りました。</p>
<p><a href="http://zumomo.org/wp-content/uploads/2008/06/imm2-after1.gif" class="liimagelink"><img class="alignnone size-medium wp-image-154" title="imm2-after1" src="http://zumomo.org/wp-content/uploads/2008/06/imm2-after1-300x200.gif" alt="直ったみたい" width="300" height="200" /></a> ←直ったみたい<br />
<a href="http://zumomo.org/wp-content/uploads/2008/06/imm2-after2.gif" class="liimagelink"><img class="alignnone size-medium wp-image-153" title="imm2-after2" src="http://zumomo.org/wp-content/uploads/2008/06/imm2-after2-300x200.gif" alt="%%%は直ったけど、用語リンクが変" width="300" height="200" /></a> ←「固有種」もＯＫだけど</p>
<p>さて、これをすると１つ新たな障害が。たとえば上図例でいうと「サル目」「目」という用語がある場合、より長い用語（「サル目」）にマッチしてほしいところ、用語を登録した順序によっては（先に登録した用語を優先的に変換するようなので）「目」にマッチしてしまう場合があります。</p>
<p>これを修正するため、DBよりデータ取得する際にID順ではなく文字列長降順で取得するよう変更。<br />
用語数が多くなったらパフォーマンスに問題出るかもしれませんが、とりあえず。</p>
<p><strong>1118行目</strong>:<br />
<code><br />
<del>// $Temporary = IMM_Glossary_MySQL_Records_Get ( 'DISTINCT `Title`' , $GLOBALS['IMM-Glossary']['Variables']['Table'] , '' , '<strong>`ID` ASC</strong>' , '' ) ;</del><br />
$Temporary = IMM_Glossary_MySQL_Records_Get ( 'DISTINCT `Title`' , $GLOBALS['IMM-Glossary']['Variables']['Table'] , '' , '<strong>LENGTH(`title`) DESC</strong>' , '' ) ;<br />
</code></p>
<p>これで正しく表示されるようになりました。</p>
<p><a href="http://zumomo.org/wp-content/uploads/2008/06/imm2-after2b.gif" class="liimagelink"><img class="alignnone size-medium wp-image-155" title="imm2-after2b" src="http://zumomo.org/wp-content/uploads/2008/06/imm2-after2b-300x200.gif" alt="これでOK" width="300" height="200" /></a> ←これでＯＫ</p>
<h4>用語リストをあいうえお順に（運用でカバー）</h4>
<p>これは気にしなくてもいい（ほっといてもいい）のかもしれませんが。</p>
<p>半分運用でカバーすることにします。つまり、<strong>用語説明の先頭に必ずふりがなを入れる</strong>ことにします。ZooTubeはちびっこも見るかもしれないので、ふりがな必須にするのはいいことだ。<br />
それで、並び順は用語の昇順ではなく用語説明の昇順とすることにします。</p>
<p><strong>561行目</strong>:<br />
<code><br />
<del>// $Terms = IMM_Glossary_MySQL_Records_Get ( '*' , $GLOBALS['IMM-Glossary']['Variables']['Table'] , '' , '`<strong>Title</strong>` ASC' , $Limit ) ;</del><br />
$Terms = IMM_Glossary_MySQL_Records_Get ( '*' , $GLOBALS['IMM-Glossary']['Variables']['Table'] , '' , '`<strong>Definition</strong>` ASC' , $Limit ) ;<br />
</code></p>
<p><strong>752行目</strong>:<br />
<code><br />
<del>// $Terms = IMM_Glossary_MySQL_Records_Get ( '*' , $GLOBALS['IMM-Glossary']['Variables']['Table'] , '' , '`<strong>Title</strong>` ASC' , $Limit ) ;</del><br />
$Terms = IMM_Glossary_MySQL_Records_Get ( '*' , $GLOBALS['IMM-Glossary']['Variables']['Table'] , '' , '`<strong>Definition</strong>` ASC' , $Limit ) ;<br />
</code></p>
<p>これで、あいうえお順に並ぶようになりました。</p>
<p><a href="http://zumomo.org/wp-content/uploads/2008/06/imm2-after3.gif" class="liimagelink"><img class="alignleft size-medium wp-image-157" title="imm2-after3" src="http://zumomo.org/wp-content/uploads/2008/06/imm2-after3-200x300.gif" alt="あいうえお順に並んだ" width="200" height="300" /></a> ←あしゅ＜いくじのう＜うしもく、OK</p>
<p>おわり。</p>
<p>…と、<br />
以上、たいした修正でもないのに、意味なく気合い入れて書いてみました。<br />
現時点で日本語情報があまりなかったので。おすすめプラグインですよ。</p>
]]></content:encoded>
			<wfw:commentRss>http://zumomo.org/archives/147/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://zumomo.org/archives/147" />
	</item>
		<item>
		<title>WordPressプラグイン、IMM-Glossaryを使ってみた</title>
		<link>http://zumomo.org/archives/143</link>
		<comments>http://zumomo.org/archives/143#comments</comments>
		<pubDate>Mon, 16 Jun 2008 23:57:58 +0000</pubDate>
		<dc:creator>katamari</dc:creator>
				<category><![CDATA[ブログ]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[IMM-Glossary]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[ZooTube]]></category>
		<category><![CDATA[プラグイン]]></category>

		<guid isPermaLink="false">http://zumomo.org/?p=143</guid>
		<description><![CDATA[ZooTubeのコンテンツの一環として、用語集プラグイン IMM-Glossary を使ったので、その記録。 1. プラグインの入手 IMM-Glossary WordPress Plugin より、現時点で最新の Ve [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://zootube.jp/" class="liexternal">ZooTube</a>のコンテンツの一環として、用語集プラグイン IMM-Glossary を使ったので、その記録。</p>
<p><span id="more-143"></span></p>
<p>1. プラグインの入手<br />
<a href="http://www.internetmarketingmonitor.com/word-press-plugins/imm-glossary-wordpress-plugin/" class="liexternal">IMM-Glossary WordPress Plugin</a> より、現時点で最新の Ver.2.1.1 をありがたくダウンロード。（少し下にスクロールすると青いDOWNLOADボタンがある）</p>
<p>2. 文字化け対応</p>
<p>このままだと管理画面（更新画面）で文字化けするので、<a href="http://iw.syunro.net/archives/279" class="liexternal">WordPress用語辞典プラグイン！</a>＠<a href="http://iw.syunro.net/" class="liexternal">愛solation-ward </a>にあった文字化け修正の方法にて修正。<br />
ZooTubeの場合は UTF-8 なので、EUC ではなく UTF-8 とした。<br />
<code>&lt;input&nbsp;type=&quot;text&quot;&nbsp;id=&quot;Title&quot;&nbsp;name=&quot;Title&quot;<br />
&nbsp;value=&quot;&lt;?php&nbsp;echo&nbsp;htmlentities&nbsp;(&nbsp;$Term[&#039;Title&#039;]&nbsp;,&nbsp;ENT_QUOTES<strong>,&nbsp;&#039;UTF-8&#039;</strong>)&nbsp;;&nbsp;?&gt;&quot;&nbsp;size=&quot;35&quot;/&gt;<br />
（中略）<br />
&lt;textarea&nbsp;id=&quot;Definition&quot;&nbsp;name=&quot;Definition&quot;&nbsp;rows=&quot;10&quot;&nbsp;cols=&quot;80&quot;&gt;&lt;?php&nbsp;echo&nbsp;htmlentities&nbsp;(&nbsp;$Term[&#039;Definition&#039;]&nbsp;,&nbsp;ENT_QUOTES<strong>,&nbsp;&#039;UTF-8&#039;</strong>)&nbsp;;&nbsp;?&gt;&lt;/textarea&gt;<br />
</code></p>
<p>3. プラグインフォルダにおき、管理画面の[プラグイン]で有効化</p>
<p>4. [設定]-[IMM-Glossary] で表示設定。<br />
ZooTube では その場で(DHTMLで)ポップアップする設定とした。</p>
<p>5. [管理]-[ページ] を見ると IMM-Glossaryというページができているので、任意のページ名やスラッグに変更。</p>
<p>6. あとは[管理]-[IMM-Glossary] で、ちくちくと用語を足していくのみ。</p>
<p>7. 見た目を変える場合は、IMM-Glossary/Style_Sheets/Style_Sheet.css をいじる。<br />
なお、背景が透明っぽくなる（本文の字が透けて見える）場合は、.IMM_Glossary_-_Tool_Tip クラスに z-indexを（大きめに）指定すると直った。</p>
<p>8. 登録した用語にマッチするとこんなふうになります。とっても便利。<br />
<a href="http://zumomo.org/wp-content/uploads/2008/06/imm-42.gif" class="liimagelink"><img src="http://zumomo.org/wp-content/uploads/2008/06/imm-42-300x232.gif" alt="ZooTubeスクリーンショット" title="ZooTubeスクリーンショット" width="300" height="232" class="alignnone size-medium wp-image-146" style="border: solid 1px gray;" /></a></p>
<p>日本語で運用するに当たっていくつか修正やカスタマイズを施したので、それは次以降のエントリで。</p>
]]></content:encoded>
			<wfw:commentRss>http://zumomo.org/archives/143/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://zumomo.org/archives/143" />
	</item>
		<item>
		<title>ZooTube.jp で YouTube API を使ってみています</title>
		<link>http://zumomo.org/archives/140</link>
		<comments>http://zumomo.org/archives/140#comments</comments>
		<pubDate>Mon, 16 Jun 2008 05:53:02 +0000</pubDate>
		<dc:creator>katamari</dc:creator>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[更新情報など]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[YouTube]]></category>
		<category><![CDATA[ZooTube]]></category>

		<guid isPermaLink="false">http://zumomo.org/?p=140</guid>
		<description><![CDATA[娘（2歳）が動物動画を見るとたいへん喜ぶので、動物動画サイトをつくってみた。 ZooTube（YouTube動物図鑑） ふつうに楽しいサイトに仕上がったので、ぜひお楽しみください　;-) 説明文(Wikipedia)部分 [...]]]></description>
			<content:encoded><![CDATA[<p>娘（2歳）が動物動画を見るとたいへん喜ぶので、動物動画サイトをつくってみた。</p>
<p><a href="http://zootube.jp/" class="liimagelink"><img src='http://img.simpleapi.net/small/http://zootube.jp/' alt='' class='alignleft' /></a><a href="http://zootube.jp/" class="liexternal">ZooTube（YouTube動物図鑑）</a></p>
<p>ふつうに楽しいサイトに仕上がったので、ぜひお楽しみください　;-)</p>
<p><br clear="all" /><br />
説明文(Wikipedia)部分は手でコピペ→読みやすいように加工して、動画収集には<a href="http://jp.youtube.com/dev" class="liexternal">YouTube API </a>を使っています。<br />
WordPress上で動いています。プラグイン化する腕はないので、テンプレートにそのまま記述しています。（カスタムフィールドに検索キーワード登録→YouTubeから検索→独自アルゴリズム（←そんなえらそうなもんじゃない（笑））でランク付け＆関係なさそうな動画を除外など）</p>
<p>自分用のメモとして、YouTube API を使ってみたごく簡単な手順を以下に記しておきます。</p>
<p><span id="more-140"></span></p>
<p>（１）Zend Gdataライブラリ入手<br />
PHPで楽して書きたいので、<a href="http://code.google.com/apis/youtube/developers_guide_php.html" class="liexternal">Zend Gdataライブラリ</a>をを使うことにする。<br />
ライブラリを<a href="http://framework.zend.com/download/gdata/" class="liexternal">ダウンロード</a>して適当なディレクトリに展開。<br />
とりあえず今回は全部展開してディレクトリに置いたが、本当は library/ 配下のみ置けば用は足りるはず。</p>
<p>（２）PHP5環境を用意<br />
Zend GdataライブラリにはPHP5が動く環境が必要。<br />
（なので、ついでに当ぢぢらぶろぐも ロリポップ→heteml に乗り換えました）</p>
<p>（３）今回は検索だけなので Developer Key は不要。でもなんとなくとってみる。</p>
<p>（４）ソース。</p>
<p>その１：YouTubeライブラリを呼ぶ。<br />
Zend Gdataのライブラリディレクトリに include_path が通っている必要がある。とりあえず実行時に通すことにする。</p>
<p><code><br />
// YouTubeローダ<br />
$ZEND_LIB_DIR = ライブラリを置いてるディレクトリ.  'ZendGdata-1.5.2/library/';<br />
set_include_path(ini_get('include_path') . ($_SERVER['WINDIR']&gt;'' ? ';' : ':') . $ZEND_LIB_DIR);<br />
require_once 'Zend/Loader.php';<br />
Zend_Loader::loadClass('Zend_Gdata_YouTube');<br />
</code></p>
<p>その２：検索は簡単。<br />
<code><br />
&nbsp;&nbsp;&nbsp;&nbsp;$yt&nbsp;=&nbsp;new&nbsp;Zend_Gdata_YouTube();&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;// 検索条件設定<br />
&nbsp;&nbsp;&nbsp;&nbsp;$query&nbsp;=&nbsp;$yt-&gt;newVideoQuery();<br />
&nbsp;&nbsp;&nbsp;&nbsp;$query-&gt;setVideoQuery&nbsp;('cattle|cow|bull');&nbsp;&nbsp;// ウシに関する動画を探してみようと思う<br />
&nbsp;&nbsp;&nbsp;&nbsp;$query-&gt;setCategory('Animals');&nbsp;&nbsp;//　動物カテゴリから<br />
&nbsp;&nbsp;&nbsp;&nbsp;// 検索実行<br />
&nbsp;&nbsp;&nbsp;&nbsp;$feeds&nbsp;=&nbsp;&nbsp;$yt-&gt;getVideoFeed($query);<br />
</code></p>
<p>キーワードの羅列は | で区切る。<br />
カテゴリは先頭大文字で、キーワードは先頭小文字でセットする。</p>
<p>ここで注意する点：<br />
英語のキーワードと日本語のキーワードが混在しているとうまく検索できないっぽい（確か英語の検索結果のみ表示される）。<br />
ZooTubeでは日本語のみと英語のみで2度に分けてクエリを投げて、あとからマージする処理をしている。</p>
<p>その３：あとは適当にループまわして表示する<br />
<code><br />
foreach($feeds&nbsp;as&nbsp;$entry)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;エントリのIDを取得<br />
&nbsp;&nbsp;&nbsp;&nbsp;$id&nbsp;=&nbsp;substr($entry-&gt;getVideoWatchPageUrl(),&nbsp;-11);<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;タイトル<br />
&nbsp;&nbsp;&nbsp;&nbsp;$title&nbsp;=&nbsp;$entry-&gt;getVideoTitle();<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;詳細<br />
&nbsp;&nbsp;&nbsp;&nbsp;$desc&nbsp;=&nbsp;$entry-&gt;getVideoDescription();<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;URL<br />
&nbsp;&nbsp;&nbsp;&nbsp;$url&nbsp;=&nbsp;$entry-&gt;getFlashPlayerUrl();<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;評価：未評価だと&nbsp;getRating()&nbsp;で&nbsp;nullが返る<br />
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($entry-&gt;getRating())&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$rate&nbsp;=&nbsp;(string)$entry-&gt;getRating()-&gt;getAverage();<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;時間（秒）<br />
&nbsp;&nbsp;&nbsp;&nbsp;$duration&nbsp;=&nbsp;$entry-&gt;getVideoDuration();<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;print&nbsp;&lt;&lt;&lt;END_OF_HTML<br />
&lt;div&nbsp;class=&quot;entry&quot;&gt;<br />
（略：適当に表示）<br />
&nbsp;&nbsp;&nbsp;&nbsp;：<br />
END_OF_HTML;<br />
}<br />
</code></p>
<p>実際はもうすこしごにょごにょやってますが（表示順を整えたり、かぶってる動画や関係なさそうな動画を除去したり）、まぁこんなに簡単に動画収集サイトができるのはありがたいことだ。<br />
つい最近<a href="http://googlejapan.blogspot.com/2008/06/blog-post.html" class="liexternal">APIがらみのドキュメントも日本語化された</a>ことだし（もーちょっと早く出てくれれば自分も恩恵にあずかれたのだが <img src='http://zumomo.org/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' /> ）、これからどんどん YouTube API を活用したサイトが出てくると楽しくなるなと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://zumomo.org/archives/140/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://zumomo.org/archives/140" />
	</item>
		<item>
		<title>メモ:PHPで配列要素の中身を一括変換・・・を1行で</title>
		<link>http://zumomo.org/archives/139</link>
		<comments>http://zumomo.org/archives/139#comments</comments>
		<pubDate>Sun, 08 Jun 2008 17:19:29 +0000</pubDate>
		<dc:creator>katamari</dc:creator>
				<category><![CDATA[プログラミング]]></category>

		<guid isPermaLink="false">http://zumomo.org/?p=139</guid>
		<description><![CDATA[よく忘れるのでメモ。array_map と create_function を使う。 例： $arr = array('casino', 'viagra', 'rolex'); print_r($arr); // Arr [...]]]></description>
			<content:encoded><![CDATA[<p>よく忘れるのでメモ。array_map と create_function を使う。</p>
<p>例：<br />
<code><br />
$arr = array('casino', 'viagra', 'rolex');<br />
print_r($arr);<br />
// Array<br />
// (<br />
//     [0] => casino<br />
//     [1] => viagra<br />
//     [2] => rolex<br />
// )<br />
　<br />
$re = array_map(create_function('$x', 'return &quot;/&quot;.$x.&quot;/i&quot;;'),	$arr);<br />
print_r ($re);<br />
// Array<br />
// (<br />
//     [0] => /casino/i<br />
//     [1] => /viagra/i<br />
//     [2] => /rolex/i<br />
// )</p>
<p></code></p>
]]></content:encoded>
			<wfw:commentRss>http://zumomo.org/archives/139/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://zumomo.org/archives/139" />
	</item>
		<item>
		<title>WordPressに乗り換え、全面リニューアル</title>
		<link>http://zumomo.org/archives/138</link>
		<comments>http://zumomo.org/archives/138#comments</comments>
		<pubDate>Fri, 06 Jun 2008 18:57:56 +0000</pubDate>
		<dc:creator>katamari</dc:creator>
				<category><![CDATA[更新情報など]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[サイトリニューアル]]></category>

		<guid isPermaLink="false">http://zootube.heteml.jp/zumomo/?p=138</guid>
		<description><![CDATA[ようやく当サイトをリニューアルいたしました。 rNote から WordPressに乗り換えました。 旧zumomo.orgはエラーが頻出＆動作が遅すぎでとても見るに耐えない状態でした。おそらくrNoteの問題ではなく私 [...]]]></description>
			<content:encoded><![CDATA[<p>ようやく当サイトをリニューアルいたしました。</p>
<p><a href="http://rinn.e-site.jp/rnote/" class="liexternal">rNote</a> から <a href="http://ja.wordpress.org/" class="liwp">WordPress</a>に乗り換えました。<br />
旧zumomo.orgはエラーが頻出＆動作が遅すぎでとても見るに耐えない状態でした。おそらくrNoteの問題ではなく私が勝手にいじったところがやばかったんだと思います。<br />
もうすっかり放置しっぱなしでrNoteについてもすっかり忘れてしまっていたので、心機一転で新しいCMSに乗り換えることとした次第です。<br />
まだ移行途中のデータに不備があったりいろいろすると思いますが、漸次直していきます。</p>
<p>あわせてサーバも移転しました。ドメイン移動中なのでしばらく（数日）は不具合がでるかもしれませんが、ご容赦のほど。</p>
<p>放置していた2年余りの間に、公私ともに（そもそも「私」のみに）環境が変わりました。<br />
いろいろネタはたまっているので、おいおい書いていこうと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://zumomo.org/archives/138/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://zumomo.org/archives/138" />
	</item>
		<item>
		<title>del.icio.usをサイドバーにはってみた</title>
		<link>http://zumomo.org/archives/125</link>
		<comments>http://zumomo.org/archives/125#comments</comments>
		<pubDate>Tue, 03 Jun 2008 02:22:36 +0000</pubDate>
		<dc:creator>katamari</dc:creator>
				<category><![CDATA["SiteSeeing"]]></category>
		<category><![CDATA[ブログ]]></category>
		<category><![CDATA[del.icio.us]]></category>

		<guid isPermaLink="false">http://localhost/zumomo.org_new/?p=137</guid>
		<description><![CDATA[MyClipがサービス終了予定とのことなので、代わりに del.icio.us を使うことにしてみました。 今後は、ぶろぐほどでもないネタはこちらへ。 Web2.0な文脈でよく引き合いに出されているものの今まで使ったこと [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://clip.myblog.jp/" target="_blank" class="liexternal">MyClip</a>が<a href="http://rss-help.cms.drecom.jp/info_002" target="_blank" class="liexternal">サービス終了予定</a>とのことなので、代わりに <a href="http://del.icio.us" target="_blank" class="liexternal">del.icio.us</a> を使うことにしてみました。</p>
<p>今後は、ぶろぐほどでもないネタはこちらへ。</p>
<p>Web2.0な文脈でよく引き合いに出されているものの今まで使ったことなかったんですが、タグってすげー面白い！</p>
<p>RSSが提供されてるので、<a href="http://sionne.just-size.jp/rnote/rnote.php?u=2005/06/0506220642.htm" target="_blank" class="liexternal">RSS Reader プラグイン</a> を使ってサイドバー(画面右下)に表示してみた。非常にいい感じです。</p>
<p>ただ「せっかくだからdel.icio.usのタグも出してみたい～」とかいろいろ思うと、別途プラグイン作ったほうがいいのかもしれない。今でも充分ナイスだが、迷えるところだ。</p>
<p class="note">それにしても、MyClip＋MyBlogListサービス終了→<a href="http://rss.drecom.jp/" target="_blank" class="liexternal">ドリコムRSS</a> なわけですが、ドリコムRSS激しく使いづらい…。MyClipのシンプルさ＆カスタマイズ性がよかったのにー。</p>
<p>凝ったインタフェースつくったみたいだけどそのせいでユーザ離れしてるようで。（よい評判を聞いたためしがない。当家ではｳﾝｺだと評価が一致）</p>
<p>せっかくがんばって開発したプログラマさんｶﾜｲｿｽ</p>
]]></content:encoded>
			<wfw:commentRss>http://zumomo.org/archives/125/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://zumomo.org/archives/125" />
	</item>
		<item>
		<title>最近気に入っている英語学習用Podcastたち</title>
		<link>http://zumomo.org/archives/114</link>
		<comments>http://zumomo.org/archives/114#comments</comments>
		<pubDate>Tue, 03 Jun 2008 00:17:57 +0000</pubDate>
		<dc:creator>katamari</dc:creator>
				<category><![CDATA[英語]]></category>
		<category><![CDATA[Podcast]]></category>

		<guid isPermaLink="false">http://localhost/zumomo.org_new/?p=126</guid>
		<description><![CDATA[飯作ってる時とかアイロンしてる時など、これら↓を iPod で流し聞きしながら…ってのがこの頃のマイブーム(古)です。 家事中は結構あちこち移動するので、PCやステレオ等から流すより、音が自分についてくるiPod(などの [...]]]></description>
			<content:encoded><![CDATA[<p>飯作ってる時とかアイロンしてる時など、これら↓を iPod で流し聞きしながら…ってのがこの頃のマイブーム(古)です。</p>
<p>家事中は結構あちこち移動するので、PCやステレオ等から流すより、音が自分についてくるiPod(などのポータブルプレイヤー)で聞くのがよろしいですね。</p>
<p>あと「家事中はこれらを聞きながらやろう」と決めてやると、家事にまつわる「どーしてもやんなきゃいけない義務」感が多少軽減されるのがいい感じです。</p>
<p>iPod Shuffle の 1GB がもったいないけど、せいぜい7～8個を入れといて何度もリピートして聞いています。</p>
<p><span id="more-114"></span></p>
<p><strong><a href="http://www.eslpod.com/index.html" target="_blank" class="liexternal">English as a Second Language Podcast(ESL Podcast)</a></strong></p>
<p>約15分。月曜～金曜更新。</p>
<p>月水金は通常プログラム。3部構成になっていて、(1)スクリプトをゆっくり読む (2)スクリプト中に出てきた単語・熟語の解説 (3)スクリプトを普通のスピードで読む って感じ。</p>
<p>火木は雑談＆リスナーからの（英語にまつわる）質問に答えるプログラム。これも単語・熟語はその場で解説してくれる。</p>
<p>スクリプトはディスプレイつきiPodだとディスプレイで見られるらしい。自分のは iPod Shuffle(ディスプレイなし)なので見られませんが、<a href="http://www.eslpod.com/scripts.html" rel="nofollow" class="liexternal">Webで公開されてる</a>のを見てます。</p>
<p>自分には(お恥ずかしながら)このぐらいのスピードがちょうどいい。ぎりぎりシャドウイングできる感じ。</p>
<p>あと(2)を聞いた後で(3)を聞くとなんかちゃんと聞き取れるようになってるのが、非常に嬉しくてモチベーションを高めてくれます。目下の最お気に入りです。</p>
<p>2ch英語板<a href="http://academy4.2ch.net/test/read.cgi/english/1128954956/" target="_blank" class="liexternal">【iPod】　Podcastでリスニングの練習</a> (現在は<a href="http://academy4.2ch.net/test/read.cgi/english/1137483337/" target="_blank" class="liexternal">2スレ目</a>) で話題になっていて知りました。</p>
<p><strong><a href="http://www.englishezee.com/podcast2/" target="_blank" class="liexternal">The Way We Say It</a></strong></p>
<p>1分ちょい。週1ぐらい更新。</p>
<p>こんな時はこう言う！のフレーズの説明と、簡単な対話例。</p>
<p>スクリプトは上記URLで公開。</p>
<p><a href="http://achiwa.exblog.jp/" rel="nofollow" class="liexternal">ポッドキャスト留学(英語リスニング力の向上に役立つポッドキャストの紹介)</a>で知りました。</p>
<p><strong><a href="http://www.englishcaster.com/blogs/" target="_blank" class="liexternal">English Idioms and Slang</a></strong></p>
<p>こちらも1分ちょい、週1ぐらい。</p>
<p>割とインフォーマルな感じの熟語や言い回しなど。あと最後に以前の表現の復習クイズをしてくれるのもいい感じかも。</p>
<p>スクリプトは上記URLで。</p>
<p>こちらも<a href="http://achiwa.exblog.jp/" target="_blank" class="liexternal">ポッドキャスト留学(英語リスニング力の向上に役立つポッドキャストの紹介)</a>から。</p>
]]></content:encoded>
			<wfw:commentRss>http://zumomo.org/archives/114/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://zumomo.org/archives/114" />
	</item>
		<item>
		<title>AWStats でロリポップ生ログ解析</title>
		<link>http://zumomo.org/archives/115</link>
		<comments>http://zumomo.org/archives/115#comments</comments>
		<pubDate>Tue, 03 Jun 2008 00:25:37 +0000</pubDate>
		<dc:creator>katamari</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[AWStats]]></category>
		<category><![CDATA[ロリポップ]]></category>

		<guid isPermaLink="false">http://localhost/zumomo.org_new/?p=127</guid>
		<description><![CDATA[前エントリのロリポップ生ログダウンロードの目的は、もちろん手元でログ解析したかったからな訳で、その後 うちのファイルサーバである玄箱くんにAWStatsを入れてみることにした。AWStatsにした理由は、Perlでできて [...]]]></description>
			<content:encoded><![CDATA[<p><a href="/blog/linux/lolipop_log_dl.html" class="liinternal">前エントリ</a>のロリポップ生ログダウンロードの目的は、もちろん手元でログ解析したかったからな訳で、その後 うちのファイルサーバである玄箱くんに<a href="http://awstats.sourceforge.net" target="_blank" class="liexternal">AWStats</a>を入れてみることにした。AWStatsにした理由は、Perlでできててお手軽そうなとことか、見た目が適度にきれいなとことか。</p>
<p><a href="http://www.bflets.dyndns.org/Tools/AWStatsJpn.html" target="_blank" class="liexternal">AWStats 6.0完全日本語版のページ</a>から日本語版をいただき、そのまんまの手順で置いただけです。<a href="http://lightly.plala.jp/memo/AWStats.html" target="_blank" class="liexternal">Lightly and Leniently/AWStatsとは</a> も とても参考になりました。</p>
<p>ただ、前述のとおり複数ドメイン分のログがあるので、うまいこと処理したいなと思い、awstats.*.conf と前段の日本語UTF化部分をいじりました。</p>
<p class="note">そういえばついでに(?)玄箱くんにApacheもインストールしました。って apt-get install apache して設定ちょいといじっただけですが。</p>
<p><span id="more-115"></span></p>
<h4>ゴール<a name="content_1"></a></h4>
<p>各ドメインごとに統計が見られるといいな。もちろん全部入り統計も見たいな。</p>
<h4 id="content_1_2">awstats.*.conf の設定<a name="content_2"></a></h4>
<h5 id="content_1_3">ドメインごと統計用設定ファイル<a name="content_3"></a></h5>
<p>自環境に合わせて各ディレクトリ設定など変えてますが、それはさきのサイトやconfファイル内の解説どおりで。</p>
<p>んで、各ドメインごとに設定ファイルをつくりました。</p>
<p>zumomo.org 用に awstats.zumomo.org.conf、</p>
<p>www.zumomo.org 用に awstats.www.zumomo.org.conf って感じで。</p>
<p>それぞれ、zumomo.org.log, www.zumomo.org.log, &#8230; を解析対象とします。こいつらがどっから出てくるのかは後述。</p>
<p>変更した部分のみ抜粋 (zumomo.org用 awstats.zumomo.org.confの場合)：</p>
<pre>LogFile="/home/katamari/log/<span style="text-decoration: underline;">zumomo.org</span>.log" SiteDomain="<span style="text-decoration: underline;">zumomo.org</span>" HostAliases="localhost 127.0.0.1 REGEX[zumomo\.org$] yoppa.gonna.jp"</pre>
<p>各ドメインごとに下線部分を変更(zumomo.org, www.zumomo.org, yoppa.gonna.jp, &#8230;)するわけです。</p>
<p class="note">なんか冗長だよ2箇所違うだけじゃんかよ１つのconfファイルで回せないのかよと思って試行錯誤してみましたが、自分の力量ではうまくいきませんでした orz (詳細は後述)</p>
<p>賢い方法ありましたら教えてくださいです。。。</p>
<h5 id="content_1_4">全部入り統計用設定ファイル <a name="content_4"></a></h5>
<p>AWStatsには複数のログをマージしてくれるツール(tools/logresolvemerge.pl)がついてますので、それを使うことにします。設定内でパイプも使えるのね。</p>
<p>全部用設定は awstats.zumomo_all.conf としときました。変更した部分のみ抜粋：</p>
<pre>LogFile="/home/katamari/awstats/tools/logresolvemerge.pl ?/home/katamari/log/*.log |"   (←↑実際は1行です) SiteDomain="*.zumomo.org" HostAliases="localhost 127.0.0.1 REGEX[zumomo\.org$] yoppa.gonna.jp"</pre>
<h4 id="content_1_5">ログの準備＆awstatsの実行 <a name="content_5"></a></h4>
<p>元ネタは、awstats.cron として準備されてる奴です。</p>
<p>各生ログは zumomo.org.20050115.gz, www.zumomo.org.20050115.gz のような形で落としてあるので、「前日の各ログを展開→UTF化→それぞれ&#8221;ドメイン名.log&#8221;として保存」することにします。</p>
<p>これを毎日(ログファイルのダウンロード後) cron にて実行するわけだ。</p>
<p><a href="/files/blog/awstats.sh.txt" class="file_dl">awstats.sh.txt</a> →awstats.sh にリネームし、chmod +x</p>
<p>(※無保証です。サポート等いたしません。)</p>
<p>やってることは、</p>
<ol>
<li>昨日の日付(引数ありで呼んだときはn日前)の、各ドメインについて:
<ol>
<li>ドメイン名.日付.gz を展開 → UTF8に変換 → ドメイン名.log※当然、日付が変わると一昨日の ドメイン名.log は昨日のログで上書きされます。</li>
<li>awstats.ドメイン名.conf にてアクセス解析実行＆今月のページを静的生成</li>
</ol>
</li>
<li>全ドメイン処理すると ドメイン名.log が複数個残ってるので、そいつらを対象として awstats.全部入り.conf にてアクセス解析実行＆今月のページを静的生成(awstats.zumomo_all.conf 内の LogFile設定↓にて、1.-1. で作った各ドメインのログがワイルドカードにひっかかるわけだ)
<pre>LogFile="略) logresolvemerge.pl /home/katamari/log/*.log"</pre>
</li>
</ol>
<h4 id="content_1_6">お化粧<a name="content_6"></a></h4>
<p>くだらないですがガワを作りました。ただのベタなHTMLフレームなので(各ドメインの結果HTMLにリンクはっただけ)詳細は略。次↓見りゃ分かりますね。</p>
<p>注意することは、ファイル名を index.html にしないこと。awstats 実行時になんかエラーがあった場合、エラーメッセージがindex.htmlに吐かれるからです。上書きされちゃいます。</p>
<p>(awstats.*.conf の DefaultFile=&#8221;index.html&#8221; をいじればいいのかも。試してません。)</p>
<h4 id="content_1_7">そいでこうなった<a name="content_7"></a></h4>
<p><a href="/wp-content/uploads/image/linux_lolipop_log_awstats.png" class="liimagelink"><img src="/wp-content/uploads/image/linux_lolipop_log_awstats.png" alt="" width="200" align="left" /> * </a><br />
わー素敵。<br />
<br clear="all" /></p>
<h4 id="content_1_8">参考：試行してみたけどうまくいかなかったこと <a name="content_8"></a></h4>
<p>(1)awstats.ドメイン.conf は ドメインごと設定がちょっとずつ違うだけなんで、何とか共通化できないか？</p>
<p>設定ファイルで環境変数を指定して呼び出せるとのことなので、それが使えないかと思って試してみた↓</p>
<ul>
<li>呼び出し側：ドメインごとループで環境変数を指定。awstats実行時は同じ設定ファイル(awstats.zumomo_each.conf)を使用する。
<pre>for DOMAIN in ${DOMAINS[@]} ; do       :     # 環境変数設定 <strong>export AWSTATS_TARGET_DOMAIN=$DOMAIN</strong>      # 解析実行 perl $AWSTATS_HOME/awstats.pl -config=<strong>zumomo_each</strong> -update       :  done;</pre>
</li>
<li>呼ばれる awstats.zumomo_each.conf の変更した部分のみ抜粋:
<pre>LogFile="/home/katamari/log/<strong>__AWSTATS_TARGET_DOMAIN__</strong>.log" SiteDomain="<strong>__AWSTATS_TARGET_DOMAIN__</strong>"</pre>
</li>
</ul>
<p>→うまくいきました。静的HTML生成は。</p>
<p>ところが、その生成された HTML のリンク先や年月指定などのフォームアクション先は動的ページ(CGI)になるので、実行時には__AWSTATS_TARGET_DOMAIN__ は当然指定されておらず、エラーになっちゃいますた。</p>
<p>(2)全部入り解析後、せっかく awstats.*.conf の設定で PurgeLogFile=1 (処理済みのログを切り詰める)ってのがあるんだから、これで処理済ログをお片付けしてもらったらラクだな。</p>
<p>→怒られちゃいました。ログファイルでパイプ使ってるときはだめよ～だって。</p>
<pre>Error: A pipe in log file name is not allowed if PurgeLogFile and ArchiveLogRecords are not set to 0</pre>
]]></content:encoded>
			<wfw:commentRss>http://zumomo.org/archives/115/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://zumomo.org/archives/115" />
	</item>
		<item>
		<title>ロリポップのアクセスログを自動ダウンロードする(要Linux)</title>
		<link>http://zumomo.org/archives/116</link>
		<comments>http://zumomo.org/archives/116#comments</comments>
		<pubDate>Tue, 03 Jun 2008 00:28:34 +0000</pubDate>
		<dc:creator>katamari</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[アクセスログ]]></category>
		<category><![CDATA[ロリポップ]]></category>

		<guid isPermaLink="false">http://localhost/zumomo.org_new/?p=128</guid>
		<description><![CDATA[ロリポップユーザさん以外にはほとんど意味ないエントリですが、10人ぐらいの方には役に立つかもしれないので記しておきます。 当zumomo.orgは、ロリポップ(lolipop)上に身を置かせてもらっています。 このロリポ [...]]]></description>
			<content:encoded><![CDATA[<p>ロリポップユーザさん以外にはほとんど意味ないエントリですが、10人ぐらいの方には役に立つかもしれないので記しておきます。</p>
<p>当zumomo.orgは、<a href="http://www.lolipop.jp/" class="liexternal">ロリポップ</a>(lolipop)上に身を置かせてもらっています。</p>
<p>このロリポップ、Analogによるアクセス解析とApacheの生ログを提供してくれているんですが、微妙に使いづらんよねー。ユーザ専用ページからアクセスして、いちいちパラメータ(日付とかドメインとか(*1))指定してSubmitしなくちゃいけない。</p>
<p>これ自動化してラクしたいよなーとか思って、とりあえず生ログをダウンロードするへたれスクリプトを書いてみましたのでその記録です。今日作ったばっかですが、これcronで1日1回まわしたらハッピーな予感。</p>
<p>家庭内ファイルサーバである<a href="http://www.kuroutoshikou.com/products/kuro-box/kuro-boxfset.html" rel="nofollow" class="liexternal">玄箱くん</a>(<a href="http://kuro.dsk.jp/" rel="nofollow" class="liexternal">Debian化</a>済み)にて動かしてます。なのでLinux環境で動くはず。(WindowsではNGっす、念のため。Mac は OS X が実質UNIXだと聞いてるがどうなんだろう？bash動くのかな？)</p>
<p>(*1)<br />
自分は サブドメインコースで契約→独自ドメインを上に乗っけた ので、</p>
<ul class="list1" style="padding-left: 16px; margin-left: 16px">
<li>lolipopサブドメイン(yoppa.gonna.jp)</li>
<li>www.独自ドメイン (www.zumomo.org)</li>
<li>独自ドメイン(zumomo.org)</li>
</ul>
<p>の３つあるんです。。。<span id="more-116"></span></p>
<h3>ログファイルダウンロードスクリプト</h3>
<ol>
<li>curl (SSL対応版) をインストールもちろん、既にインストール済みなら省略。
<pre># apt-get curl curl-ssl</pre>
<p>wgetでもいいんですが、apt-getで入れられるwgetは1.8.1(POST未対応)のようでした。</p>
<p>1.9系(以上)をソースから入れるのもめんどくさいんでcurl使うことにしちゃいました。</li>
<li>ファイルをダウンロードするディレクトリを適当に作成</li>
<li>スクリプト編集ブラウザでの動作をエミュレートするスクリプト。
<p>(ユーザページログイン→アクセスログドメイン解析ページ→アクセスログダウンロード)</p>
<p>せっかくなんで公開します。bashです。curl使ってます。</p>
<p>dl_lolipop_logs.sh.txt</p>
<p>※無保証です。サポート等いたしません。</p>
<p>ファイルダウンロードして、dl_lolipop_logs.shとかにリネーム、chmod +x dl_lolipop_logs.sh する。</p>
<p>先頭に設定部分がありますので、各自サーバに合わせて修正のこと。</p>
<p>ちなみにサブドメインプランの場合のドメインIDの対応は<a href="#subdomain_id" class="liinternal">こう↓</a>なってるみたいです。</p>
<p>bashについては <a href="http://furyo.on-air.ne.jp/linux/bash.html" rel="nofollow" class="liexternal">RS WebPage/プログラミング言語としてのbash</a>、curlについては <a href="http://www.big.or.jp/~crane/cocoa/0800_internet/curl/" rel="nofollow" class="liexternal">Cocoaはやっぱり!インターネットにアクセスしよう/番外編 : curlの使い方</a> を激しく参考にさせていただきましたー。</li>
<li>スクリプト実行してみる
<pre class="wide">$ ./dl_lolipop_logs.sh    &lt;-- 1日前のログがおちてくるはず $ ./dl_lolipop_logs.sh 3  &lt;-- 3日前のログがおちてくるはず</pre>
<p>落ちてきたらおめでとうです。</p>
<pre class="wide">$ ls log/ yoppa.gonna.jp.20060114.gz  www.zumomo.org.20060114.gz zumomo.org.20060114.gz  $ gunzip -d -c log/www.zumomo.org.20060114.gz 24.203.*.* - - [14/Jan/2006:04:15:09 +0900] "GET /blog/index.php?p=47 HTTP/1.0 " 200 420 "-" "-" 66.249.*.* - - [14/Jan/2006:04:28:53 +0900] "GET /i/appli/index.html HTTP/1.1 " 200 471 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bo t.html)" 24.203.*.* - - [14/Jan/2006:04:39:20 +0900] "GET /blog/index.php?p=28 HTTP/1.0 " 200 12573 "-" "-"  :  : (後略)</pre>
</li>
<li>cron設定とりあえず毎朝7時 昼の12時15分ごろ に昨日のを拾ってくる感じ↓にしてます(crontab -e にて)。あまり早い時間にするとログが用意されてないかもしれません。
<pre># download lolipop logs 15 12 * * * /home/katamari/dl_lolipop_logs.sh</pre>
<p><strong>追記</strong> (2006/01/17)</p>
<p>なんか前日のログが準備されるのは昼12時ごろのようだ。お寝坊さんだな＞ロリポップ</li>
</ol>
<h3 id="subdomain_id">ロリポップのサブドメインとドメインID対応</h3>
<p>以下、無駄に長いです。</p>
<p>ここにない(新しい)ドメインがあったら、<a href="https://user.lolipop.jp/" target="_blank" class="liexternal">https://user.lolipop.jp/</a> のHTMLソースを参考にしてください。とか。</p>
<table border="0">
<tbody>
<tr>
<td>40</td>
<td>10gallon.jp</td>
</tr>
<tr>
<td>340</td>
<td>babyblue.jp</td>
</tr>
<tr>
<td>230</td>
<td>babymilk.jp</td>
</tr>
<tr>
<td>330</td>
<td>bambina.jp</td>
</tr>
<tr>
<td>690</td>
<td>bitter.jp</td>
</tr>
<tr>
<td>700</td>
<td>blush.jp</td>
</tr>
<tr>
<td>360</td>
<td>boo.jp</td>
</tr>
<tr>
<td>570</td>
<td>boyfriend.jp</td>
</tr>
<tr>
<td>560</td>
<td>boy.jp</td>
</tr>
<tr>
<td>50</td>
<td>bufferin.jp</td>
</tr>
<tr>
<td>600</td>
<td>but.jp</td>
</tr>
<tr>
<td>670</td>
<td>candypop.jp</td>
</tr>
<tr>
<td>710</td>
<td>capoo.jp</td>
</tr>
<tr>
<td>660</td>
<td>catfood.jp</td>
</tr>
<tr>
<td>520</td>
<td>cheap.jp</td>
</tr>
<tr>
<td>410</td>
<td>chips.jp</td>
</tr>
<tr>
<td>720</td>
<td>chowder.jp</td>
</tr>
<tr>
<td>350</td>
<td>chu.jp</td>
</tr>
<tr>
<td>300</td>
<td>ciao.jp</td>
</tr>
<tr>
<td>730</td>
<td>cocotte.jp</td>
</tr>
<tr>
<td>740</td>
<td>coolblog.jp</td>
</tr>
<tr>
<td>60</td>
<td>cutegirl.jp</td>
</tr>
<tr>
<td>450</td>
<td>daa.jp</td>
</tr>
<tr>
<td>190</td>
<td>egoism.jp</td>
</tr>
<tr>
<td>270</td>
<td>fakefur.jp</td>
</tr>
<tr>
<td>420</td>
<td>fem.jp</td>
</tr>
<tr>
<td>630</td>
<td>fool.jp</td>
</tr>
<tr>
<td>170</td>
<td>frenchkiss.jp</td>
</tr>
<tr>
<td>580</td>
<td>girlfriend.jp</td>
</tr>
<tr>
<td>240</td>
<td>girly.jp</td>
</tr>
<tr>
<td>530</td>
<td>gonna.jp</td>
</tr>
<tr>
<td>70</td>
<td>hacca.jp</td>
</tr>
<tr>
<td>540</td>
<td>heavy.jp</td>
</tr>
<tr>
<td>620</td>
<td>her.jp</td>
</tr>
<tr>
<td>460</td>
<td>hiho.jp</td>
</tr>
<tr>
<td>80</td>
<td>hippy.jp</td>
</tr>
<tr>
<td>640</td>
<td>holy.jp</td>
</tr>
<tr>
<td>750</td>
<td>icurus.jp</td>
</tr>
<tr>
<td>90</td>
<td>itigo.jp</td>
</tr>
<tr>
<td>200</td>
<td>jellybean.jp</td>
</tr>
<tr>
<td>100</td>
<td>kikirara.jp</td>
</tr>
<tr>
<td>590</td>
<td>kill.jp</td>
</tr>
<tr>
<td>220</td>
<td>littlestar.jp</td>
</tr>
<tr>
<td>0</td>
<td>lolipop.jp</td>
</tr>
<tr>
<td>110</td>
<td>lolitapunk.jp</td>
</tr>
<tr>
<td>120</td>
<td>lomographer.jp</td>
</tr>
<tr>
<td>290</td>
<td>lomo.jp</td>
</tr>
<tr>
<td>680</td>
<td>lovepop.jp</td>
</tr>
<tr>
<td>550</td>
<td>lovesick.jp</td>
</tr>
<tr>
<td>440</td>
<td>main.jp</td>
</tr>
<tr>
<td>130</td>
<td>mods.jp</td>
</tr>
<tr>
<td>480</td>
<td>mond.jp</td>
</tr>
<tr>
<td>760</td>
<td>mongolian.jp</td>
</tr>
<tr>
<td>370</td>
<td>moo.jp</td>
</tr>
<tr>
<td>770</td>
<td>namaste.jp</td>
</tr>
<tr>
<td>780</td>
<td>nikita.jp</td>
</tr>
<tr>
<td>790</td>
<td>noor.jp</td>
</tr>
<tr>
<td>380</td>
<td>oops.jp</td>
</tr>
<tr>
<td>800</td>
<td>parallel.jp</td>
</tr>
<tr>
<td>810</td>
<td>parasite.jp</td>
</tr>
<tr>
<td>820</td>
<td>pecori.jp</td>
</tr>
<tr>
<td>140</td>
<td>peewee.jp</td>
</tr>
<tr>
<td>830</td>
<td>penne.jp</td>
</tr>
<tr>
<td>470</td>
<td>pepper.jp</td>
</tr>
<tr>
<td>840</td>
<td>perma.jp</td>
</tr>
<tr>
<td>850</td>
<td>pigboat.jp</td>
</tr>
<tr>
<td>430</td>
<td>pinoko.jp</td>
</tr>
<tr>
<td>30</td>
<td>pucchimoni.jp</td>
</tr>
<tr>
<td>860</td>
<td>punyu.jp</td>
</tr>
<tr>
<td>400</td>
<td>pupu.jp</td>
</tr>
<tr>
<td>160</td>
<td>pussycat.jp</td>
</tr>
<tr>
<td>610</td>
<td>pya.jp</td>
</tr>
<tr>
<td>10</td>
<td>raindrop.jp</td>
</tr>
<tr>
<td>250</td>
<td>readymade.jp</td>
</tr>
<tr>
<td>870</td>
<td>sadist.jp</td>
</tr>
<tr>
<td>310</td>
<td>schoolbus.jp</td>
</tr>
<tr>
<td>650</td>
<td>secret.jp</td>
</tr>
<tr>
<td>150</td>
<td>staba.jp</td>
</tr>
<tr>
<td>180</td>
<td>stripper.jp</td>
</tr>
<tr>
<td>390</td>
<td>sub.jp</td>
</tr>
<tr>
<td>210</td>
<td>sunnyday.jp</td>
</tr>
<tr>
<td>490</td>
<td>under.jp</td>
</tr>
<tr>
<td>500</td>
<td>upper.jp</td>
</tr>
<tr>
<td>320</td>
<td>velvet.jp</td>
</tr>
<tr>
<td>510</td>
<td>versus.jp</td>
</tr>
<tr>
<td>280</td>
<td>vivian.jp</td>
</tr>
<tr>
<td>880</td>
<td>watson.jp</td>
</tr>
<tr>
<td>260</td>
<td>whitesnow.jp</td>
</tr>
<tr>
<td>20</td>
<td>zombie.jp</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://zumomo.org/archives/116/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://zumomo.org/archives/116" />
	</item>
	</channel>
</rss>

