<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns="http://purl.org/rss/1.0/"
 xmlns:content="http://purl.org/rss/1.0/modules/content/"
 xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:syn="http://purl.org/rss/1.0/modules/syndication/"
 xmlns:admin="http://webns.net/mvcb/"
 xmlns:atom="http://www.w3.org/2005/Atom"
>
<channel rdf:about="http://blog.livedoor.jp/mikuriyahiroto/">
<title>RwJ</title>
<link>http://blog.livedoor.jp/mikuriyahiroto/</link>
<description>Ruby with Java on PHP for Linux
</description>
<dc:language>ja</dc:language>
<admin:generatorAgent rdf:resource="http://blog.livedoor.com/?v=2.0" />
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com" />
<items>
 <rdf:Seq>
  <rdf:li rdf:resource="http://blog.livedoor.jp/mikuriyahiroto/archives/51153328.html" />
  <rdf:li rdf:resource="http://blog.livedoor.jp/mikuriyahiroto/archives/51146995.html" />
  <rdf:li rdf:resource="http://blog.livedoor.jp/mikuriyahiroto/archives/51146457.html" />
  <rdf:li rdf:resource="http://blog.livedoor.jp/mikuriyahiroto/archives/51146454.html" />
  <rdf:li rdf:resource="http://blog.livedoor.jp/mikuriyahiroto/archives/51146452.html" />
  <rdf:li rdf:resource="http://blog.livedoor.jp/mikuriyahiroto/archives/51144062.html" />
  <rdf:li rdf:resource="http://blog.livedoor.jp/mikuriyahiroto/archives/51133510.html" />
  <rdf:li rdf:resource="http://blog.livedoor.jp/mikuriyahiroto/archives/51093606.html" />
  <rdf:li rdf:resource="http://blog.livedoor.jp/mikuriyahiroto/archives/51079028.html" />
  <rdf:li rdf:resource="http://blog.livedoor.jp/mikuriyahiroto/archives/51076923.html" />
  <rdf:li rdf:resource="http://blog.livedoor.jp/mikuriyahiroto/archives/51071561.html" />
  <rdf:li rdf:resource="http://blog.livedoor.jp/mikuriyahiroto/archives/51070019.html" />
  <rdf:li rdf:resource="http://blog.livedoor.jp/mikuriyahiroto/archives/51067836.html" />
  <rdf:li rdf:resource="http://blog.livedoor.jp/mikuriyahiroto/archives/51067747.html" />
  <rdf:li rdf:resource="http://blog.livedoor.jp/mikuriyahiroto/archives/51067595.html" />
 </rdf:Seq>
</items>
</channel>
<item rdf:about="http://blog.livedoor.jp/mikuriyahiroto/archives/51153328.html">
<title>[SAStruts]Tomcat起動時に初回のみ呼び出す独自のクラスでデータベース接続</title>
<link>http://blog.livedoor.jp/mikuriyahiroto/archives/51153328.html</link>
<description>SAStruts(Super Agile Struts)の開発、設定方法に苦戦した。

やりたいことは以下。
１．WebサーバTomcat起動時に独自に作成したクラスを呼び出したい。
２．呼び出したクラス内でデータベースにSELECTを発行し、取得したレコードをメモリに読み込みたい。

1点目の解...</description>
<dc:creator>mikuriyahiroto</dc:creator>
<dc:date>2008-12-11T17:38:31+09:00</dc:date>
<dc:subject>Java</dc:subject>
<content:encoded><![CDATA[SAStruts(Super Agile Struts)の開発、設定方法に苦戦した。<br/>
<br/>
やりたいことは以下。<br/>
<b>１．WebサーバTomcat起動時に独自に作成したクラスを呼び出したい。</b><br/>
<b>２．呼び出したクラス内でデータベースにSELECTを発行し、取得したレコードをメモリに読み込みたい。</b><br/>
<br/>
1点目の解決法は、customizer.diconにinitializeServiceを設定すれば解決できる。
<pre>（customizer.diconへの設定例）
&lt;components&gt;
...(中略)
    &lt;component name="initializeService" class="jp.mikuriya.Init"&gt;
        &lt;initMethod name="init"&gt;
            &lt;arg>"/home/hoge/sample/property/sys.properties"&lt;/arg&gt;
        &lt;/initMethod&gt;
    &lt;/component&gt;
&lt;components&gt;</pre>
<br/>
<pre>（クラスの記述例）
package jp.mikuriya;

import org.seasar.extension.jdbc.JdbcManager;

public class Init {
    public JdbcManager jdbcManager;

    public void init(String propertyFile) {
        /* -------------------- */
        /* 適当な処理内容を記述 */
        /* -------------------- */
        System.out.println("Tomcat起動時に呼ばれたよ。[propertyFile=" + propertyFile + "]");
    }
}</pre>

Tomcatを起動すればこれでSystem.outは実行される。<br/><br/>
しかし、上記の「クラスの記述例」で記述している「JdbcManager jdbcManager」に注目してもらいたい。<br/>
フィールドに設定しておくと、勝手にデータベースに接続してくれる<br/>
SAStrutsの特徴であるJdbcManagerが記述されている。<br/>
これがどうにも上手くいかない。<br/>
うまくいかないとはデータベースに接続できないってこと。<br/>
<br/>
Tomcatのログ(catalina.out)を確認すると、以下のようなメッセージが出力されている。
<pre>「...プロパティ(jdbcManager)が見つからないので設定をスキップします」</pre>

Tomcatのログをもっと確認してみると、customizer.diconを呼び出しているようなログが<br/>
s2jdbc.diconを呼び出しているようなログよりも前の行に表示されている。<br/>
ってことは、s2jdbc.diconを呼び出してから、例題のプログラムを起動させればよいと考えた。<br/>
<br/>
そこで先ほどcustomizer.diconに設定していた内容を切り取って、<br/>
s2jdbc.diconに追加する。
<pre>（s2jdbc.diconへの設定例）
&lt;components>
...(中略)
    &lt;component name="initializeService" class="jp.mikuriya.Init"&gt;
        &lt;initMethod name="init"&gt;
            &lt;arg&gt;"/home/hoge/sample/property/sys.properties"&lt;/arg&gt;
        &lt;/initMethod&gt;
    &lt;/component&gt;
&lt;/components&gt;</pre>
<br/>
これで再度Tomcatのログを確認してみると、s2jdbc.diconを呼び出した後に<br/>
System.outが出力されているのがわかる。<br/>
<br/>
他にやり方がありそうなのだが、わかんねぇ。

<img src="http://counter2.blog.livedoor.com/c?ro=1&act=rss&output=no&id=1525317&name=mikuriyahiroto&pid=51153328" width="1" height="1" />
]]>
</content:encoded>
</item>
<item rdf:about="http://blog.livedoor.jp/mikuriyahiroto/archives/51146995.html">
<title>[PHP]フレームワーク「CakePHP」のインストールと設定</title>
<link>http://blog.livedoor.jp/mikuriyahiroto/archives/51146995.html</link>
<description>symfonyも良かったが、学ぶ時間が限られているので、
もう少し手軽に開発できるCakePHPに方向転換。
手軽というか構造がRuby on Railsに近いっていった方が適切かも。

