前の月 / 次の月 / 最新

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

2008-01-30 Wed

Senna で、スペルチェック [Senna]

エラーチェックをまったくして無いから気をつけて

#include <cstdio>
#include <cstring>
#include "senna.h"

int main()
{
    sen_init();

    //辞書作成
    sen_index* index = sen_index_create("c:\\index",0,SEN_INDEX_NGRAM | SEN_INDEX_SPLIT_ALPHA,512,sen_enc_default);

    sen_index_upd(index, "apple",NULL,0,"apple", 5);
    sen_index_upd(index, "book",NULL,0,"book", 4);
    sen_index_upd(index, "aplication",NULL,0,"aplication", 10);
    sen_index_upd(index, "aplicot",NULL,0,"aplicot", 7);

    //検索
    char miss_spell[] = "boplecot";//aplicot って入力したかった。
    char key[SEN_SYM_MAX_KEY_SIZE];
    int score;
    sen_records* records = sen_records_open(sen_rec_document,sen_rec_none,0);
    sen_select_optarg op;
    memset(&op,0,sizeof(op));
    op.mode = sen_sel_similar;
    op.similarity_threshold = 10; //よくわからない。いくら指定する?
    sen_index_select(index,miss_spell,sizeof(miss_spell),records,sen_sel_or,&op);

    //結果表示
    sen_records_sort(records,10,NULL);
    while(sen_records_next(records,key,SEN_SYM_MAX_KEY_SIZE,&score))
    {
        printf("key = %s score = %d\n",key,score);
    }

    sen_records_close(records);
    sen_index_close(index);
    sen_fin();

    getchar();
    return 0;
}

実行結果

key = aplicot score = 38
key = apple score = 21
key = book score = 17
key = application score = 4

2008-01-25 Fri

Windows 98 で Office 2000 を更新

Windows 98 では Office Update の自動検出がない。
手動でインストールする。

Office 2000 の CD を用意

Windows Installer 2.0

Office 2000 Service Release 1
Office 2000 Service Pack 3

Office 2000 セキュリティ アップデート :KB822035
Office 2000 WordPerfect 5.x コンバータ セキュリティ アップデート :KB824993
Office 2000 WordPerfect 5.x コンバータ セキュリティ更新プログラム:KB873380
Office 2000 セキュリティ更新プログラム:KB917152
Office 2000 セキュリティ更新プログラム:KB914797
Office 2000 セキュリティ更新プログラム:KB921568
Office 2000 セキュリティ更新プログラム:KB920822
Office 2000 セキュリティ更新プログラム:KB923274
Office 2000 セキュリティ更新プログラム:KB929062
Office 2000 セキュリティ更新プログラム:KB920906
Office 2000 セキュリティ更新プログラム:KB934526

Excel 2000 セキュリティ アップデート :KB830349
Excel 2000 セキュリティ更新プログラム:KB873372
Excel 2000 セキュリティ更新プログラム:KB905757
Excel 2000 セキュリティ更新プログラム:KB918424
Excel 2000 セキュリティ更新プログラム:KB923090
Excel 2000 セキュリティ更新プログラム:KB925524
Excel 2000 セキュリティ更新プログラム:KB934447
Excel 2000 セキュリティ更新プログラム:KB936511
Excel 2000 セキュリティ更新プログラム:KB940596

Outlook 2000 セキュリティ更新プログラム:KB892842
Outlook 2000 セキュリティ更新プログラム:KB905646
Outlook 2000 セキュリティ更新プログラム:KB921593

Word 2000 セキュリティ アップデート :KB824936
Word 2000 セキュリティ アップデート :KB830347
Word 2000 セキュリティ更新プログラム:KB887977
Word 2000 セキュリティ更新プログラム:KB895333
Word 2000 セキュリティ更新プログラム:KB905553
Word 2000 セキュリティ更新プログラム:KB917345
Word 2000 セキュリティ更新プログラム:KB920910
Word 2000 セキュリティ更新プログラム:KB929139
Word 2000 セキュリティ更新プログラム:KB934392
Word 2000 セキュリティ更新プログラム:KB942669

Windows 98 では、 MBSA をつかえない。
全部手動でインストールした。

2008-01-24 Thu

Windows Update でエラー [Bookmark]

Windows Update でエラー番号 0x800C0005 が表示される場合の対処方法

Windows Update は http 以外の通信もしているみたいだ。
proxy の設定を http のみの場合上記のエラーが出る。

とりあえず直った?

[2008-01-21-2]
SATA のケーブルと電源を交換してみた。
直ったみたいだ。

マザーボードの電池が切れていた。
今度交換しよう。

