<?xml version="1.0" encoding="UTF-8"?>

<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:admin="http://webns.net/mvcb/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns="http://purl.org/rss/1.0/"
>

<channel rdf:about="http://blog.mwsoft.jp/">
<title>mwSoft blog</title>
<link>http://blog.mwsoft.jp/</link>
<description></description>
<dc:language>ja</dc:language>
<admin:generatorAgent rdf:resource="http://blog.sakura.ne.jp/" />
<items>
<rdf:Seq>
<rdf:li rdf:resource="http://blog.mwsoft.jp/article/55940070.html" />
<rdf:li rdf:resource="http://blog.mwsoft.jp/article/55819812.html" />
<rdf:li rdf:resource="http://blog.mwsoft.jp/article/55692932.html" />
<rdf:li rdf:resource="http://blog.mwsoft.jp/article/55597624.html" />
<rdf:li rdf:resource="http://blog.mwsoft.jp/article/55572835.html" />
<rdf:li rdf:resource="http://blog.mwsoft.jp/article/55561175.html" />
<rdf:li rdf:resource="http://blog.mwsoft.jp/article/55437785.html" />
<rdf:li rdf:resource="http://blog.mwsoft.jp/article/55352607.html" />
<rdf:li rdf:resource="http://blog.mwsoft.jp/article/55306956.html" />
<rdf:li rdf:resource="http://blog.mwsoft.jp/article/55274024.html" />
<rdf:li rdf:resource="http://blog.mwsoft.jp/article/54808963.html" />
<rdf:li rdf:resource="http://blog.mwsoft.jp/article/54779853.html" />
<rdf:li rdf:resource="http://blog.mwsoft.jp/article/54759016.html" />
<rdf:li rdf:resource="http://blog.mwsoft.jp/article/54433188.html" />
<rdf:li rdf:resource="http://blog.mwsoft.jp/article/54426009.html" />
</rdf:Seq>
</items>
</channel>