■作業する前に(インストール編)
最低でもApacheとPHPはインストールしておく。
以下を参考に。
...</description>
<dc:creator>mikuriyahiroto</dc:creator>
<dc:date>2008-11-17T01:25:54+09:00</dc:date>
<dc:subject>PHP</dc:subject>
<content:encoded><![CDATA[symfonyも良かったが、学ぶ時間が限られているので、<br/>
もう少し手軽に開発できるCakePHPに方向転換。<br/>
手軽というか構造がRuby on Railsに近いっていった方が適切かも。<br/>
<br/>
<b>■作業する前に(インストール編)</b><br/>
最低でもApacheとPHPはインストールしておく。<br/>
以下を参考に。<br/>
<br/>
「ほぼパクり」Windows VistaにApache2.2をインストール<br/>
<a href="http://blog.livedoor.jp/mikuriyahiroto/archives/51146452.html" target="_blank">http://blog.livedoor.jp/mikuriyahiroto/archives/51146452.html</a><br/>
Windows VistaにPHPをインストールするための参考サイト<br/>
<a href="http://blog.livedoor.jp/mikuriyahiroto/archives/51146454.html" target="_blank">http://blog.livedoor.jp/mikuriyahiroto/archives/51146454.html</a><br/>
<br/>
CakePHPの前にApacheの設定から。<br/>
httpd.confの設定はよく知らないから、詳しくは他で調べてほしい。<br/>
<br/>
まずmod_rewriteを有効にする。
<pre>LoadModule rewrite_module modules/mod_rewrite.so</pre>
<br/>
次にhtdocsの設定でAllowOverrideをAllに変更。
<pre>&lt;Directory "C:/Apache2.2/htdocs"&gt;
...
...
  AllowOverride All
...</pre>
<br/>
編集したらApache再起動<br/>
<br/>
<b>■CakePHPのインストール</b><br/>
「<a href="http://cakephp.org/" target="_blank">http://cakephp.org/</a>」からCakePHPをダウンロードする。<br/>
<br/>
「cake_1.2.0.7692-rc3.zip」を解凍し、フォルダの名前を変えて<br/>
${APACHE_HOME}/htdocsに設置<br/>
※1.1.X系をダウンロードすると、ディレクトリ構造が多少違うため、オススメしない<br/>
<br/>
ブラウザを開いて、http://localhost/{変更したフォルダ名}に接続。<br/>
以上<br/>

<img src="http://counter2.blog.livedoor.com/c?ro=1&act=rss&output=no&id=1525317&name=mikuriyahiroto&pid=51146995" width="1" height="1" />
]]>
</content:encoded>
</item>
<item rdf:about="http://blog.livedoor.jp/mikuriyahiroto/archives/51146457.html">
<title>「書くのが面倒臭せぇ」symfonyの参考サイト紹介</title>
<link>http://blog.livedoor.jp/mikuriyahiroto/archives/51146457.html</link>
<description>PHPとか結構ナメてるけど、
Javaを個人の金銭で動かせるレンタルサーバがないので
PHPも勉強しなきゃいけないかな、と思った。

そんで今回symfonyっていうフレームワークを勉強することにした。
やっててわかったけど、最近のフレームワークは「Ruby on Rails」に近い...</description>
<dc:creator>mikuriyahiroto</dc:creator>
<dc:date>2008-11-15T03:17:02+09:00</dc:date>
<dc:subject>PHP</dc:subject>
<content:encoded><![CDATA[PHPとか結構ナメてるけど、<br/>
Javaを個人の金銭で動かせるレンタルサーバがないので<br/>
PHPも勉強しなきゃいけないかな、と思った。<br/>
<br/>
そんで今回symfonyっていうフレームワークを勉強することにした。<br/>
やっててわかったけど、最近のフレームワークは「Ruby on Rails」に近いのね。<br/>
コマンドベースで楽に開発できる。<br/>
<br/>
<a href="http://blog.livedoor.jp/mikuriyahiroto/archives/51146454.html" target="_blank">PHPのインストール</a>もそうだけど、解説文を書くのが面倒になってきたので<br/>
最適な参考サイトを紹介する。<br/>
<br/>
<b>■symfony入門（1）：symfonyで始めるPHPフレームワーク</b><br/>
<a href="http://codezine.jp/article/detail/704?p=1" target="_blank">http://codezine.jp/article/detail/704?p=1</a><br/>

<img src="http://counter2.blog.livedoor.com/c?ro=1&act=rss&output=no&id=1525317&name=mikuriyahiroto&pid=51146457" width="1" height="1" />
]]>
</content:encoded>
</item>
<item rdf:about="http://blog.livedoor.jp/mikuriyahiroto/archives/51146454.html">
<title>Windows VistaにPHPをインストールするための参考サイト</title>
<link>http://blog.livedoor.jp/mikuriyahiroto/archives/51146454.html</link>
<description>解説文を書くのが面倒になってきたので、
Windows VistaへのPHPのインストールは以下で見て。

