検索エンジン作ろうぜ!! 3ページ目

2010年1月13日

前回、設計したロジックでアプリケーションを作成してテストしたところ、実行後、1 時間で取得できたユニークページ数はたった 1,000 ページほどでした…しかも、「取得ページの重複」が多発し、永久ループに陥ってしまいました。
なぜだろうか…。

原因は驚くほど単純でした。

以下のように、双方のページで相互にページがリンクされていた場合、”取得ページの重複” が発生し、かつ ”永久ループ” にはまってしまいます。

●ページA
 ・ページBへのリンク

●ページB
 ・ページAへのリンク

たしかに、冷静に考えてみればそうなるはず…Web ページの「相互にページがリンクされている」なんて当たり前か…^^;
とりあえず、この不具合を解消する為に、巡回するリンクの深さ(以下、ホップ回数という)に制限を持たせようと思います。

例えば、「ホップ回数 = 1 の場合、リンク先は1 階層まで巡回する」というような具合です。
これで、永久ループは解消できるはず。
さっそく、設計開始。

そういえば、ちょっと遅くなりましたが、開発環境等について全然触れてなかったので、ここで紹介します。
現在、以下のような環境で開発してます。

[開発環境]
Microsoft Windows Vista Ultimate (SP2)
Microsoft Visual Studio 2008 Professional (SP1)
Microsoft SQL Server 2008 Express (SP1)
Microsoft .NET Framework 3.5 (SP1)

[実行環境]
Microsoft Windows Server 2008
Microsoft SQL Server 2008 Express (SP1)
Microsoft .NET Framework 3.5 (SP1)
Microsoft Internet Information Service 7.0

ハードのスペックはまたの機会に^^;
たまにソースコードも掲載すると思いますが、使用言語は「C#」なので、すべて C# のソースになると思います…あしからず^^;

では、また次回。

検索エンジン作ろうぜ!! 2ページ目

2010年1月9日

早速、クローラのアルゴリズム設計から。

基本的には、以下のようなロジックで問題ないと思う。
① “任意のページ(URI)” に接続する。
② 「①」で接続したページの情報を取得する。(タイトルやキーワード、リンクなど)
③ 「②」で取得した “リンク(URI)情報” を元に ① ~ ② を繰り返す。

これで、ネズミ算的に大量のページをクローリング(巡回)できるだろう…と思う^^;

しかし、実際はこんなシンプルなロジックでは、いろいろな問題が生じてくるのでした…orz

つづきは、また次回。

検索エンジン作ろうぜ!! 1ページ目

2010年1月7日

お久しぶりです。ブログの更新が滞って約一年…。だいぶ sage 過ぎましたが、また再開したいと思います。

最近、「検索エンジン」ってやつを作り始めました。日ごろから、検索エンジンってどういう仕組みなんだろう…と考えたりすることがあり、いずれは自作の「検索エンジン」を作ってみようと企んでいました。そして最近、ようやく動き始めました。

とりあえず、仕組みとしては…

  • 任意のページとそのページにリンクされたページを巡回し、ページ情報を収集(インデックス化)しまくる。 → クローラ
  • 検索されたキーワードに一致するページ情報を表示する。 → 検索サイト

こんな感じだろうか…(こんな感じらしい…)

早速、クローラを作ってみる。

つづきは、また次回。

ペット飼おうぜ!! 2匹目

2009年1月17日

kyoro何か冷蔵庫に居る…。

3つ喰う。

2009年1月16日

tiovita今日は、中国産の冷凍肉まんを喰いました。やっぱ、冷凍食品は中国産に限るね。「うまい?」「安い!」「危険!!」の3病死拍子揃った食品は大概中国産っす。お腹空いてたので3つ喰いました。明日は4つ喰います。

あと、チオビタ飲んだ。うめがった。

ペット飼おうぜ!! 1匹目

2009年1月15日

pets仕事や生活に追われ、忙しい毎日を送っていると、たまに、ふと自分を見つめ直す事があります。その時、「いやぁ~疲れてるねぇ~。うん、俺、疲れてる。…売れっ子並みの疲れ具合。」と、思う事があります。そんな時、「やっぱ癒しが欲しぃね。うん、俺、欲してる。…だだっ子並みの欲し具合。」と感じます。
そこで、これから「癒し獲得!」をテーマに、ペット探しをして行こうと思います。これもやっぱり不定期連載ですが、今回は、目的がはっきりしているので、結構、続くかも。