マッピング

最初にマッピングしたのは、
スーパーブラックオニキスだった。

最初は、地図を作ることを考えもしなっかった。
2,3年後に5mm方眼ノートにマッピングして、
クリアーするのに10年近くかかった。

マッピングしてるときにつらいのは、
ループしてるフロア。

ターンテーブルは効果音が発生しないとヤバイ。

Wiz#5

Wiz#5

PCエンジン版でやってた。

5mm方眼ノートにマッピングして、
アヒルちゃんの所まで行った。
そこで止まっている。

PONで忍者を作って、ヤカンの首をはねて遊んでた。
ヤカンの首ってどこにあるんだろう?

Wiz#1 は FC でやってた。
地下4階まで行った。
これもここで止まっている。
リボンは、取った気がする。
指輪も取った。
ぎゃー。

一番印象に残るのは、ウサギ。
かじられて、あわてて逃げ帰った。
ウサギこわい。

2008-01-21 Mon

パソコンが壊れた

HDD に対するアクセスが異常に時間がかかる。

ケーブルとドライブを交換してみよう。

Referrer (Inside): [2008-01-24-3]

Apache 2.2.8 リリース [Apache]

Apache 2.2.8 がリリースされた。
もう、windows 版が公開されている。

後でインストールしよう。

いったんアンインストールするんだっけ?

2008-01-18 Fri

ビルドできたかな? [Senna]

テストプログラムを書く。

int main()
{
    printf("start\n");

    sen_init();

    sen_index* index = sen_index_create("c:\\index",0, SEN_INDEX_NGRAM,4,sen_enc_default);

    if(index)
    {
        printf("sen_index_create Successful\n");
        sen_rc rc;
        rc = sen_index_close(index);
        if(rc == sen_success){
            printf("sen_index_close Successful\n");
        }else{
            printf("sen_index_close Failed\n");
        }
    }else{
        printf("sen_index_create Failed\n");
    }

    sen_fin();

    printf("end\n");
    getchar();
    return 0;
}

c:\ に転置辞書を作成して終了する。

大丈夫みたいだ。

senna のインストール [Senna]

windows 環境でインストールしてみる。

2) コンパイルに必要なもの
- バージョン0.81以上のmecabのmecab.hとlibmecab.libが必要。

http://mecab.sourceforge.net/ から windows 用をインストール

4) sennaのビルド手順
- sennaのsenna\vcc\mecabフォルダにmecab.hとlibmecab.libをコピー。
- senna\vccフォルダのlibsenna.vcprojをVisualStdioで開く。
- 「ビルド」メニューから"libsennaのビルド"を実行。
- ビルドに成功するとDebugビルドではsenna\vcc\Debugフォルダに、Releaseビルドではsenna\vcc\Releaseフォルダに、ibsenna.libとlibsenna.dllが作成される。
- libsenna.dllをwindowsディレクトリ(c:\WINIDOWS)のsystem32以下に移動する。

mecab.h libmecab.lib は、C:\Program Files\MeCab\sdk にある。

でVSでビルド。

エラー 2 error C3163: '_vsnprintf': 属性が前の宣言と整合しません C:\Program Files\Microsoft Visual Studio 9.0\VC\include\stdio.h 358 libsenna.vc8

VC9 だとそのままではビルドできない?

error C3163: '_vsnprintf' で検索。
なんか同じエラーが出てる人がいる。

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2031152&SiteID=1

The VC9 CRT seems to define vsnprintf on its own, a simple shortcut that resolves to _vsnprintf. This conflicts with some third party libs (such like AngelScript) which define vsnprintf for their purposes. For AngelScript the solution is simpel: comment out the line

マクロが衝突しているのが原因

senna_in.h 76行目
#define vsnprintf _vsnprintf
をコメントアウトする。

ビルド成功した

senna を使ってみる [Senna]

はてブから senna の存在を知る。

Google Suggestのようなものを高速に実現するサーバsuggested

[2007-09-04-1]の目的に使ってみる。

2008-01-16 Wed

SSDP できた

UPnP はネットワーク上の機器を見つけるのに SSDP を使う。

SSDP は UDP でメッセージをマルチキャストする。

マルチキャストができているのに結果が返ってこない。

Windows ファイアウォールに阻まれていた。

2008-01-15 Tue

ライセンスつけてなかった。

パーサジェネレータに、
ライセンスをつけていなかった。

NYSLにしよう。

パーサジェネレータは、
NYSL Version 0.9982 に従います。

D言語によるSAXも、
NYSL Version 0.9982 に従います。

過去ログ

2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12