■Windows VistaにPHP5をインストール - ウシヲシュトスル
http://miruneko.at.webry.info/200708/article_2.html
</description>
<dc:creator>mikuriyahiroto</dc:creator>
<dc:date>2008-11-15T02:59:02+09:00</dc:date>
<dc:subject>PHP</dc:subject>
<content:encoded><![CDATA[解説文を書くのが面倒になってきたので、<br/>
Windows VistaへのPHPのインストールは以下で見て。<br/>
<br/>
<b>■Windows VistaにPHP5をインストール - ウシヲシュトスル</b><br/>
<a href="http://miruneko.at.webry.info/200708/article_2.html" target="_blank">http://miruneko.at.webry.info/200708/article_2.html</a>

<img src="http://counter2.blog.livedoor.com/c?ro=1&act=rss&output=no&id=1525317&name=mikuriyahiroto&pid=51146454" width="1" height="1" />
]]>
</content:encoded>
</item>
<item rdf:about="http://blog.livedoor.jp/mikuriyahiroto/archives/51146452.html">
<title>「ほぼパクり」Windows VistaにApache2.2をインストール</title>
<link>http://blog.livedoor.jp/mikuriyahiroto/archives/51146452.html</link>
<description>Windows VistaにApache2.2をインストールするには、ちょっと工夫が必要。
Vistaって無駄にセキュリティを重視しているから、
その権限が邪魔になってインストールに失敗するみたい。

■Vista特有の権限を解除する
Vistaの権限がウザいんで解除する(？)


印がついて...</description>
<dc:creator>mikuriyahiroto</dc:creator>
<dc:date>2008-11-15T02:46:14+09:00</dc:date>
<dc:subject>Windows</dc:subject>
<content:encoded><![CDATA[Windows VistaにApache2.2をインストールするには、ちょっと工夫が必要。<br/>
Vistaって無駄にセキュリティを重視しているから、<br/>
その権限が邪魔になってインストールに失敗するみたい。<br/>
<br/>
<b>■Vista特有の権限を解除する</b><br/>
Vistaの権限がウザいんで解除する(？)<br/>
<br/>
<img src="http://livedoor.blogimg.jp/mikuriyahiroto/imgs/1/9/19228364.jpg" width="600"/><br/>
印がついている場所を開く。<br/>
<br/>
<img src="http://livedoor.blogimg.jp/mikuriyahiroto/imgs/e/3/e3e4dc51.jpg" width="600"/><br/>
印がついている場所を開く。<br/>
<br/>
<img src="http://livedoor.blogimg.jp/mikuriyahiroto/imgs/4/8/483423e9.jpg" width="600"/><br/>
チェックボックスをはずす。<br/>
そしてパソコン再起動。<br/>
<br/>
<b>■Apache2.2のインストール</b><br/>
今回使用したのは「apache_2.2.10-win32-x86-openssl-0.9.8i.msi」。<br/>
そのまま実行するのではなく、コマンドプロンプトを特殊な方法で開かなければいけない。<br/>
<br/>
・「スタート」<br/>
・「すべてのプログラム」<br/>
・「アクセサリ」<br/>
・「コマンドプロンプト」を右クリック<br/>
・「管理者権限として実行」<br/>
<img src="http://livedoor.blogimg.jp/mikuriyahiroto/imgs/4/5/457b7bcc.jpg"/><br/>
<br/>
<pre>cd C:\Wndows\System32
msiexec /i C:\Users\mikuriya\Downloads\apache_2.2.10-win32-x86-openssl-0.9.8i.msi</pre>
<br/>
インストーラが立ち上がったら、あとはいつも通りで。<br/>
<br/>
今回参考にしたサイトに全てが載ってるので、<br/>
分かりにくかったら以下。<br/>
<br/>
<b>Windows VistaにApacheをインストール - ウシヲシュトスル</b><br/>
<a href="http://miruneko.at.webry.info/200707/article_16.html" target="_blank">http://miruneko.at.webry.info/200707/article_16.html</a>

<img src="http://counter2.blog.livedoor.com/c?ro=1&act=rss&output=no&id=1525317&name=mikuriyahiroto&pid=51146452" width="1" height="1" />
]]>
</content:encoded>
</item>
<item rdf:about="http://blog.livedoor.jp/mikuriyahiroto/archives/51144062.html">
<title>同姓同名って、いるんだな</title>
<link>http://blog.livedoor.jp/mikuriyahiroto/archives/51144062.html</link>
<description>Googleで自分の名前をフルネームで検索してみた。
俺の名前は珍しいので他人とかぶることがないと思っていたわけで、
検索結果は間違いなく俺・・・かと思っていた。
しかし俺と２件関係のない検索結果が引っかかった。

ひとつは、「名前占い」とかいうランダムに名前...</description>
<dc:creator>mikuriyahiroto</dc:creator>
<dc:date>2008-11-06T01:46:56+09:00</dc:date>
<dc:subject></dc:subject>
<content:encoded><![CDATA[Googleで自分の名前をフルネームで検索してみた。<br/>
俺の名前は珍しいので他人とかぶることがないと思っていたわけで、<br/>
検索結果は間違いなく俺・・・かと思っていた。<br/>
しかし俺と２件関係のない検索結果が引っかかった。<br/>
<br/>
ひとつは、「名前占い」とかいうランダムに名前を生成するサイト。<br/>
そしてもうひとつ。これがやばい。<br/>
では以下のURLから、俺と同姓同名の人間を探してもらいたい。<br/>
<a href="http://www.chuo-tky.ed.jp/~tsukuda-es/galtukousosiki.pdf" target="_blank">http://www.chuo-tky.ed.jp/~tsukuda-es/galtukousosiki.pdf</a><br/>
<br/>
しかも奇跡的に嫁の同姓同名(結婚前)もいた。<br/>
偶然ってあるのね。<br/>

<img src="http://counter2.blog.livedoor.com/c?ro=1&act=rss&output=no&id=1525317&name=mikuriyahiroto&pid=51144062" width="1" height="1" />
]]>
</content:encoded>
</item>
<item rdf:about="http://blog.livedoor.jp/mikuriyahiroto/archives/51133510.html">
<title>今年最強のサービスはこれ！英語学習サイト「iKnow!」</title>
<link>http://blog.livedoor.jp/mikuriyahiroto/archives/51133510.html</link>
<description>ひさびさにブログを更新する。

