OpenCV 2.1

いつのまにか、OpenCVが2.0・・・を飛び越えてさらに2.1になっていた。
ずっと1.1preの状態が続いていたのに。。

http://sourceforge.net/projects/opencvlibrary/
http://opencv.willowgarage.com/wiki/

C++メインになったとか。
使ってみよう。

| | コメント (1) | トラックバック (0)

定義済みマクロ集

いつも探してしまう各コンパイラの定義済みマクロを列挙したいいサイト発見。

Pre-defined Compiler Macros

| | コメント (0) | トラックバック (0)

Ajax.Request GET --> OPTIONS

Ajaxなプログラミング経験は少ないのだが、本を片手にAjax.Requestを使ってみようと思ったら、超はまった。

原因は、クロスサイトHTTPリクエストだった。

ブラウザのアドレスに、http://munepi.com/test.html と入力してHTMLを表示させ、
JavaScript内で、

new Ajax.Request('http://www.munepi.com/study/feed',
  {method:'get',
  ...
});

とやったら、クロスサイトリクエストとみなされて、本来GETで出されるはずのHTTPリクエストが、OPTIONSになってしまっていた。

また、同じく http://munepi.com/test.html と入力してHTMLを表示させ、
JavaScript内で、

new Ajax.Request('./study/feed', {
  method:'get',
  ...
});

とやった場合は、GETにはなるのだけどリクエストがwww.munepi.com/study/feed宛でないため、wordpress側が 301moved permanently のレスポンスを返す。

http://www.munepi.com/test.html と入力してHTMLを表示させれば上のどちらでも、問題ない。

クロスサイトHTTPリクエストができないというのは、本に書いてあったんでわかっていたのだが、wwwのありなしで違うサイトと見なされたというのが今回の盲点。
munepi.comはhttp://munepi.com/でも、http://www.munepi.com/でもアクセスできるので、それが問題を誘発した形である。
とりあえず、Ajax.Requestはできるようになったけど、悩みが残った。

| | コメント (5) | トラックバック (0)

CUDA2.3 + Ubuntu 9.10

CUDA 2.3では、Ubuntuのサポートは9.04までで、9.10はサポートされていない。
で、サンプルのビルドでエラーが出る。
以下を参考に対策してできた。
同じ問題に悩んでいる方はどうぞ。

| | コメント (0) | トラックバック (0)

Go 名称問題

グーグルのプログラミング言語、「Go」の名称に待った?

待ったをかけているのは、どうやらそれほど知名度もないマイナー言語の個人開発者であるようなのだが、Googleのような大御所に堂々と意見をいうあたりが偉い。というか、これが欧米人気質なのか。

もし自分がそういう状況になったとしたら、なにせ小心者であるから、「GoogleがGoにしたいなら、私のはGoneにでも変えましょうかね、、、」と引き下がっていることだろう。。

| | コメント (0) | トラックバック (0)

Go

こ、この超速コンパイルは気になる・・・。

http://golang.org/ (右の黒いTシャツ男をクリック)

| | コメント (0) | トラックバック (0)

samurai-apps.com

友人と、i-Phone/Androidのアプリを作るサークル始めました。

samurai-apps.com (サムライ・アプス・ドット・コム)

よければ、みてみてください。

| | コメント (0) | トラックバック (0)

Bio_100%

Bio_100%のサイトがいつのまにか復活してた!!(しかも1年も前に)
http://bio100.jp/

私もBioに影響を受けてプログラミングにはまったクチなので、懐かしさや感動でちょっと涙出た。
なお、一番やったゲームは、Finalty、WinDepth、CaraX'95です。

| | コメント (0) | トラックバック (0)

Eclipse RCP

最近お仕事でJavaでツールを作っているので、そのGUI版をEclipse RCPで作ろうと思い、「Eclipse パーフェクトマニュアル ベストセレクション」で勉強した。

読んだのは5章だけ。RCPを用いたアプリ開発の解説。
説明順序通りやったが、全リストを打ち込むまでエラーが残って実行できないのは痛かった。
一つ進むたびに実行ができると進捗の喜びがあってもっとやりやすかったが、根気で乗り切った。

でも、今後の機能拡張のためのエクステンションポイントの作り方や、スプラッシュ画面といった「かっこよさ」を高める機能についても説明されていて、よい。

これで勉強は終わり。
次はツールを作ってみよう。

| | コメント (0) | トラックバック (0)

CDTのパーサーを他の用途で使う(2)

生成されたAST (Abstract Syntax Tree) の各ノードの型を調べると、元として与えたC/C++のソースコードの構文要素の種類を調べることができる模様。

そのためには、Visitorを作成し、ASTに含まれている調べたい種類のノードを走査する。
例えば、Statement (文) という構文要素に分類されるノードを探すには、

ASTVisitor visitor = new ASTVisitor() {
    public int visit(IASTStatement stmt) {
        System.out.println(stmt.getRawSignature());
        return ASTVisitor.PROCESS_CONTINUE;
    }
};
visitor.shouldVisitStatements = true;
translationUnit.accept(visitor);

とする。

さらに、Statementの種類を詳しく調べることもできる。
例えば、Return Statementであることを調べるには、

    public int visit(IASTStatement stmt) {
        System.out.println(stmt.getRawSignature());
        if ( stmt instanceof IASTReturnStatement ) {
            System.out.println("  --> This is a return statement !!");
        }
        return ASTVisitor.PROCESS_CONTINUE;
    }

どんな構文を認識できるかについては、以下のヘルプを参考にする。
http://help.eclipse.org/help33/topic/org.eclipse.cdt.doc.isv/reference/api/org/eclipse/cdt/core/dom/ast/package-summary.html

| | コメント (0) | トラックバック (0)