<item rdf:about="http://blog.mwsoft.jp/article/55940070.html">
<link>http://blog.mwsoft.jp/article/55940070.html</link>
<title>日記的なもの</title>
<description>英語版のコミック（Mushishi）を購入。面白い。巻頭に「-san」「-sama」「-dono」などの敬称に関する説明が付いている。例えば「-san」は「This is the most common honorific and is equivalent to Mr., Miss, Ms., or Mrs. It is the all-purpose honorific and can be used in any situation where politeness i..</description>
<dc:subject>日記</dc:subject>
<dc:creator>MW</dc:creator>
<dc:date>2012-05-18T23:43:51+09:00</dc:date>
<content:encoded><![CDATA[
英語版のコミック（Mushishi）を購入。面白い。<br /><br />巻頭に「-san」「-sama」「-dono」などの敬称に関する説明が付いている。<br /><br />例えば「-san」は「This is the most common honorific and is equivalent to Mr., Miss, Ms., or Mrs. It is the all-purpose honorific and can be used in any situation where politeness is required.」<br /><br />こう書かれると「さん」って便利な敬称だよね。<br /><br />巻末には翻訳に関する注釈が載っている。例えば「Aya and Ito」（Picking the Empty Cocoonに出てくる双子の姉妹）については、「The kanji for Aya's name means cloth, and the kanji for Ito's name refers to thread. These are perfect names for the daughters of silkworm formers.」と書かれている。<br /><br />こうして日本固有の話を説明を英語で書かれると、なんとなく趣深く感じる。<br /><br /><br /><a name="more"></a><hr><br />「Rによるやさしい統計学」を読む。<br /><br />自分みたいに文系の人間には、数式とか見せられるよりコードを読んで手を動かしながら進んだ方が理解しやすい。<br /><br />そういう意味では、Rで実際に手を動かして、グラフに出して進んでいく本書はありがたい構成だった。<br /><br />とりあえず読んだ内容を活かして野球のデータと遊ぶ。母数の少ない三塁打が扱いづらい。面倒なので二塁打と合わせて二三塁打としてあつかうことにしてしまった。<br /><br /><hr><br />就職活動の前に最低限の知識を詰め込んでおこうと思い、せっせと勉強中。<br /><br />英語をなんとかしておきたいと思ったり、統計に詳しくなっておきたいと思ったり、もう少しちゃんとしたコードを書いておこうと思ったり、いろいろ。<br /><br />7〜8月は半分仕事で半分休みみたいな日程になる予定なので、そこでなんとかしよう。<br /><br />休日は英語の勉強と称して英語のF1フォーラムをずっと漂っていた。マッサさんの扱いは万国変わらないね。とりあえず毎日読んでればそこそこ読む速度は上がる。問題は会話か。<br /><br /><hr><br />読書をする時は「とりあえず15分読む」という手法を使っている。15分読むとだいぶ集中できてくる。気分が乗ってきたらあと15分読む。さらに15分読む。と繰り返す。そのうち明らかな疲労を感じるようになるので、そこでストップする。<br /><br />長距離ランナーの練習と同じ手法だと思われる。<br /><br />最近はフードコートで本を読むことが多い。ランチタイム以外は半分以上空席になっているので長居しやすい。自宅のような誘惑もない。<br /><br /><hr><br />性善説、性悪説という考え方があるが、性無価値説みたいなものはあるのだろうか。人は産まれた時は無価値であるが、教育により価値を獲得していく。生命は基本無価値であるが、後天的に価値を獲得することができる、といったような。<br /><br />価値というものは見方を変えるだけで大きく変容してしまう。目の前にある価値があるとされているものの多くは、光速で3秒移動した先では無価値になる。<br /><br />価値という思想自体に意味はない。ただ価値を獲得するという思想は好きだ。<br /><br />Here you are all equally worthless.<br /><br /><hr><br />有言実行という言葉がある。<br /><br />発言しなければ諦めて終わることが、発言し続けることで自身も周囲もその言葉に引きずられてついには実現できてしまうことがある。<br /><br />私も「あー、俺はダメだ。全然ダメだ」などと言っていないで、「I'm the best... Hacker ...in the world. I can write the best code. Nobody can touch me.」とでも言っておけば良いのだろう。<br /><br /><hr><br />ダイエットが今ひとつうまくいかない。食事を気を付けつつ有酸素、無酸素組み合わせてそれなりに運動量を増やしているのだけど、体脂肪率が18%で高止まり。<br /><br />体力を落とさず、筋力も落とさずという条件でやっていると、割と難しい。その辺を気にせず落とすだけなら簡単なのだけど。<br /><br />まぁ、おかげで走れる距離は伸びたし、ダンベルの重さも少し増えたし、体力的には向上が見られるので当面はこのペースでやってみることにする。<br /><br /><hr><br />らったらたらったったらった　たらったらったらったった　たったらったらったらったった　たったたらったったったたっらった　たったたらったったったたっら　らったらたらったったらった　たたたった　たたたった　らららったたた　ららら<br /><br />らったらたらったったらった　たらったらったらったらった　たったったらたったったたった　らったらたらったったらった　たったったらたったったたった　たたたった　たたたった　らららったたた　ららら<br /><br />らったらたらったったらった　たらったらったらったらった　たらったらったらったらった　たったったらたったったたった<br /><br /><br />少し壊れた。復旧中。1週間ほどかかるやられ方。<br /><br />復旧できる範囲で自分を痛めつけるのは、良いことなのか悪いことなのか。とりあえずそれで強くなる部分があることは実感している。

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://blog.mwsoft.jp/article/55819812.html">
<link>http://blog.mwsoft.jp/article/55819812.html</link>
<title>先週の更新履歴</title>
<description>Rメモhttp://www.mwsoft.jp/programming/r/Rの勉強をしながら残したメモ。今はまったく理解できていないが、いずれ理解できそうな気がする。Webページの動く要素を止めるアドオンを探すhttp://www.mwsoft.jp/column/animation_stop.html海外のフォーラムとか見てたら、広告やらアイコンやらがやたら動いて気持ち悪かったので止めた。</description>
<dc:subject>更新履歴</dc:subject>
<dc:creator>MW</dc:creator>
<dc:date>2012-05-13T13:43:57+09:00</dc:date>
<content:encoded><![CDATA[
Rメモ<br /><a href="http://www.mwsoft.jp/programming/r/" target="_blank">http://www.mwsoft.jp/programming/r/</a><br /><br />Rの勉強をしながら残したメモ。今はまったく理解できていないが、いずれ理解できそうな気がする。<br /><br /><hr><br />Webページの動く要素を止めるアドオンを探す<br /><a href="http://www.mwsoft.jp/column/animation_stop.html" target="_blank">http://www.mwsoft.jp/column/animation_stop.html</a><br /><br />海外のフォーラムとか見てたら、広告やらアイコンやらがやたら動いて気持ち悪かったので止めた。<a name="more"></a>

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://blog.mwsoft.jp/article/55692932.html">
<link>http://blog.mwsoft.jp/article/55692932.html</link>
<title>日記的なもの</title>
<description>普通の日記でも付けてみよう。</description>
<dc:subject>日記</dc:subject>
<dc:creator>MW</dc:creator>
<dc:date>2012-05-06T23:11:02+09:00</dc:date>
<content:encoded><![CDATA[
普通の日記でも付けてみよう。<br /><br /><a name="more"></a><hr><br />4/28(Sat)<br /><br />はてなブックマークで集められる情報が心もとなくなってきたので（過疎ってるのか自分の趣向に近い発信者がTwitterに移動してしまったのか）、指定ユーザがTwitterで発信したURLを一覧で出すアプリを作る。<br /><br />RSSも放り込めるので、これを使って後は評価システムやフィルタルールを順次追加していけば、情報収集がより効率よく行くはず。<br /><br />夜は統計学入門を読んでお勉強。100ページほど読んだ後、23時くらいには疲れ果てて就寝。少し詰め込みすぎだろうか。<br /><br /><hr><br />4/29(Sun)<br /><br />Mahoutを導入してみる。前にサンプルだけは動かしたことがあったのだけど、分散環境でちゃんと動かすのは嬉し恥ずかし初体験。<br /><br />とりあえずレコメンドをいじったり軽くソースを見たり、開発環境を作ったり、資料を書いたり。<br /><br />休み中は食事の量を減らすことにしてみる。まともな食事は1回で、あとはすぐに消化できるような軽食を3回。消化吸収に使う労力を減らして活動時間を増やそうという作戦。<br /><br /><hr><br />4/30(Mon)<br /><br />引き続きMahout IN ACTIONを読む。ペラペラと全体を読んだあと、精読開始。あとはちらほらWikiを読んだり最近の資料を見たり。<br /><br />進みが遅い。英語だと読むのが時間かかる。もっとサクサク読めるようになりたいものだ。<br /><br />夜は英語のゲームをやって少し気晴らし。日本語が恋しい。<br /><br /><hr><br />5/1(Tue)<br /><br />午前中は人と会う約束を済ませ、午後は仕事。<br /><br />夜は気分転換にRの勉強を始める。統計の勉強をする上でも有用そう。<br /><br />「a &lt;- 1 -&gt; b」みたいな書き方に萌える。やばい、かわいい。<br /><br /><hr><br />5/2(Wed)<br /><br />予定を変更して引き続きRと遊ぶ。野球のデータを引っ張ってきて、数値の相関を求めてみたり。<br /><br />統計の勉強をもう少しちゃんとやらないと、グラフを出しても説得力のある説明がさっぱりできない。なんか関係ありそうだよねとか、せいぜい決定係数がいくつくらいのことしか言えない。<br /><br />教科書読んで、その手の論文の説明をパラパラと読んでればその辺は身についてくるはず。<br /><br /><hr><br />5/3(Thu)<br /><br />さすがに疲れてきたので息抜き。軽く走ったり、思い出したように統計の本を読んだり、酒を飲んでぐだっとしたり。<br /><br />この休みは毎日30分はウォーキングをするようにしている。やはり身体はある程度動かしておいた方が調子が良くなる。<br /><br />あとは食事の回数を日に5回にした。200kcal目安の軽食を4回と、あとまともな食事を1回。たまに6回になる日もある。このやり方はけっこう良い感触。<br /><br /><hr><br />5/4(Fri)<br /><br />Rとさらに親しくなるためにお絵描きをして遊ぶ。まーる描いてちょん、まーる描いてちょん。<br /><br />明らかにRをやっているようには見えないことをしていた気もするけど、これも立派な勉強だ。勉強は楽しく。<br /><br />本屋で買ってきたRのリファレンスを近くのフードコートで読み始めたら熱中してしまって、そのまま読了。<br /><br />ついでにHadoop Hacksを少し立ち読み。思ったより手広く構えた本だった。自分が欲しい情報が載ってるスペースが少なかったので購入は見合わせ。必要になった時に買おう。<br /><br /><hr><br />5/5(Sat)<br /><br />統計入門を読み終わる。もっと勉強しないといけないことがわかった。<br /><br />まぁ、学者を目指しているわけでもないので、必要な時に必要な情報を引き出せるレベルまでボチボチやっていこう。<br /><br />日本語入力を支える技術をざっくりとしか読んでなかったので、少し手を動かしながら再読。もっと勉強しないといけないことがわかった。<br /><br />まぁ、学者を目指しているわけでもないので、必要な時に必要な情報を引き出せるレベルまでボチボチやっていこう。<br /><br />部屋が汚れてきたので掃除をしたり、日差しがきつくなってきたので窓にアルミホイルを貼ってみたり。遮光は大事。<br /><br /><hr><br />5/6(Sun)<br /><br />連休最終日。酒を飲んで少しリラックスしながら、連休中に書いたメモをまとめたり、Mahoutを触ったり。<br /><br />飲んでる酒は主にラムコーク。たまに日本酒。<br /><br />この休み期間、たぶん私は頑張った。何度か疲れ果てて眠るくらいは頑張った。たまにやったゲームと、ランニングと、半身浴が良い影響を与えていたようにも思う。<br /><br />けど、1週間やそこら頑張っても何も変わらない。今まで積んできたものが100で、目標が1000だとしたら、105になったくらい。<br /><br />明日からもちゃんと生きていこう。

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://blog.mwsoft.jp/article/55597624.html">
<link>http://blog.mwsoft.jp/article/55597624.html</link>
<title>貧乏性とElastic MapReduce</title>
<description>AmazonのElastic MapReduceは時間単位でサーバを借りてMapReduce処理を実行することができる。実行命令を出すと指定した数のインスタンスが自動で立ち上がり、S3に置いてあるデータに対して処理が行われる。</description>
<dc:subject>雑文</dc:subject>
<dc:creator>MW</dc:creator>
<dc:date>2012-04-30T20:49:26+09:00</dc:date>
<content:encoded><![CDATA[
AmazonのElastic MapReduceは時間単位でサーバを借りてMapReduce処理を実行することができる。<br /><br />実行命令を出すと指定した数のインスタンスが自動で立ち上がり、S3に置いてあるデータに対して処理が行われる。<br /><br /><a name="more"></a><hr><br />東京リージョンだとラージインスタンスが1時間0.428ドル（0.368+0.06）。10台借りても4.28ドル（1ドル80円として342円）。アメリカのリージョン使うともう少し安い。ラージを10個も借りれば、けっこうな速度で処理を実行してくれる。<br /><br />課金は1時間単位。1分使っても59分使っても1時間分。1時間を1分でも過ぎると2時間分が課金される。<br /><br />実行速度はインスタンスの数にある程度比例する。10台使って30分で終わる処理だったら、5台にするとだいたい1時間強で終わることになる。貧乏性の私としては、「10台で30分なら6台で55分くらいかな。せっかくなら時間めいっぱい働いて欲しいから6台で動かそう」なんてことを考えてしまう。<br /><br />分単位の実行時間を正確に予想するなんて難しい話で、うっかり1時間1分とかかかってしまうと2時間分の料金が請求されることになる。<br /><br />前述の例では、6台で2時間になると12台分の金額がかかることになる。時間が余計にかかった上に10台より高くついてしまったではないか。ショックだ。余裕を持って7台にしておけば……<br /><br /><hr><br />Jobが失敗した時もお金はかかる。プログラムにミスがあって処理が途中で落ちたりすると、たとえ開始1分で処理が落ちていたとしても1時間分の金額がかかってしまう。意気揚々と10台を立ち上げて、インスタンスが立ち上がったと思ったら速攻エラーになっていたりすると、なんとも言えない物悲しい気持ちになる。<br /><br />Stepが失敗してもTerminateせずにインスタンスを立ち上げたままにしておくことはできる。急いで直して再度Stepを実行すれば、1時間以内に処理を納められるかもしれない。<br /><br />けど、「5分以内に修正できれば……」なんて焦った気持ちでやってもなかなかうまくいかないもので、たいていはまた失敗して「もういいや」と言ってJobをterminateしてしまうことになる。<br /><br /><hr><br />慣れないうちはパスの指定とかを間違うことも多いので、何回も失敗を積み重ねることを覚悟しておかないといけない。そこでまずはスモールインスタンス（0.107ドル（0.092+0.015）= 8.56円/時）2台でジョブを走らせてみて、問題なく動きそうだったらそのJobを止めて、適切な台数で再度走らせたりする。<br /><br />そうしてちゃんと確認した場合でも、走らせてからだいぶ時間が経った後にMapperでOutOfMemoryが起きてやっぱり失敗しました、なんてことも起こったりする。そのたびに削られる数百円。大きな金額ではないのだけど、何かにつまずくたびに削られるライフ。<br /><br /><hr><br />少額で大規模な処理ができるので、Elastic MapReduceは経済的には優しい子だ。自前で複数台のマシンを買い揃えるのに比べれば、何十倍も財布に優しい。<br /><br />けど、貧乏性な人間の精神をチクチクと攻撃してくるような罠が随所に用意されてもいる。この処理はいくらかかるだろう。転送料はいくらになるだろう。JobをTerminateし損なうことはないだろうか。ああ、失敗した。400円余計にかかってしまった。ああ、もったいない。<br /><br />お金に細かい性格をした人間が使うと大雑把に利用することがない分、料金は低めに抑えることができると思う。そういう意味では、おそらく貧乏性であることとElastic MapReduceは相性が良い（経済的な意味で）。けど、失敗のたびにダメージを受けることを考えると相性が悪い（精神的な意味で）。<br /><br />失敗によるダメージを気にすることなく、且つ最小の金額で冷静にJobを実行できるような、強い心を持った人間になりたいものだ。

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://blog.mwsoft.jp/article/55572835.html">
<link>http://blog.mwsoft.jp/article/55572835.html</link>
<title>日記的な夢十夜</title>
<description>最近、よく夢を見る。おそらく睡眠時間を増やした影響だと思われる。具体的には6時間だったのを7時間にした。今までは泥のように眠って泥の中から起きている感じだったけど、7時間眠ると起きる30分くらい前からなんとなく覚醒しかけているような感じがする。で、その覚醒しかけている時に夢を見る。たいていは目が覚めた時に「あー、夢で良かった」と思うような内容。寝起きのボケた頭だと、夢だったと認識しつつもまだ心のどこかで「ヤバい」という警笛が鳴り続けたりする。そんな感覚に陥るような夢。</description>
<dc:subject>日記</dc:subject>
<dc:creator>MW</dc:creator>
<dc:date>2012-04-29T00:38:26+09:00</dc:date>
<content:encoded><![CDATA[
最近、よく夢を見る。おそらく睡眠時間を増やした影響だと思われる。具体的には6時間だったのを7時間にした。<br /><br />今までは泥のように眠って泥の中から起きている感じだったけど、7時間眠ると起きる30分くらい前からなんとなく覚醒しかけているような感じがする。<br /><br />で、その覚醒しかけている時に夢を見る。<br /><br />たいていは目が覚めた時に「あー、夢で良かった」と思うような内容。寝起きのボケた頭だと、夢だったと認識しつつもまだ心のどこかで「ヤバい」という警笛が鳴り続けたりする。そんな感覚に陥るような夢。<br /><br /><a name="more"></a><hr><br />先日見たのは、ゲームの中に入り込んだような夢。<br /><br />そのゲームでは好きな時にクラスチェンジができるらしく、自分は鳥と飛行機にチェンジすることができた。戦士や魔法使いなどのスタンダードなクラスにもなれるっぽいのだけど、どうやら自分は制限プレイをしているようでそれらのクラスになることを禁止していた。<br /><br />主に飛行機になって飛び回りながら塔の上の敵と戦っていたのだけど、これがなかなかに強くて何度も撃ち落とされて下の湖に墜落しかけた。<br /><br />塔から湖に向けて落ちていく時とかは、風を切る感覚もある、かなりリアルな夢だった。鳥になって落ちる時と飛行機になって落ちる時とでは風の感触が違うところなんかもリアルだった。<br /><br />結局、塔の魔物は最後まで倒せないまま目が覚めた。<br /><br /><hr><br />その前に見た夢は、囲碁のプロになって戦う夢……だったのだけど、そこからなぜか戦争モノに移行してしまった。<br /><br />自分が対戦してたのはものすごく強い棋士で、何をやっても勝てない。なんでこんなに強い人間がこの世にいるのだろうと不思議に思った。<br /><br />ある日、対戦中にいきなり戦争が勃発して、自分は身を守るためにライフルを撃ちながら避難しようとしていた。かなり古い銃で元込めの単発だった。周囲は第二次大戦中を想起させる服装をしていた。囲碁をやってる時は現代風の服装だったのだけど。<br /><br />その強いプロ棋士は戦果の中でも平然としていた。拳銃を使って敵を倒しながらスイスイと混乱を抜けていった。なんであんなに彼は万能なのか。避難していた女性が「彼は謎の人体実験をされて薬物投与によって物凄い集中力を身に付けたのだ」と語った。<br /><br />敵の襲撃から逃げながら地面にポッカリと空いた穴（採掘場らしい）の中を下って行くと、50メートルくらい下ったところで謎の薬草のプラントを発見した。それが集中力を身に付ける草ではないかと考え食べてみたところ、急に自分の身体が緑色に変色してものすごく力が湧いてきたような気がしたところで目が覚めた。<br /><br />意味は分からないけど、無駄にアクション性が高い夢だった。見てて疲れた。<br /><br /><hr><br />私は学校にいた。見たことのない学校。<br /><br />外は嵐で、中の体育館では上映会が開かれていた。何の映画かはわからないけど、1930年頃の西洋の白黒映画のように見えた。<br /><br />私は何人かの仲間と一緒に「誰か」を探し回っていた。誰かは分からない。<br /><br />校舎を走り回って、雨のグラウンドを徘徊して、ようやく塔の上（10メートルくらいの高さ。自分の夢にはよく塔が出てくる）でその相手に会う。彼女を見つけた瞬間に上映会の音楽が漏れて聞こえてきた。悲劇的な結末を予感させるメロディだった。強い風が吹き始めた。<br /><br />あぁ、これはヤバいなぁと思いながらそっと近づこうとすると、彼女は「ごめんなさい」と言った。次の瞬間、突風が吹いてバランスを崩した彼女は足を踏み外して塔から落ちていった。地面に落下していく姿がスローモーションで見えた。<br /><br />彼女が意志を持って身を投げたのか、風に煽られて落ちたのかは分からない。ただ、彼女が死ぬことは分かっていた。<br /><br />目が覚めた後、ずっと心が重かった。消失感や焦燥感が混ざりあったような感覚がずっと消えなくて、動き出すのに苦労した。その感覚は2日ほど続いた。

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://blog.mwsoft.jp/article/55561175.html">
<link>http://blog.mwsoft.jp/article/55561175.html</link>
<title>今週の更新記事</title>
<description>Hadoopでテキストを扱う際にLuceneのTokenizerで単語分割してみるhttp://www.mwsoft.jp/programming/hadoop/mapreduce_with_lucene_filter.html単語抽出の時とか普通に使えそうだった。Luceneのフィルタ一覧http://www.mwsoft.jp/programming/lucene/lucene_filter.html上のHadoopの記事を書くにあたって下準備として調べたもの。MapRe..</description>
<dc:subject>更新履歴</dc:subject>
<dc:creator>MW</dc:creator>
<dc:date>2012-04-28T08:56:46+09:00</dc:date>
<content:encoded><![CDATA[
Hadoopでテキストを扱う際にLuceneのTokenizerで単語分割してみる<br /><a href="http://www.mwsoft.jp/programming/hadoop/mapreduce_with_lucene_filter.html">http://www.mwsoft.jp/programming/hadoop/mapreduce_with_lucene_filter.html</a><br />単語抽出の時とか普通に使えそうだった。<br /><br />Luceneのフィルタ一覧<br /><a href="http://www.mwsoft.jp/programming/lucene/lucene_filter.html">http://www.mwsoft.jp/programming/lucene/lucene_filter.html</a><br />上のHadoopの記事を書くにあたって下準備として調べたもの。<br /><br />MapReduceでの平均値の算出<br /><a href="http://www.mwsoft.jp/programming/hadoop/average_mapreduce.html">http://www.mwsoft.jp/programming/hadoop/average_mapreduce.html</a><br />子象本は読みましたアピールその２。でもアレとアレとアレとアレも書いとかないとアピール度的に低いな。<br /><br />LuceneのIndexファイルに関するメモ書き<br /><a href="http://www.mwsoft.jp/programming/lucene/lucene_index_memo.html">http://www.mwsoft.jp/programming/lucene/lucene_index_memo.html</a><br />インデックスディレクトリに作成されるいくつかのファイルについて中身を見てみた。<a name="more"></a>

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://blog.mwsoft.jp/article/55437785.html">
<link>http://blog.mwsoft.jp/article/55437785.html</link>
<title>先週の更新記事</title>
<description>毎回ブログで「更新したよ」的なことを書くと検索の引っかかり方的にアレなのが気になってたので、1週間分まとめて書くことにしてみる。Luceneのフィルタ一覧http://www.mwsoft.jp/programming/lucene/lucene_filter.htmlHadoopで文字列処理する時に使えるものないかなぁと思って、アレやコレやと試してみた記録をまとめた感じのもの。英語のStemmerについてはもう少し調べないといけない。このフィルタも入れとこうよとかあったら言..</description>
<dc:subject>更新履歴</dc:subject>
<dc:creator>MW</dc:creator>
<dc:date>2012-04-22T14:54:26+09:00</dc:date>
<content:encoded><![CDATA[
毎回ブログで「更新したよ」的なことを書くと検索の引っかかり方的にアレなのが気になってたので、1週間分まとめて書くことにしてみる。<br /><br /><hr><br />Luceneのフィルタ一覧<br /><a href="http://www.mwsoft.jp/programming/lucene/lucene_filter.html" target="_blank">http://www.mwsoft.jp/programming/lucene/lucene_filter.html</a><br /><br />Hadoopで文字列処理する時に使えるものないかなぁと思って、アレやコレやと試してみた記録をまとめた感じのもの。英語のStemmerについてはもう少し調べないといけない。<br /><br />このフィルタも入れとこうよとかあったら言ってもらえれば対応するかもしれません。<br /><br /><hr><br />HadoopでSnappyを使ってみたメモ<br /><a href="http://www.mwsoft.jp/programming/hadoop/snappy_memo.html" target="_blank">http://www.mwsoft.jp/programming/hadoop/snappy_memo.html</a><br /><br />Mapperの中間ファイルとして使ったり、多段で動かす際の中間ファイルとして使ったり。手軽に使えるのは良いことだ。<a name="more"></a>

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://blog.mwsoft.jp/article/55352607.html">
<link>http://blog.mwsoft.jp/article/55352607.html</link>
<title>メモ書き</title>
<description>さくらのVPSのプランに変更があった。これまで月額980円の最安プランはメモリ512MB、HDD20GBだったのが、同額でメモリ1GB、HDD100GBになった。メモリはどうでもいいけどHDDの容量は欲しいので、新規に1GBのプランを契約し、旧契約を破棄する形で乗り換えてみる。</description>
<dc:subject>所感</dc:subject>
<dc:creator>MW</dc:creator>
<dc:date>2012-04-18T02:26:10+09:00</dc:date>
<content:encoded><![CDATA[
<p>さくらのVPSのプランに変更があった。これまで月額980円の最安プランはメモリ512MB、HDD20GBだったのが、同額でメモリ1GB、HDD100GBになった。

<p>メモリはどうでもいいけどHDDの容量は欲しいので、新規に1GBのプランを契約し、旧契約を破棄する形で乗り換えてみる。
<a name="more"></a><hr>
<p>これまではUbuntuを使ってたけど、今回はデフォルトのCentOS 6.2 x86_64を使ってみることにする。この辺は気分の問題。

<p>下記に新規VPSに対して行なった設定を残しておく。以前Ubuntuに対してやったのとだいたい同じ作業。

<hr>
<p>まず、VPSコントロールパネルでOSの再インストールをしてパスワードを設定。

<p>次にrootでログイン。

<pre class="nopretty">$ ssh root@xxx.xxx.xxx.xxx</pre>

<p>このままだとroot＋パスワードでログインできてしまう危険な状態なので、設定を速やかに変更する。

<p>まずはユーザの作成。

<pre class="nopretty"># useradd -d /home/user user</pre>

<p>パスワード設定。

<pre class="nopretty"># passwd user</pre>

<p>一度ログアウトして作成したユーザで入れるか確認。

<pre class="nopretty"># exit
$ ssh user@xxx.xxx.xxx.xxx</pre>

<p>スーパーユーザに戻る。

<pre class="nopretty">$ su</pre>

<p>sshの設定を変更

<pre class="nopretty"># vi /etc/ssh/sshd_config </pre>

<p>ポート22はやめよう

<pre class="nopretty"># Port 22
  ↓
Port 60022</pre>

<p>ルートでのログインもやめよう

<pre class="nopretty">PermitRootLogin yes
↓
PermitRootLogin no</pre>

<p>急いでsshdを再起動

<pre class="nopretty"># /etc/init.d/sshd restart</pre>

<p>ローカルの端末から、設定が反映されてるか確認

<pre class="prettyprint lang-bash">// 22番はダメ
$ ssh user@xxx.xxx.xxx.xxx
// rootもダメ
$ ssh -p60022 root@xxx.xxx.xxx.xxx
// userでポート指定すれば大丈夫
$ ssh -p60022 root@xxx.xxx.xxx.xxx</pre>

<p>これでサーバの防御力が3上がった。レザーアーマーを着たくらいの安心感。野生の獣とかなら襲われても大丈夫。けど、魔物に攻撃されるとまだ危険。

<p>次にパスワード認証は怖いので、鍵を使った認証に変更

<p>とりあえずローカル側で鍵を作る

<pre class="nopretty">$ cd ~/.ssh/
$ ssh-keygen -t rsa</pre>

<p>次にVPS側で.sshディレクトリの用意

<pre class="nopretty">$ mkdir .ssh
$ chmod 700 .ssh</pre>

<p>この状態でローカル側から鍵を送る

<pre class="nopretty">$ scp -P60022 id_rsa.pub user@xxx.xxx.xxx.xxx:.ssh/authorized_keys</pre>

<p>ローカルからvpsにsshで繋いでみて、パスワードを聞かれなければ成功

<pre class="nopretty">$ ssh -p60022 user@xxx.xxx.xxx.xxx</pre>

<p>rootになってsshの設定を変更

<pre class="nopretty">$ su
# vi /etc/ssh/sshd_config</pre>

<p>設定変更

<pre class="nopretty">#PasswordAuthentication yes
↓
PasswordAuthentication no</pre>

<p>sshdの再起動

<pre class="nopretty">/etc/init.d/sshd restart</pre>

<p>これで鍵のない端末からパスワードを使って入ろうとしても弾かれるようになったはず。

<p>試しにローカルで鍵を移動してから繋いでみる

<pre class="nopretty">$ mv ~/.ssh/id_rsa*
$ ssh -p60022 user@xxx.xxx.xxx.xxx

Permission denied (publickey,gssapi-keyex,gssapi-with-mic).</pre>

<p>怒られる。

<p>戻して繋ぐ

<pre class="nopretty">$ mv ~/dev_id_rsa* ~/.ssh/
$ ssh -p60022 user@xxx.xxx.xxx.xxx</pre>

<p>入れる

<p>これでプレートメールを着込んだくらいの防御力になった。

<p>しかし鎧だけでは頭部への打撃は防げないので、兜や盾も用意することにしよう。

<p>まずはiptablesで不用なポートへの接続を防ぐ。デフォルトだと空になってる。

<pre class="nopretty">$ su
# vi /etc/sysconfig/iptables</pre>

<p>iptablesはあまり詳しくないので説明割愛

<p>とりあえず下記のサイトなどを参考に、日本だけを許可するとかいろいろやってたら自分が何をしているのか分からなくなりました。

<p><a href="http://www.iex3.info/archives/1145">http://www.iex3.info/archives/1145</a><br>
<a href="http://serverkurabe.com/blog/sakuravps-start-10">http://serverkurabe.com/blog/sakuravps-start-10</a><br>
<a href="http://tanaka.sakura.ad.jp/archives/001065.html">http://tanaka.sakura.ad.jp/archives/001065.html</a><br>
<a href="http://centossrv.com/iptables.shtml">http://centossrv.com/iptables.shtml</a>

<p>あとはdenyhostsを入れておくと、一定時間内に連続アクセスしてきたIPをhosts.denyに放り込めるらしい。

<pre class="nopretty"># yum install denyhosts
# vi /etc/denyhosts.conf
# /etc/init.d/denyhosts start</pre>

<p>少し間違えるだけで自分のローカルのIPも禁止リストに入れられてしまう。そんな時はバーチャルコンソールから/etc/hosts.denyを開いて自分のIPを削除する。

<p>とりあえずこれで鎧と盾と兜は揃った気がする。

<p>疲れたので今日はここまで。

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://blog.mwsoft.jp/article/55306956.html">
<link>http://blog.mwsoft.jp/article/55306956.html</link>
<title>日記的なもの</title>
<description>フリーの英語のサウンドノベルに手を出してみたところ、思ったより面白くてうっかり延々プレイし続けてしまった。こうした行為は英語を読む速度の向上に繋がるので、没頭し過ぎても自制はしないことにしている。フリーのノベルを面白いと感じられたのは、おそらく日本語で見たら微妙だと感じる表現でも、英語だとしっかり理解できない分、素直に受け止められてしまうことがあるのではないかと思う。それは多分、今まで延々と触れ続けてきた日本語では感じられない良さ。子供の頃に本を読んだ時の高揚感に似ているとこ..</description>
<dc:subject>日記</dc:subject>
<dc:creator>MW</dc:creator>
<dc:date>2012-04-15T15:06:04+09:00</dc:date>
<content:encoded><![CDATA[
フリーの英語のサウンドノベルに手を出してみたところ、思ったより面白くてうっかり延々プレイし続けてしまった。こうした行為は英語を読む速度の向上に繋がるので、没頭し過ぎても自制はしないことにしている。<br /><br />フリーのノベルを面白いと感じられたのは、おそらく日本語で見たら微妙だと感じる表現でも、英語だとしっかり理解できない分、素直に受け止められてしまうことがあるのではないかと思う。<br /><br />それは多分、今まで延々と触れ続けてきた日本語では感じられない良さ。子供の頃に本を読んだ時の高揚感に似ているところがあって悪くない気分がした。<br /><br />こういう感覚はちょっと幸せだ。<br /><br /><a name="more"></a><hr><br />環境を変えれば人間は変わる。能動的に言い変えると、自身の変化が必要であると感じるのならば、それに見合った環境の変化を起こす必要がある。<br /><br />早い話、引越しをして、仕事を変えて、携帯番号とメールアドレスを変え、移転先を周囲に伝えなければ、人間は変わる。<br /><br />人間というのは周囲との関係性においてその人間たりえる。関係性が失われれば、過去の記憶や経験は残りこそすれ、多くの自己と呼べる箇所が新しい関係性において置き換えられることになる。<br /><br />現在の関係性の一部は、現在においてはけして効率的とはいえない過去の自己を引きずっている場合がある。現在の自己をより反映した関係性を欲するのであれば、過去の関係のリセットは効果的であり、またそうすることにより現在の自己に近い関係性の創出が可能となる。<br /><br />現状に不満を持っているということは、関係性のリセットを長期に渡って怠っているのではないだろうか。<br /><br />というわけで、仕事とか人間関係を少し見直してみることにする。とりあえずもっと辛くて苦しい場所に行こう。生きていくには適度な辛さが必要だ。Ｗさんは辛くないと死んでしまうんだよ。<br /><br /><hr><br />流行って欲しいなぁと思う言葉。<br /><br />狭量。<br /><br />世の中にはいろんな言葉が流行ったり廃れたりする。その中で、狭量って言葉が流行るとなんとなく気分が良いんじゃないかという気がした。<br /><br />主な使い方は誰かが何かを咎めるような発言をしたに対して「その程度のことで目くじらを立てるのは狭量だよ」と言う。去年流行った「不謹慎」の対照的な位置にある言葉だと思う。<br /><br />器の大きな人間になりたいものだ。人を狭量だと咎めずとも受け入れられるくらい大きな人間になりたいものだ。<br /><br /><hr><br />そういえば冒頭で書いたサウンドノベルに陸上をやっているキャラが出てきたので、つられて自分も走り始めた。自分の行動は物語に影響されることが多い。<br /><br />現実の周囲の人たちに影響されると、志が低くなってしまうことが多い。けど、物語の中の人間に影響されると自然と志は高くなる。<br /><br />周りに志が高い人が多いなら良いけど、そうでない場合は現実を見るよりもそこから逃避して物語の世界と触れ合った方が努力できる。これを能動的現実逃避(仮)と呼ぶことにしよう。<br /><br />この時、現実の人間に対しては影響を受けない程度に距離を置くことになるが、現実の結果からは距離を置いてしまってはいけない。そうしてしまうと普通の現実逃避になってしまう。<br /><br />物語の中に含まれる高い志を受け取って、それを現実に投影する。現実が1つのスクリーンだとすると、物語はフィルムであり、私は映写機である。私が好きな物語を、私なりの形で現実の中で実現する。<br /><br />そんな関係性を使うと、勉強や仕事が頑張れたりして良かったりする場合がある。やり方を誤ると極端な行動を取ってしまうので注意が必要だけど。<br /><br /><hr><br />モチベーション管理で大事なのは、相手が能動的に動ける状態を作ることと、相手の仕事をちゃんと見ていること。<br /><br />人から言われた仕事をするのと、自分が選んだ仕事をするのとでは、意欲も責任感も変ってくる。相手の希望を引き出したり、方向性を共有したりといったことは、モチベーション管理をする上でけっこうやっている。<br /><br />また、誰からも見られていない状態で仕事をするのはけっこう厳しいことなので、相手が「自分の仕事は確認されている」とか「作業内容に関心を持たれている」、「自分の作業結果を理解されている」といった意識になるような指摘や会話を行うようにしている。<br /><br />最近の若い人は真面目な人が多いので、この2つを抑えるだけでけっこう能動的に働いてくれることが多い。<br /><br />あとは相手が失敗した時に適切なフォローをすれば、信頼関係が築けてより仕事がスムーズに進むようになる。相手が恩義を感じるような行動を取ることは、どういったケースでも人間関係において大きなプラスをもたらしてくれる。<br /><br />自営業っていうのは、誰からも見られない仕事が多いから、自己管理がけっこう大変。周囲の人たちは、そういう辛さを感じないで仕事をしてくれたらいいなと思うことがある。

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://blog.mwsoft.jp/article/55274024.html">
<link>http://blog.mwsoft.jp/article/55274024.html</link>
<title>Lucene/Solr3.6リリース - 形態素解析が使えるようになった</title>
<description>今週はAmazonのCloudSearchが発表されたり、Lucene/Solrの3.6がリリースされたりと、全文検索さんとお付き合いしている人たちにはアドレナリンが出やすい1週間でした。3.6には形態素解析を使ったAnalyzer（Kuromoji）が入るなど、日本人にとっては脳内物質が駆けめぐりやすいリリースになっているようです。β‐エンドルフィン。チロシン。エンケファリン。とりあえず触ってみたところとかをメモ。</description>
<dc:subject>所感</dc:subject>
<dc:creator>MW</dc:creator>
<dc:date>2012-04-14T14:40:42+09:00</dc:date>
<content:encoded><![CDATA[
<p>今週はAmazonの<em>CloudSearch</em>が発表されたり、Lucene/Solrの<em>3.6</em>がリリースされたりと、全文検索さんとお付き合いしている人たちにはアドレナリンが出やすい1週間でした。

<p>3.6には<em>形態素解析</em>を使ったAnalyzer（Kuromoji）が入るなど、日本人にとっては脳内物質が駆けめぐりやすいリリースになっているようです。β‐エンドルフィン。チロシン。エンケファリン。

<p>とりあえず触ってみたところとかをメモ。

<a name="more"></a><hr>
<h3>Change Logとか</h3>

<p><b>Lucene3.6のChange Log</b><br>
core : <a href="http://lucene.apache.org/core/3_6_0/changes/Changes.html">http://lucene.apache.org/core/3_6_0/changes/Changes.html</a><br>
contrib : <a href="http://lucene.apache.org/core/3_6_0/changes/Contrib-Changes.html">http://lucene.apache.org/core/3_6_0/changes/Contrib-Changes.html</a>

<p><b>Solr3.6のRelease Note</b><br>
<a href="http://wiki.apache.org/lucene-java/ReleaseNote36">http://wiki.apache.org/lucene-java/ReleaseNote36</a>

<p>SolrのJavaDocを見ると<em>JapaneseTokenizerFactory</em>がいる<br>
<a href="http://lucene.apache.org/solr/api/org/apache/solr/analysis/JapaneseTokenizerFactory.html">http://lucene.apache.org/solr/api/org/apache/solr/analysis/JapaneseTokenizerFactory.html</a>

<p>LuceneのJavaDocを見ると<em>JapaneseTokenizer</em>がいる<br>
<a href="http://lucene.apache.org/core/3_6_0/api/all/org/apache/lucene/analysis/ja/JapaneseTokenizer.html">http://lucene.apache.org/core/3_6_0/api/all/org/apache/lucene/analysis/ja/JapaneseTokenizer.html</a>

<hr>
<h3>さっそくJapaneseTokenizerをSolrで使ってみる</h3>

<p>名前はJapaneseTokenizerですが、中身は<a href="http://www.mwsoft.jp/programming/lucene/kuromoji.html">Kuromoji</a>です。

<p>JapaneseTokenizerのSolrでの使い方は、exampleの中のschema.xmlに<em>text_ja</em>という名前で、下記みたいな感じで（コメントは改変）定義されていました。

<pre class="prettyprint lang-xml">&lt;fieldType name=&quot;text_ja&quot; class=&quot;solr.TextField&quot; positionIncrementGap=&quot;100&quot; autoGeneratePhraseQueries=&quot;false&quot;&gt;
  &lt;analyzer&gt;
    &lt;!-- modeはnormal,search,extendedがある。 --&gt;
    &lt;tokenizer class=&quot;solr.JapaneseTokenizerFactory&quot; mode=&quot;search&quot;/&gt;
    &lt;!-- ユーザ辞書を定義する場合は下記のような感じで。 --&gt;
    &lt;!--&lt;tokenizer class=&quot;solr.JapaneseTokenizerFactory&quot; mode=&quot;search&quot; userDictionary=&quot;lang/userdict_ja.txt&quot;/&gt;--&gt;
    &lt;!-- 動詞とかを基本形でインデックスに登録するフィルタ。確かlucene-gosenにいたヤツだっけか。 --&gt;
    &lt;filter class=&quot;solr.JapaneseBaseFormFilterFactory&quot;/&gt;
    &lt;!-- いらない品詞はインデックスに登録しないフィルタ。 --&gt;
    &lt;filter class=&quot;solr.JapanesePartOfSpeechStopFilterFactory&quot; tags=&quot;lang/stoptags_ja.txt&quot; enablePositionIncrements=&quot;true&quot;/&gt;
    &lt;!-- 全角のローマ字を半角にしたり、半角カナを全角にするフィルタ。 (Unicode NFKC subset) --&gt;
    &lt;filter class=&quot;solr.CJKWidthFilterFactory&quot;/&gt;
    &lt;!-- 一般的過ぎる文字をフィルタリング。「てにをは」とか「です、ます」とか。 --&gt;
    &lt;filter class=&quot;solr.StopFilterFactory&quot; ignoreCase=&quot;true&quot; words=&quot;lang/stopwords_ja.txt&quot; enablePositionIncrements=&quot;true&quot; /&gt;
    &lt;!-- フィルターとフィルタみたいな片仮名の表記揺れに関するフィルタ。 --&gt;
    &lt;filter class=&quot;solr.JapaneseKatakanaStemFilterFactory&quot; minimumLength=&quot;4&quot;/&gt;
    &lt;!-- ローマ字を小文字にするフィルタ。 --&gt;
    &lt;filter class=&quot;solr.LowerCaseFilterFactory&quot;/&gt;
  &lt;/analyzer&gt;
&lt;/fieldType&gt;</pre>

<p>試しに「この日本語は、どうインデックスに入れられるか。」という文字列を上記の設定に対して通して見ると、下記のような結果になりました。

<table>
<tr><td>この</td><td>日本語</td><td>は</td><td>どう</td><td>インデックス</td><td>に</td><td>入れ</td><td>られる</td><td>か</td></tr>
<tr><td colspan="9" class="nodecoration"> ↓ JapaneseBaseFormFilterで基本形に</td></tr>
<tr><td>この</td><td>日本語</td><td>は</td><td>どう</td><td>インデックス</td><td>に</td><td><b>入れる</b></td><td>られる</td><td>か</td></tr>
<tr><td colspan="9" class="nodecoration"> ↓ StopFilterで「は」、「に」、「か」などが削られる</td></tr>
<tr><td>この</td><td>日本語</td><td>どう</td><td>インデックス</td><td>入れる</td><td>られる</td><td></td><td></td><td></td></tr>
<tr><td colspan="9" class="nodecoration"> ↓ JapanesePartOfSpeechStopFilterで接続し、助詞、助動詞、記号などが削られる</td></tr>
<tr><td>日本語</td><td>どう</td><td>インデックス</td><td>入れる</td><td></td><td></td><td></td><td></td><td></td></tr>
</table>

<hr>
<h3>CJKTokenizerも変わったらしい</h3>

<p>CJKTokenizerがdeplecatedになって、StandardAnalyzer＋CJKBigramFilterを使うようになったようです。

<pre class="prettyprint lang-xml">&lt;fieldType name=&quot;text_cjk&quot; class=&quot;solr.TextField&quot; positionIncrementGap=&quot;100&quot;&gt;
  &lt;analyzer&gt;
    &lt;tokenizer class=&quot;solr.StandardTokenizerFactory&quot;/&gt;
    &lt;filter class=&quot;solr.CJKWidthFilterFactory&quot;/&gt;
    &lt;filter class=&quot;solr.LowerCaseFilterFactory&quot;/&gt;
    &lt;!-- 漢字と平仮名をbi-gramにしてみる --&gt;
    &lt;filter class=&quot;solr.CJKBigramFilterFactory&quot; han=&quot;true&quot; hiragana=&quot;true&quot; katakana=&quot;false&quot; hangul=&quot;false&quot;/&gt;
  &lt;/analyzer&gt;
&lt;/fieldType&gt;</pre>

<p>上記のように、漢字、平仮名、カタカナ、ハングルに対して、それぞれbi-gramにするかどうかが設定できるようです。

<p>試しに「この日本語は、どうインデックスに入れられるか。」という文字列を入れてみると下記のような結果になりました。

<table><tr><td>この</td><td>の日</td><td>日本</td><td>本語</td><td>語は</td><td>どう</td><td>インデックス</td><td>に入</td><td>入れ</td><td>れら</td><td>られ</td><td>れる</td><td>るか</td></tr></table>

<p>上の設定でkatakanaをfalseにしているので、「インデックス」がbi-gramになってません。割と便利。

<hr>
<h3>HTMLStripCharFilter</h3>

<p>HTMLStripCharFilterが新しくなったとか。

<p><b>JFlex-based HTMLStripCharFilter replacement</b><br>
<a href="https://issues.apache.org/jira/browse/LUCENE-3690">https://issues.apache.org/jira/browse/LUCENE-3690</a>

<p>とりあえずこんな定義をしてみる。

<pre class="prettyprint lang-xml">&lt;fieldType name=&quot;text_ja_html&quot; class=&quot;solr.TextField&quot; positionIncrementGap=&quot;100&quot; autoGeneratePhraseQueries=&quot;false&quot;&gt;
  &lt;analyzer&gt;
    &lt;tokenizer class=&quot;solr.JapaneseTokenizerFactory&quot; mode=&quot;search&quot;/&gt;
    &lt;charFilter class=&quot;solr.HTMLStripCharFilterFactory&quot; escapedTags=&quot;a, title&quot; /&gt;
   &lt;/analyzer&gt;
&lt;/fieldType&gt;</pre>

<p>こんなHTMLをインデックスに入れようとしてみる。

<pre class="prettyprint lang-html">&lt;html&gt;&lt;script&gt;hoge&lt;/script&gt;
&lt;head&gt;&lt;title&gt;タイトル&lt;/title&gt;
&lt;body&gt;
本文&lt;br&gt;
&lt;a href=&quot;url&quot;&gt;ゆーあーるえる&lt;/a&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>

<p>結果

<table><tr><td>タイトル</td><td>本文</td><td>a</td><td>href</td><td>url</td><td>ゆー</td><td>あー</td><td>る</td><td>える</td><td>a</td></tr></table>

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://blog.mwsoft.jp/article/54808963.html">
<link>http://blog.mwsoft.jp/article/54808963.html</link>
<title>in-mapper combiningメモ</title>
<description>就職活動月間その２。子象本くらいは読んでますよ、みたいなところをアピールするためにこんなのを書いてみる。in-mapper combining（MapReduceデザインパターン）http://www.mwsoft.jp/programming/hadoop/in_mapper_combining.html0.23系が触りたい気持ちもありつつ、今仕事で使うとしたら0.20だろうということで地固めに励む。</description>
<dc:subject>所感</dc:subject>
<dc:creator>MW</dc:creator>
<dc:date>2012-04-04T23:20:21+09:00</dc:date>
<content:encoded><![CDATA[
就職活動月間その２。<br /><br />子象本くらいは読んでますよ、みたいなところをアピールするためにこんなのを書いてみる。<br /><br />in-mapper combining（MapReduceデザインパターン）<br /><a href="http://www.mwsoft.jp/programming/hadoop/in_mapper_combining.html" target="_blank">http://www.mwsoft.jp/programming/hadoop/in_mapper_combining.html</a><br /><br />0.23系が触りたい気持ちもありつつ、今仕事で使うとしたら0.20だろうということで地固めに励む。<a name="more"></a>

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://blog.mwsoft.jp/article/54779853.html">
<link>http://blog.mwsoft.jp/article/54779853.html</link>
<title>HadoopのWritableに関するメモ</title>
<description>今月は就職活動準備月間。とりあえずHadoopに関するそれっぽい記事をたくさん書くのだ。書くのだ。HadoopのWritableに関するメモhttp://www.mwsoft.jp/programming/hadoop/writable_memo.html書くのだ。</description>
<dc:subject>所感</dc:subject>
<dc:creator>MW</dc:creator>
<dc:date>2012-04-02T23:16:46+09:00</dc:date>
<content:encoded><![CDATA[
今月は就職活動準備月間。<br /><br />とりあえずHadoopに関するそれっぽい記事をたくさん書くのだ。書くのだ。<br /><br />HadoopのWritableに関するメモ<br /><a href="http://www.mwsoft.jp/programming/hadoop/writable_memo.html" target="_blank">http://www.mwsoft.jp/programming/hadoop/writable_memo.html</a><br /><br />書くのだ。<a name="more"></a>

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://blog.mwsoft.jp/article/54759016.html">
<link>http://blog.mwsoft.jp/article/54759016.html</link>
<title>日記的なもの</title>
<description>せっかく4月1日なんで変な文章でも書いてみようと思って、オープンソースの体系をそのまま政治体系に置き換えた捏造資料を作ってみたのだけど、今ひとつ面白くならなかった。三層分離モデルによるOpen政治についてhttp://www.mwsoft.jp/column/open_governments.htmlSFのプロットを作る時に設定に凝り過ぎてはいけない、みたいな格言を思い出した。しかし凝らな過ぎてもいけない。難しい。</description>
<dc:subject>日記</dc:subject>
<dc:creator>MW</dc:creator>
<dc:date>2012-04-01T14:46:37+09:00</dc:date>
<content:encoded><![CDATA[
せっかく4月1日なんで変な文章でも書いてみようと思って、オープンソースの体系をそのまま政治体系に置き換えた捏造資料を作ってみたのだけど、今ひとつ面白くならなかった。<br /><br />三層分離モデルによるOpen政治について<br /><a href="http://www.mwsoft.jp/column/open_governments.html" target="_blank">http://www.mwsoft.jp/column/open_governments.html</a><br /><br />SFのプロットを作る時に設定に凝り過ぎてはいけない、みたいな格言を思い出した。しかし凝らな過ぎてもいけない。難しい。<br /><br /><a name="more"></a><hr><br />ここのところ体調が優れず、なかなか仕事に加えて別の作業をするだけの体力が続かなかった。<br /><br />何もしなかったわけでもなく、Hadoopのメモに申し訳程度にHBaseの項目を追加してみる。まぁ、ないよりはマシだろう。<br /><br /><a href="http://www.mwsoft.jp/programming/hadoop/" target="_blank">http://www.mwsoft.jp/programming/hadoop/</a><br /><br />あとは子像本の擬似コードの実装とかをちまちまやっていた。この辺も後で見栄えのするようにして、まとめて貼っていこう。<br /><br />仕事を取るのに利用しようと思って書いているのだけど、この程度の厚さではいい仕事が取れるかちと微妙。GWが終わるまではこれ系のものをもう少し積み重ねて、箔を付けておきたい。<br /><br /><hr><br />なぜ体調が優れないのか。ダイエットの影響と仕事が重なっていたのが原因だと思われる。<br /><br />あと、仕事の忙しさに慣れて睡眠時間が当たり前のように短くなってしまっていたのも問題だと思われる。当面は7時間は寝るようにしよう。<br /><br />やはり歳かねぇ。以前と比べて、無理をすると響きやすくなっている気がする。以前ならもう少しやってから倒れていたはずなのに。<br /><br />まぁ、倒れるところまでやるという仕様は変わってないという意味では、それほど違いはないか。<br /><br /><hr><br />大きな企業で出世しようと思ったら、それに特化した能力が必要になる。でもその能力を持っている人が必ずしも企業を引っ張っていく能力があるとは限らないし、企業の収益を増大させるとも限らない。<br /><br />「人は無能になるまで出世する」みたいなピーターの法則的なものは、中間管理職だけでなく上層部にまで幅広く適用される。もちろん一番上にまで行ってもずっと有能であり続ける人もいっぱいいるけど。<br /><br />1人で会社を立てて大きくした人は、少なくとも会社を経営する能力はあることが証明されている。但しベンチャーを経営する能力と大企業を経営する能力は別なので、もしかしたら会社はその人が無能になるまで大きくなったりするかもしれない。<br /><br />そうした無能への誘いを突っ切って有能で在り続ける人は凄いなぁと思うし、素直に尊敬するような風習が根付けば良いと思っている。<br /><br /><hr><br />今月は携帯の料金が2000円を切った。順調に安くなっていってる。<br /><br />携帯はどうも苦手なので、ほとんど使っていない。お陰で料金的にはけっこう安くなる。こちらが求めてないのに向こうから勝手に誰かが話しかけてくるという端末をどうすれば好きになれるだろうか。<br /><br />しかし携帯が苦手ということは、その手のサービスに対して自分は無力になりやすいということでもある。今後、間違いなくシェアを伸ばしていくだろう産業と無縁というのも少し悩みものではある。<br /><br /><hr><br />森薫さんの乙嫁語りという漫画を購入。森薫さんはエマを描いた人ですね。女性でありながら「メイドの人」とも呼ばれるタイムトラベル萌え伝道師様です。<br /><br />乙嫁語りはどの辺が萌える漫画かというと、まずは「布」です。19世紀のシルクロードの遊牧民や定住民がいるあたりの多彩な布が拝めます。服の描き込みかたとか半端じゃないです。みんなそれぞれ違う複雑な模様の服を着ているのですが、それが全ページ描き込まれてます。<br /><br />刺繍をしているシーンとかもあって、「布支度」の回（2巻）では女の子がペタンと座って針と糸でチクチクしている姿が何ページも見られます。刺繍の細かい模様を1つずつ作っていくところとか、見ていて興奮します。こんな漫画は他にそうはありません。<br /><br />ちなみに自分が一番萌えた絵は、枚数少ないんですけどラクダ。3巻の終わりの方に出てくるんですけど、ヤバい。なにこのかわいさ。4巻はもっとラクダ出るかなぁ。馬も兎もキジもかわいいけど、ラクダが一番です。<br /><br />まぁ、そんなわけで、乙嫁語りは見ていてドキドキする萌系漫画です。ちなみにお嫁さんは20歳で夫が12歳という設定なので、一部の特殊な趣味をお持ちのお兄さんお姉さんはかなり興奮するかもしれません。私はそういう趣味はないので分かりませんが。ホント分かりませんが。

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://blog.mwsoft.jp/article/54433188.html">
<link>http://blog.mwsoft.jp/article/54433188.html</link>
<title>HadoopのContextをScalaのforで回してみたメモ</title>
<description>HadoopのContextは、「nextKeyValue」「getCurrentKey」「getCurrentValue」の3つを持っていてループで回して使ったりする。この子をScalaのforでこんな風に回してみたかった。for ((key, value) &amp;lt;- context) {  // ここで処理}</description>
<dc:subject>scala</dc:subject>
<dc:creator>MW</dc:creator>
<dc:date>2012-03-14T01:53:46+09:00</dc:date>
<content:encoded><![CDATA[
HadoopのContextは、「nextKeyValue」「getCurrentKey」「getCurrentValue」の3つを持っていてループで回して使ったりする。<br /><br />この子をScalaのforでこんな風に回してみたかった。<br /><pre class="prettyprint"><code>for ((key, value) &lt;- context) {<br />  // ここで処理<br />}</code></pre><br /><a name="more"></a>ScalaはhasNextとnextさえ実装出来ればIteratorとして扱えるらしい。けど、ContextにはhasNext的なものがない。nextKeyValueがBooleanを返す。<br /><br />こういう場合にどうやって書くのがいいのか分からなかったので参考にIteratorのソースを見てたら、singleという1個だけ要素を取るらしきメソッドを見かける。<br /><pre class="prettyprint"><code>def single[A](elem: A) = new Iterator[A] {<br />  private var hasnext = true<br />  def hasNext: Boolean = hasnext<br />  def next(): A =<br />    if (hasnext) { hasnext = false; elem }<br />    else empty.next()<br />}</code></pre><br />これと同じ感じでいいか、ということでこんなんで済ませてみた。思うところはあれど。ていうかこれちゃんといろんなケースで動くんだろうか。<br /><pre class="prettyprint"><code>implicit def hadoopContext2scalaIterator[A, B](that: MapContext[A, B, _, _]) = new Iterator[(A, B)] {<br />  var callnext = true<br />  var callhasnext = false<br />  var hasnext = true<br />  def hasNext: Boolean = {<br />    callhasnext = true<br />    if (callnext) { callnext = false; that.nextKeyValue() }<br />    else hasnext<br />  }<br /><br />  def next(): (A, B) = {<br />    if (!callhasnext) hasnext = that.nextKeyValue()<br />    callnext = true<br />    callhasnext = false<br />    if (hasnext) (that.getCurrentKey(), that.getCurrentValue())<br />    else Iterator.empty.next<br />  }<br />}</code></pre><br />これでMapperのrunをオーバーライドすれば、WordCountがこんな感じで書けたり。<br /><pre class="prettyprint"><code>override def run(context: Context) {<br />  for ((key, value) &lt;- context; word &lt;- value.toString.split(&quot;\\s&quot;))<br />    context.write(new Text(word), new LongWritable(1L))<br />}</code></pre><br />setupとかcleanup呼び出すよりrunを継承した方が書きやすい時ってあるよね。

]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://blog.mwsoft.jp/article/54426009.html">
<link>http://blog.mwsoft.jp/article/54426009.html</link>
<title>Kuromojiで日本語WordCount</title>
<description>Hadoop関連の仕事に就きたい気持ちがフツフツと湧いてきたので、しばらくそれっぽいことを書いて過ごしてみようと思う。とりあえずこの辺から。Hadoop、Scala、Kuromojiで日本語WordCounthttp://www.mwsoft.jp/programming/hadoop/scala_ja_word_count.html今もHadoopは仕事で使ってるけど、それメインというわけではないのでちょっと物足りない。夏頃までは仕事が埋まってるので、8月か9月にそういう仕..</description>
<dc:subject>所感</dc:subject>
<dc:creator>MW</dc:creator>
<dc:date>2012-03-13T23:27:18+09:00</dc:date>
<content:encoded><![CDATA[
Hadoop関連の仕事に就きたい気持ちがフツフツと湧いてきたので、しばらくそれっぽいことを書いて過ごしてみようと思う。<br /><br />とりあえずこの辺から。<br /><br />Hadoop、Scala、Kuromojiで日本語WordCount<br /><a href="http://www.mwsoft.jp/programming/hadoop/scala_ja_word_count.html" target="_blank">http://www.mwsoft.jp/programming/hadoop/scala_ja_word_count.html</a><br /><br />今もHadoopは仕事で使ってるけど、それメインというわけではないのでちょっと物足りない。<br /><br />夏頃までは仕事が埋まってるので、8月か9月にそういう仕事が取れることを目指して、ボチボチやってみよう。<a name="more"></a>

]]><![CDATA[
]]></content:encoded>
</item>
</rdf:RDF>