昨日知ったサイトなんだが、信じられないくらいすごいサイト。
英語学習サイト「iKnow!」


これはすごい。やればわかる。
「無料でいいの！？」と思ってしまう。

サイトの操作性に若干の改善点が見られるが、
それ以外は一通りの...</description>
<dc:creator>mikuriyahiroto</dc:creator>
<dc:date>2008-10-03T02:44:17+09:00</dc:date>
<dc:subject>話題</dc:subject>
<content:encoded><![CDATA[ひさびさにブログを更新する。<br/>
<br/>
昨日知ったサイトなんだが、信じられないくらいすごいサイト。<br/>
<a href="http://www.iknow.co.jp/" target="_blank">英語学習サイト「iKnow!」</a><br/><br/>
<img src="http://livedoor.blogimg.jp/mikuriyahiroto/imgs/b/6/b6074a38.jpg"/><br/>
<br/>
これはすごい。やればわかる。<br/>
「無料でいいの！？」と思ってしまう。<br/>
<br/>
サイトの操作性に若干の改善点が見られるが、<br/>
それ以外は一通りの機能が揃っているため、穴がない。<br/>
<br/>
これまた外国人のための日本語学習版もすごい。<br/>
一寸の狂いも無い音声がウケる<br/>
<br/>
とりあえずやっとけ。

<img src="http://counter2.blog.livedoor.com/c?ro=1&act=rss&output=no&id=1525317&name=mikuriyahiroto&pid=51133510" width="1" height="1" />
]]>
</content:encoded>
</item>
<item rdf:about="http://blog.livedoor.jp/mikuriyahiroto/archives/51093606.html">
<title>Javaオープンソース「Nutch」はクロール→インデクシング→検索までいける</title>
<link>http://blog.livedoor.jp/mikuriyahiroto/archives/51093606.html</link>
<description>Nutchというクローラ、インデクサ、検索を行なうオープンソースがあったので、
軽く触ってみた。
Nutch内部ではLucene、Hadoopが動作してるようなので、勉強にはちょうどいいかと思う。
早速、インストールから動作までの解説をする。

■クローラ
1.Nutch本体ダウンロ...</description>
<dc:creator>mikuriyahiroto</dc:creator>
<dc:date>2008-06-03T13:06:48+09:00</dc:date>
<dc:subject>Java</dc:subject>
<content:encoded><![CDATA[Nutchというクローラ、インデクサ、検索を行なうオープンソースがあったので、<br/>
軽く触ってみた。<br/>
Nutch内部ではLucene、Hadoopが動作してるようなので、勉強にはちょうどいいかと思う。<br/>
早速、インストールから動作までの解説をする。<br/>
<br/>
<b>■クローラ</b><br/>
<b>1.Nutch本体ダウンロード、解凍</b>
<pre># tar -xvzf nutch-0.9.tar.gz
# mv nutch-0.9 /usr/local/nutch</pre>
<br/>
<b>2.環境変数にパスを通す</b>
<pre># vi /etc/bashrc

export NUTCH_HOME=/usr/local/nutch
export PATH=${NUTCH_HOME}/bin:${PATH}

# source /etc/bashrc</pre>
<br/>
<b>3.クロール先を決める</b><br/>
クロール先URLリストを作成する。<br/>
今回は2サイトをクロールする予定。
<pre># cd ${NUTCH_HOME}
# mkdir crawl_urls
# vi crawl_urls/corporate_sites
http://www.datasection.co.jp/
# vi crawl_urls/blogs
http://blog.livedoor.jp/mikuriyahiroto/</pre>
<br/>
要は作成したディレクトリcrawl_urls以下に1行1URLで<br/>
クロールしたいサイトの開始位置をどんどん記述するってことみたい。<br/>
<br/>
<b>4.クロールのフィルタ設定</b><br/>
今回のクロール対象は2サイトなので、それ以外はクロールしたくない。<br/>
以下のファイルに正規表現でフィルタリングを行なう。(正規表現はJava仕様)
<pre># cd ${NUTCH_HOME}
# vi conf/crawl-urlfilter.txt

(修正前)
+^http://([a-z0-9]*\.)*MY.DOMAIN.NAME/
(修正後)
+^http://www\.datasection\.co\.jp/
+^http://blog\.livedoor\.jp/mikuriyahiroto/</pre>
※よく見ると先頭に「+」とか「-」が入ってる。<br/>
クロールしたいURLパターンは「+」、クロールしたくないURLパターンは「-」を<br/>
このファイルに追加していくようだ。<br/>
<br/>
<b>5.クロール設定</b><br/>
クロール用の設定ファイルは初期段階では何も書かれていないので、<br/>
nutch-default.xmlをそのままコピーしてくる。
<pre># cat conf/nutch-default.xml &gt; nutch-site.xml</pre>
nutch-site.xmlの「http.agent.name」は必須っぽい。適当な名前をつけて。<br/>
私の場合は、クロールしたデータを「/usr/local/nutch/crawl_data」に<br/>
格納したいので以下を編集した。
<pre># vi conf/nutch-site.xml
&lt;property&gt;
  &lt;name&gt;searcher.dir&lt;/name&gt;
  &lt;value>/usr/local/nutch/crawl_data&lt;/value&gt;　←　ここを編集した
  &lt;description&gt;
    ...
  &lt;/description&gt;
&lt;/property&gt;</pre>

nutch-site.xmlには、propertyのdescription属性に<br/>
設定の説明が書いてあるので、各自適当に読んで設定してもらいたい。<br/>
<br/>
<b>6.クロール開始</b>
<pre># /usr/local/nutch/bin/nutch crawl /usr/local/nutch/crawl_urls -dir /usr/local/nutch/crawl_data -depth 3 -topN 50 &</pre>
※なおcrawl_dataは勝手に作成されるので、いちいち作らなくてよい。<br/>
<br/>
<b>■WEBアプリケーション</b><br/>
Tomcatからクロールしたデータを検索表示することができるので、その設定を行なう。<br/>
${NUTCH_HOME}/nutch-0.9.warがその実体。
<pre># cd ${NUTCH_HOME}
# mkdir nutch_web
# cp nutch-0.9.war nutch_web/
# cd nutch_web
# unzip nutch-0.9.war</pre>
<br/>
解凍したアプリケーションの設定ファイルには、何も書かれていないので<br/>
クロール用で使用した設定ファイルを上書きしてやる。
<pre># cp conf/nutch-site.xml nutch_web/WEB-INF/classes/nutch-site.xml</pre>
<br/>
Tomcatで見れるようにシンボリックリンクを貼る。
<pre># cd /usr/local/tomcat/webapps
# ln -s /usr/local/nutch/nutch_web nutch</pre>
<br/>
Tomcat起動
<pre># /usr/local/tomcat/bin/startup.sh</pre>
<br/>
<b>■検索結果のウェブ画面</b><br/>
<img src="http://livedoor.blogimg.jp/mikuriyahiroto/imgs/4/e/4ef07edc.jpg"/><br/>
<br/>
<br/>
形態素解析器Senの導入(日本語対応)、Hadoopによる分散(複数のサーバで運用)、<br/>
その他パフォーマンスなどは、もったいないから教えない。<br/>
<br/>
<b>■参考URL：</b><br/>
<a href="http://dev.team-lab.com/index.php?itemid=120" target="_blank">http://dev.team-lab.com/index.php?itemid=120</a><br/>
<a href="http://kazuhiro.ty.land.to/blog/2007/01/nutch.html" target="_blank">http://kazuhiro.ty.land.to/blog/2007/01/nutch.html</a>

<img src="http://counter2.blog.livedoor.com/c?ro=1&act=rss&output=no&id=1525317&name=mikuriyahiroto&pid=51093606" width="1" height="1" />
]]>
</content:encoded>
</item>
<item rdf:about="http://blog.livedoor.jp/mikuriyahiroto/archives/51079028.html">
<title>Windowsで「右クリック→送る」に好きなソフトウェアをセッティングする方法</title>
<link>http://blog.livedoor.jp/mikuriyahiroto/archives/51079028.html</link>
<description>拡張子を独自に設定した時、テキストエディタで開こうと思っても
わざわざソフトウェアを選択しなくてはならない。
1回だけならまだしも何度もこれを行なうのは面倒くさい。