とりあえず、自分の理想のペット象を age てみた↓
・癒される
・手間がかからない(しつけゼロOK)
・飽きない
・死なない
・金かからない(もちタダ)

なるほど、活字にしてみるとヒドいですわ、こりわ。動物愛護者が居たら殴られそうっすね…ペットを飼う資格ナッシングですわ。
あ、でも、そうすると、この企画が終わっちゃうので、何とかしねと…。

じゃ、ちょっと妥協案↓
・ちょっと癒される
・数年は飽きない
・ほぼ死なない
・低コスト

これで、かなり現実的になった…かな。
よし、あとはこの条件に当てはまる動物は…と、続きはまた次回。

もう眠み。

スパコン作ろうぜ!! 1FLOPS目

2009年1月14日

スーパーコンピュータを作ろうと思います。(不定期連載シリーズ)
と、いきなり宣言しても、「スパコン=超速ぇ~計算機」というイメージしか無い僕には無理っすかね。知識も技術も何も持ち合わせていません。…ですが、ほんのちょっとのやる気だけはあります。なので、不定期連載ですが今回で終わるかも知れませんが、終わらないかも知れません。…まぁ、でも sage 気味でやって行こうと思います。
あっ、スパコンを作る目的?…それは特にありません。このブログと同じように、見切り発車的な感じなので、なんもねっす。なんも言えねっす。まぁ、その内ちゃんと決めます。

目的はまだ無いっすけど、目標は「TOP500(世界のスパコンランキング)」で1位を目指してやろうと思います。目標は大きくても損は無いので。

とりあえず、目標を設定したので、今日はここまで。また次回、いつの日か。

喰っちゃう。

2009年1月13日

arabiki仕事柄、僕の生活リズムは↓のような感じです。

11:00 渋々起床
12:00 ごはん
13:00 仕方なく仕事へ向かう
22:00 ぐったり帰宅
22:30 ごはん
24:00 2ちゃんねる
25:00 ようつべ
26:00 お風呂
27:00 瞑想
28:00 妄想
29:00 就寝

このように一般の方の生活リズムとズレた生活が、もう10ヶ月くらい続いています。まぁ、最初はキツかったんすけど、今はだいぶ慣れてきました。…が、1つだけ未だに辛い事があります。それは、夕食(22:30)が終わってから就寝(29:00)までの間に、どうしてもお腹が空いてしまい、また食べちゃうのです。寝る前に食べると体には良くないし、何より翌日、胃がもたれてどうしようもありません(下痢の確率90%)。でも何とか我慢して寝ようとすると今度は空腹で寝付けません。

どうすりゃいいの!?

さよなら、ノリスケ。

2009年1月12日

norisuke先日、ちらっとお話したクライアントPCの「ノリスケ」ですが、この度、手放すことになりました。知人に譲ることになったのです。ノリスケは4年ほど前にプライベートのメインマシンとして購入しましたが、その大役を終えることになりました。

スペック的にはまだ行けるレベルですが、この際、知人に譲り、新しいマシンを購入することにしました。ちなみに、ノリスケのスペックは下記の通り。

<ノリスケのスペック>
DELL Inspiron 1300
CPU : Intel Pentium M 1.8GHz
メモリ : 1.0GB
HDD : 80GB

OS は、Microsoft Windows Vista Ultimate を使用していましたが、ビデオカードが貧弱(オンボード)な為、Windows Aero が機能していませんでした。従って、次のクライアントマシン「みっちぇる」(仮名)にはハイクオリティのVista UI を期待しており、さらには次期 OS の「Windows 7」の搭載も見越して、余裕のあるスペックを、と考えています。

続報を待たれよ!

浮かれないでね’09

2009年1月11日

inukoro年が明け、早くも10日あまり経過し、今年も残りあと350日とちょっとになっちゃいました。
僕は律儀な性格なので、毎年、年明けにその年の目標というかテーマを掲げ、年末には「一人大反省会」と銘打って一年を省みてます。ちなみに去年のテーマは「やさしい気持ち’08」でしたが、一年を通じてやさしい気持ちになれたので、特に反省点は見当たりませんでした。

そして、この調子で今年のテーマも決定したので、早速、発表したいと思います。

今年のテーマは「浮かれないでね’09」です。

これは今まで特に浮かれてきたつもりは無いんすけど、最近、周囲から浮かれ気味に見られがちなので、汚名返上したいということで決定しました。まぁ、どちらにしても悪いテーマではないので、「浮かれず」、「浮からず」、「浮かれられらず」という感じで行きたいと思います。

あっ、眠み。