Home > Software > Programming Archive

Programming Archive

3D by Flex (1)

ActionScript(Flex) の練習がてら作ってみました。

UIComponentを継承したクラスにできました。Panelに貼り付けれるようになってFlexっぽくなりました。

選択ソートを自力実装してみたらうまくいったようです。

Continue reading

拡張子 CSS

CSSの拡張子は特に理由もないので.cssとしていたのですが、(X)HTMLのヘッダで text/css だということをlinkタグとかで明記しているので、別に拡張子はほかのものでもいいのではないかと思って、.phpで動的にCSSを書き出すようにしてみたのですが、Firefoxだけはどうも読み込んでくれません。もしや .php だからまずいのかと思い、.txtとかにもしてみましたが、駄目でした。

結局、拡張子が.cssでないと、ヘッダがtext/cssでないのが原因のようで、PHPのはじめに、

header("Content-Type: text/css");

を記述すればいいようです。確かにFirefoxでもうまくいきました。

Linear Programming

lp_solveを利用するCのソースはコンパイルがうまく通らなくて、glpkでがんばってみたところ何とかなった。(うまくはいってない)

あちこちみてると、

gcc -I glpk/include/ glpk/src/libglpk.a glpk/examples/sample.c

で本当はコンパイルうまくいくみたいなんだけど、実際、aptでインストールしたのでは何か足りないのかうまくいかなくて、ソースからコンパイルしたら、今度はlibglpk.aがなくてlibglpk.laじゃだめだった。結局*.oを指定したら時間かかるけど、glpkを使ったCのコードをとりあえずコンパイルできた。

gcc -I glpk/include/ glpk/src/*.o glpk/examples/sample.c

これで何とかなった。数学系のライブラリを読み込めるらしく-lmつけてるひとが多いのですがどうなんだろう。情報持ってる方いらっしゃればもっと簡単な方法を教えてください。

JFrameの閉じ方

結構前から気になっていたことですが、JFrameのsetDefaultCloseOperationについてです。

これまでは、EXIT_ON_CLOSEばかり選択してましたが、DISPOSE_ON_CLOSEでもきちんと終了させられるんですね。

EXIT_ON_CLOSEは、

System.exit();

で閉じてるみたいなので、バックグラウンドでファイル処理なんかをしてると危険そうです。

DISPOSE_ON_CLOSEは、たぶん、

dispose();

で閉じているみたいなのでとりあえずこっちを使っていったほうが安全そうです。

# どちらも不可視にしてから処理してるかもしれませんけど。

複数フレームを開いてたりした場合も、こっちのほうがいいんでしょうね。

Double値の比較

Doubleのcompareはビットまでを比較しないといけないのですね。

public static int compare(double d1, double d2) {
    if (d1 < d2)
        return -1;		 // Neither val is NaN, thisVal is smaller
    if (d1 > d2)
        return 1;		 // Neither val is NaN, thisVal is larger

    long thisBits = Double.doubleToLongBits(d1);
    long anotherBits = Double.doubleToLongBits(d2);

    return (thisBits == anotherBits ?  0 : // Values are equal
            (thisBits < anotherBits ? -1 : // (-0.0, 0.0) or (!NaN, NaN)
            1));                          // (0.0, -0.0) or (NaN, !NaN)
}

上記のコードはjava.lang.Doubleからの引用です。何度もみたことがある気がするものの、いざというときには忘れてしまっています。

しかし原因はここだけではなかったようです。Orz

Home > Software > Programming Archive

Feed

feeds

Meta

Return to page top