そこで下のように「右クリック→送る」のメニューにテキストエディタの
ショートカットを追加...</description>
<dc:creator>mikuriyahiroto</dc:creator>
<dc:date>2008-04-25T15:11:15+09:00</dc:date>
<dc:subject>Windows</dc:subject>
<content:encoded><![CDATA[拡張子を独自に設定した時、テキストエディタで開こうと思っても<br/>
わざわざソフトウェアを選択しなくてはならない。<br/>
1回だけならまだしも何度もこれを行なうのは面倒くさい。<br/>
<br/>
そこで下のように「右クリック→送る」のメニューにテキストエディタの<br/>
ショートカットを追加する方法を紹介。<br/>
<img src="http://livedoor.blogimg.jp/mikuriyahiroto/imgs/f/1/f150c4f3.jpg"/><br/>
<br/>
<b>■スタートメニュー</b><br/>
「スタートメニュー」→「ファイル名を指定して実行」<br/>
<img src="http://livedoor.blogimg.jp/mikuriyahiroto/imgs/8/4/84d346f5.jpg"/><br/>
<br/>
<b>■ファイル名を指定して実行</b><br/>
「sendto」と入力し「OK」<br/>
<img src="http://livedoor.blogimg.jp/mikuriyahiroto/imgs/c/c/ccba52c6.jpg"/><br/>
<br/>
<b>■ショートカットを追加</b><br/>
テキストエディタのショートカットを追加する。<br/>
この例の場合は「TeraPad」と「K2Editor」を追加している。<br/>
<img src="http://livedoor.blogimg.jp/mikuriyahiroto/imgs/8/4/84800626.jpg"/><br/>
<br/>
これで毎回テキストエディタを指定しなくてよくなる。<br/>
多少便利になった。<br/>

<img src="http://counter2.blog.livedoor.com/c?ro=1&act=rss&output=no&id=1525317&name=mikuriyahiroto&pid=51079028" width="1" height="1" />
]]>
</content:encoded>
</item>
<item rdf:about="http://blog.livedoor.jp/mikuriyahiroto/archives/51076923.html">
<title>Railsのパクリ「Grails」は本当にパクリだった</title>
<link>http://blog.livedoor.jp/mikuriyahiroto/archives/51076923.html</link>
<description>Ruby on RailsのパクリGrailsをちょっとだけ触ってみた。
基本的にRuby on Railsをパクっているので、
結果的に必要ないかな、というのが率直な感想。

■Grailsのインストール
以下の解説で分からなかったら本家を見ろ。

1.grails-bin-1.0.2.zipをダウンロード
htt...</description>
<dc:creator>mikuriyahiroto</dc:creator>
<dc:date>2008-04-19T12:17:13+09:00</dc:date>
<dc:subject>Java</dc:subject>
<content:encoded><![CDATA[Ruby on RailsのパクリGrailsをちょっとだけ触ってみた。<br/>
基本的にRuby on Railsをパクっているので、<br/>
結果的に必要ないかな、というのが率直な感想。<br/>
<br/>
<b>■Grailsのインストール</b><br/>
以下の解説で分からなかったら<a href="http://grails.codehaus.org/Japanese+Installation" target="_blank">本家</a>を見ろ。<br/>
<br/>
1.grails-bin-1.0.2.zipをダウンロード<br/>
<a href="http://grails.codehaus.org/Download" target="_blank">http://grails.codehaus.org/Download</a><br/>
2.解凍し、適当なディレクトリに設置。<br/>
3.設置したディレクトリを環境変数にGRAILS_HOMEとして設定する。<br/>
4.環境変数PATHにGRAILS_HOME/binも設定する。<br/>
5.コマンドプロンプトを開き、以下のコマンドを実行してみる。
<pre>grails help</pre>
※ヘルプが表示されればインストール完了。<br/>
<br/>
<b>■サンプルアプリケーションを作成</b><br/>
まぁこれも<a href="http://grails.codehaus.org/Japanese+Quick+Start" target="_blank">本家</a>を見れば出来るけど解説。<br/>
<br/>
1.コマンドプロンプトを開く。<br/>
2.アプリケーションを作成する。<br/>
アプリケーションの名前を聞かれたら「fuck」を入力し、完了。<br/>
※作成中のログに作成したアプリケーションのパスが表示される。
<pre>grails create-app
Please enter: fuck</pre>
<br/>
3.作成したアプリケーションのディレクトリまで移動する。
<pre>cd C:/Users/UserName/fuck</pre>
※私の場合はWindows Vistaなのでこのパス<br/>
<br/>
4.Youというクラスを作成する。<br/>
作成するとgrails-app/domainにYou.groovyというファイルが出来上がる。
<pre>grails create-domain-class
Please enter: You</pre>
<br/>
5.You.groovyを編集する。<br/>
idとversionは必須項目なのかな？
<pre>class You {
    Long id
    Long version

    String yourname
}</pre>
<br/>
6.コントローラを作成すればあとはサーバを起動するだけ。<br/>
以下のコマンドを実行するとgrails-app/controllersに<br/>
YouController.groovyが出来上がる。
<pre>grails generate-all
Please enter: you</pre>
<br/>
7.YouController.groovyを編集する。
<pre>class YouController {
    def scaffold = You
}</pre>
<br/>
8.サーバを起動する。
<pre>grails run-app
...
...
Server running. Browse to http://localhost:8080/fuck
2008-04-19 11:10:33.791:/fuck:INFO:  GSP servlet initialized</pre>
<br/>
9.ブラウザからhttp://localhost:8080/fuckへ接続する。<br/>
<img src="http://livedoor.blogimg.jp/mikuriyahiroto/imgs/d/1/d146aabf.jpg"/><br/>
<br/>
10.それからhttp://localhost:8080/fuck/youに接続。<br/>
<img src="http://livedoor.blogimg.jp/mikuriyahiroto/imgs/5/b/5b5a1af3.jpg"/><br/>
<br/>
わざわざJavaベースではなく、Ruby on railsでいいんじゃん？<br/>

<img src="http://counter2.blog.livedoor.com/c?ro=1&act=rss&output=no&id=1525317&name=mikuriyahiroto&pid=51076923" width="1" height="1" />
]]>
</content:encoded>
</item>
<item rdf:about="http://blog.livedoor.jp/mikuriyahiroto/archives/51071561.html">
<title>俺のiGoogle(ジブリ版)がリニューアル？</title>
<link>http://blog.livedoor.jp/mikuriyahiroto/archives/51071561.html</link>
<description>先ほどブラウザを開いたらナウシカがおっきくなってた。



今後のキャラクターが楽しみ。

■以前の記事
http://blog.livedoor.jp/mikuriyahiroto/archives/51067595.html
http://blog.livedoor.jp/mikuriyahiroto/archives/51065405.html</description>
<dc:creator>mikuriyahiroto</dc:creator>
<dc:date>2008-04-04T13:23:39+09:00</dc:date>
<dc:subject>話題</dc:subject>
<content:encoded><![CDATA[先ほどブラウザを開いたらナウシカがおっきくなってた。<br/>
<br/>
<img src="http://livedoor.blogimg.jp/mikuriyahiroto/imgs/7/f/7f149d8b.jpg"/><br/>
<br/>
今後のキャラクターが楽しみ。<br/>
<br/>
■以前の記事<br/>
<a href="http://blog.livedoor.jp/mikuriyahiroto/archives/51067595.html" target="_blank">http://blog.livedoor.jp/mikuriyahiroto/archives/51067595.html</a><br/>
<a href="http://blog.livedoor.jp/mikuriyahiroto/archives/51065405.html" target="_blank">http://blog.livedoor.jp/mikuriyahiroto/archives/51065405.html</a>
<img src="http://counter2.blog.livedoor.com/c?ro=1&act=rss&output=no&id=1525317&name=mikuriyahiroto&pid=51071561" width="1" height="1" />
]]>
</content:encoded>
</item>
<item rdf:about="http://blog.livedoor.jp/mikuriyahiroto/archives/51070019.html">
<title>unixODBCのインストール</title>
<link>http://blog.livedoor.jp/mikuriyahiroto/archives/51070019.html</link>
<description>ODBCのインストールを行なった。
今回はソースからコンパイルを行なう。
しかし、以下のようなエラーが発生した。
# tar -xvzf unixODBC-2.2.12.tar.gz
# cd  unixODBC-2.2.12
# ./configure --prefix=/home/hoge/unixODBC
...
checking for semundo union... yes
ch...</description>
<dc:creator>mikuriyahiroto</dc:creator>
<dc:date>2008-03-31T15:53:49+09:00</dc:date>
<dc:subject>Linux</dc:subject>
<content:encoded><![CDATA[<a href="http://e-words.jp/w/ODBC.html" target="_blank">ODBC</a>のインストールを行なった。<br/>
今回はソースからコンパイルを行なう。<br/>
しかし、以下のようなエラーが発生した。
<pre># tar -xvzf unixODBC-2.2.12.tar.gz
# cd  unixODBC-2.2.12
# ./configure --prefix=/home/hoge/unixODBC
...
checking for semundo union... yes
checking for socket in -lsocket... no
checking for gethostbyname in -lnsl... yes
checking for X... no
configure: checking for Qt
checking for Qt headers... no
configure: error: cannot find correct Qt headers!</pre>
<br/>
<a href="http://blogs.grf-design.com/archives/2007/04/howto_linux_tal.html" target="_blank">http://blogs.grf-design.com/archives/2007/04/howto_linux_tal.html</a>
<pre>正直に言うとソースからのインストールも試みたのですが、Qt ライブラリがないというエラーで
./configure から先に進みませんでした。Web サイトによると Qt は設定用の GUI に必要で、
なければ無視して先に進むとあったのですが…</pre>
<br/>
だそうだ。<br/>
GUIは使用しないので--disable-guiオプションを付与。
<pre># ./configure --prefix=/home/hoge/unixODBC --disable-gui
# make
# make install</pre>
<br/>
成功。<br/>

<img src="http://counter2.blog.livedoor.com/c?ro=1&act=rss&output=no&id=1525317&name=mikuriyahiroto&pid=51070019" width="1" height="1" />
]]>
</content:encoded>
</item>
<item rdf:about="http://blog.livedoor.jp/mikuriyahiroto/archives/51067836.html">
<title>1台のサーバに複数のMySQLをインストールしてみた。</title>
<link>http://blog.livedoor.jp/mikuriyahiroto/archives/51067836.html</link>
<description>前回はApacheだったが、今回は1台のサーバに複数のMySQL5.0をインストールするメモ。
「Source downloads」から「Compressed GNU TAR archive」をダウンロード。

■今回の環境
以下の環境を想定して解説する。
サーバ：CentOS 5
ビット：64bit
MySQLインストールディ...</description>
<dc:creator>mikuriyahiroto</dc:creator>
<dc:date>2008-03-25T20:42:31+09:00</dc:date>
<dc:subject>Linux</dc:subject>
<content:encoded><![CDATA[前回はApacheだったが、今回は1台のサーバに複数のMySQL5.0をインストールするメモ。<br/>
「<a href="http://dev.mysql.com/downloads/mysql/5.0.html#source" target="_blank">Source downloads</a>」から「Compressed GNU TAR archive」をダウンロード。<br/>
<br/>
<b>■今回の環境</b><br/>
以下の環境を想定して解説する。
<pre>サーバ：CentOS 5
ビット：64bit
MySQLインストールディレクトリ：/home/hoge/mysql
ポート番号：1235</pre>
<br/>
<b>■MySQLインストール</b>
<pre># su - hoge
# wget http://hoge.hoge.hoge/hoge/mysql-5.0.51a.tar.gz
# tar -xvzf mysql-5.0.51a.tar.gz
# cd mysql-5.0.51a
# ./configure --prefix=/home/hoge/mysql \
--with-mysqld-user=hoge \
--with-charset=utf8 \
--with-extra-charsets=all \
--with-tcp-port=1235
...
checking for tgetent in -lncurses... no
checking for tgetent in -lcurses... no
checking for tgetent in -ltermcap... no
checking for tgetent in -ltinfo... no
checking for termcap functions library... configure: error: No curses/termcap library found</pre>
上記のようなエラーが発生。<br/>
どうやらcursesとかいうものが指定されていないっぽい。これも64bitだからか？<br/>
<br/>
configureのhelpを見たら「with-named-curses-libs」なるものが。<br/>
試しにオプションつけて再度実行。
<pre># ./configure --prefix=/home/hoge/mysql \
--with-mysqld-user=hoge \
--with-charset=utf8 \
--with-extra-charsets=all \
--with-tcp-port=1235 \
--with-named-curses-libs=/usr/lib64/libncurses.so.5
# make
# make install</pre>
正常にいった。<br/>
<br/>
my-medium.cnfをコピーする。
<pre># cp /home/hoge/mysql-5.0.51a/support-files/my-medium.cnf /home/hoge/mysql/my.cnf</pre>
my.cnfを編集する。まずmysql.sockのパスが重複しそうなので変更する。
<pre>(修正前) socket = /tmp/mysql.sock
(修正後) socket = /home/hoge/mysql/mysql.sock</pre>
ポート番号もconfigure時に設定した値になっているか確認する。<br/>
<br/>
<b>■mysql_install_db</b><br/>
データベースの初期化を行なう。
<pre># cd /home/hoge/mysql-5.0.51a/scripts
# ./mysql_install_db --user=hoge --datadir=/home/hoge/mysql/data</pre>
<br/>
<b>■MySQL起動、動作チェック</b><br/>
デフォルトのmy.cnfを読み込まないようmysqld_safeのオプションで指定する。
<pre># ./mysqld_safe --defaults-file=/home/hoge/mysql/my.cnf \
--pid-file=/home/hoge/mysql/mysqld.pid \
--log-error=/home/hoge/mysql/log/mysqld.log &</pre>
<br/>
ポート番号とmysql.sockを指定してログインする。<br/>
念のため、/home/hoge/mysql/bin以下のmysqlを使用した方がよいかもね。
<pre># /home/hoge/mysql/bin/mysql -u root -P1235 --socket=/home/hoge/mysql/mysql.sock</pre>

<img src="http://counter2.blog.livedoor.com/c?ro=1&act=rss&output=no&id=1525317&name=mikuriyahiroto&pid=51067836" width="1" height="1" />
]]>
</content:encoded>
</item>
<item rdf:about="http://blog.livedoor.jp/mikuriyahiroto/archives/51067747.html">
<title>64bit環境のサーバに複数のApacheを入れてみた。</title>
<link>http://blog.livedoor.jp/mikuriyahiroto/archives/51067747.html</link>
<description>1台のサーバに複数のApacheを入れる機会があったので、そのメモ。
すでに1個Apacheがインストールされていてポートはデフォルトの「80」だった。
通常通りインストールすると競合してしまうので、いろいろ設定した。

■今回の環境
今回は以下の環境を想定して解説する...</description>
<dc:creator>mikuriyahiroto</dc:creator>
<dc:date>2008-03-25T15:47:52+09:00</dc:date>
<dc:subject>Linux</dc:subject>
<content:encoded><![CDATA[1台のサーバに複数のApacheを入れる機会があったので、そのメモ。<br/>
すでに1個Apacheがインストールされていてポートはデフォルトの「80」だった。<br/>
通常通りインストールすると競合してしまうので、いろいろ設定した。<br/>
<br/>
<b>■今回の環境</b><br/>
今回は以下の環境を想定して解説する。
<pre>サーバ：CentOS 5
ビット：64bit
Apacheインストールディレクトリ：/home/hoge/apache2
ポート番号：1234</pre>
<br/>
<b>■Apacheインストール</b>
<pre># su - hoge
# wget http://hogehoge.hoge/hoge/httpd-2.0.63.tar.gz
# tar -xvzf httpd-2.0.63.tar.gz
# cd httpd-2.0.63
# ./configure --prefix=/home/hoge/apache2
# make
/usr/lib/libexpat.so: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make[2]: *** [htpasswd] エラー 1
make[2]: ディレクトリ `/home/hoge/httpd-2.0.63/support' から出ます
make[1]: *** [all-recursive] エラー 1
make[1]: ディレクトリ `/home/hoge/httpd-2.0.63/support' から出ます
make: *** [all-recursive] エラー 1</pre>
上記のようなエラーが発生。<br/>
libexpat.soの場所がダメっぽい。64bit版libexpat.soを使用しなくてはいけないらしい。<br/>
<br/>
以下のオプションをつけて再度実行。正常にインストールできた様子。
<pre># ./configure --prefix=/home/hoge/apache2 --with-expat=builtin
# make
# make install</pre>
Apacheのconfigureオプションは、helpを見ても存在しない奴があるから困る。<br/>
<br/>
<b>■ポート設定、起動チェック</b><br/>
デフォルトのままだと、既存のApacheと重複してしまうのでポートを変更する。
<pre># vi /home/hoge/apache2/conf/httpd.conf</pre>
219行目辺りのListenをコメントアウトにし、新たに1234を定義。そして保存。
<pre> 219 #Listen 80
 220 # mikuriya 2008/03/25
 221 Listen 1234</pre>
Apacheを起動する。
<pre># /home/hoge/apache2/bin/apachectl start</pre>
特にエラーなく起動されたので、ブラウザで確認する。
<pre>http://hoge.hoge.hoge:1234/</pre>
正常に見れた。既存のApacheも動作してるか見てみる。
<pre>http://hoge.hoge.hoge/</pre>
こちらも正常に動作している様子。<br/>
<br/>
<br/>
参考：<a href="http://hirokawa.netflowers.jp/entry/4969/" target="_blank">http://hirokawa.netflowers.jp/entry/4969/</a>

<img src="http://counter2.blog.livedoor.com/c?ro=1&act=rss&output=no&id=1525317&name=mikuriyahiroto&pid=51067747" width="1" height="1" />
]]>
</content:encoded>
</item>
<item rdf:about="http://blog.livedoor.jp/mikuriyahiroto/archives/51067595.html">
<title>俺のiGoogle、いや俺のジブリを監視し続けてみた</title>
<link>http://blog.livedoor.jp/mikuriyahiroto/archives/51067595.html</link>
<description>前回の続きになるが、iGoogleを貼ってから数日間。
ひたすらブラウザを監視し続けた。
ひとまず発見できたキャラクターを紹介する。

■カオナシ(千と千尋の神隠し)


■ナウシカ(風の谷のナウシカ)


■バロン(猫の恩返し)


■ネコバス(となりのトトロ)


...</description>
<dc:creator>mikuriyahiroto</dc:creator>
<dc:date>2008-03-25T02:11:32+09:00</dc:date>
<dc:subject>話題</dc:subject>
<content:encoded><![CDATA[<a href="http://blog.livedoor.jp/mikuriyahiroto/archives/51065405.html" target="_blank">前回の続き</a>になるが、iGoogleを貼ってから数日間。<br/>
ひたすらブラウザを監視し続けた。<br/>
ひとまず発見できたキャラクターを紹介する。<br/>
<br/>
<b>■カオナシ(千と千尋の神隠し)</b><br/>
<img src="http://livedoor.blogimg.jp/mikuriyahiroto/imgs/b/6/b65b2f2e.jpg"/><br/>
<br/>
<b>■ナウシカ(風の谷のナウシカ)</b><br/>
<img src="http://livedoor.blogimg.jp/mikuriyahiroto/imgs/a/d/ad2acab2.jpg"/><br/>
<br/>
<b>■バロン(猫の恩返し)</b><br/>
<img src="http://livedoor.blogimg.jp/mikuriyahiroto/imgs/f/b/fb6ad9c9.jpg"/><br/>
<br/>
<b>■ネコバス(となりのトトロ)</b><br/>
<img src="http://livedoor.blogimg.jp/mikuriyahiroto/imgs/9/4/94188616.jpg"/><br/>
<br/>
<b>■ラピュタ王国のロボット兵(天空の城ラピュタ)</b><br/>
<img src="http://livedoor.blogimg.jp/mikuriyahiroto/imgs/9/0/90bc5301.jpg"/><br/>
<br/>
<b>■石炭を運ぶススワタリ(千と千尋の神隠し)</b><br/>
<img src="http://livedoor.blogimg.jp/mikuriyahiroto/imgs/9/5/95a20ae3.jpg"/><br/>
<br/>
<b>■権太?(平成狸合戦ぽんぽこ)</b><br/>
<img src="http://livedoor.blogimg.jp/mikuriyahiroto/imgs/c/d/cd411bc1.jpg"/><br/>
<br/>
<b>■トトロ(となりのトトロ)</b><br/>
<img src="http://livedoor.blogimg.jp/mikuriyahiroto/imgs/3/8/38b26f78.jpg"/><br/>
<br/>
<b>■ポルコ・ロッソ(紅の豚)</b><br/>
<img src="http://livedoor.blogimg.jp/mikuriyahiroto/imgs/8/d/8d713174.jpg"/><br/>
<br/>
明け方に表示されるキャラクターは未確認。

<img src="http://counter2.blog.livedoor.com/c?ro=1&act=rss&output=no&id=1525317&name=mikuriyahiroto&pid=51067595" width="1" height="1" />
]]>
</content:encoded>
</item>

</rdf:RDF>

