忍者ブログ
[6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16]

DATE : 2017/06/27 (Tue)
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


DATE : 2007/12/17 (Mon)

風林火山」が終了しました。

今年の大河ドラマは、非常に重厚な作りでよかったです。今まで私が見てきた大河ドラマでは、主人公の顔が青年期から一生を通してほぼ同じ(せいぜい晩年になるとヒゲが付いて髪に白髪が混じる程度)ことが多かったのですが、本作では特に男性陣の顔が大きく変わっていて面白かったです。

( ^ω^)最終回で若い頃の回想が挿入されていたのですが、とても同じ俳優とは思えないほどの変わりぶりで驚きました。

( ^ω^)来年の大河ドラマにさっそく武者震いですね。

PR

DATE : 2007/12/13 (Thu)

プログラミング作法」(Brian W.Kernighan, Rob Pike著、福崎俊博訳、アスキー、2000)を読みました。プログラムを書く際のスタイルや、プログラミングの際の心構えなどについて書かれた本です。

以前、「Code Complete 第2版 ――完全なプログラミングを目指して」を読んだことがあったので、頭の中で「Code Complete」と比較しながら読みました。「Code Complete」と比べると、「プログラミング作法」はプログラミングを始めた人も対象とした内容となっています。そのため、手続き型言語やスクリプト言語を中心に取り上げています。また、前者がコードの書き方に重点を置いていたのに対し、後者はコードの書き方から始まってアルゴリズムやリソース管理の方法など、プログラミング全般に渡っています。

両者を見比べてみると、細かい点で違いが見つかります。個人的に最も目に付いたのは、変数名の付け方でした。「プログラミング作法」では、グローバル変数は長くフルスペルで、ローカル変数は短く省略形でという名付け方が推奨されています。しかし、「Code Complete」では特にグローバル変数は、ローカル変数はという違いには触れておらず、ただ単にフルスペルで長く名付ける方法が推奨されていました。グローバル変数、ローカル変数にかかわらずという表現ではなかったので、本当のところは分からないのですが、私としてはグローバル変数、ローカル変数に関わらず、名前はフルスペルで長く付ける方法の方が良いと思います。

(;^ω^)ただ、ここから思うのは、コードを書く作法は決まりきっていないということですね。「Code Complete」にしても「プログラミング作法」にしても、名著と呼ばれている本ですが、細かい部分では著者の考え方によって違いが出てくるわけです。結局のところ、コードの書き方は、コードを書く度にしっかりと考えていかなければならないようです。


DATE : 2007/12/11 (Tue)

※ これはインストールの仕方が悪かっただけなのかもしれません。ただ、長時間詰まってしまったので、ここにメモしておきます。

ST_Union( geometry set )という関数があります。これは、geometry で指定された幾何オブジェクトを結合する集約関数で、次のように使用します。ここで、幾何オブジェクトが格納されたテーブルは geometry_table で、幾何オブジェクトの列は the_geom と想定します。

SELECT ST_Union( the_geom )
FROM geometry_table;

上の例では、geometry_table テーブル内の the_geom 列に格納されている幾何オブジェクトが全て結合され、その結果、幾何オブジェクトひとつが返されます。

ところが、上の SQL を PostGIS 1.3.2 で実行すると、ST_Union( geometry )とマッチする関数はないというエラーが出てしまいました。

そこで、次のように ST_Union 関数の代わりに GeomUnion 関数を使用してみました。

SELECT GeomUnion( the_geom )
FROM geometry_table;

PostGIS の 1.3 未満では ST_Union の代わりに GeomUnion を使用していたので、昔のバージョンの関数ならば動くのではないかと踏んだのです。

そして、実際にこれはうまくいきました。ところが、PostGIS 1.3 以降は GeomUnion ではなく ST_Union 関数の使用が推奨されているので、このままではしっくりきません。将来のバージョンでは GeomUnion が削除されてしまう可能性もあります。

そこで、PostGIS 1.3 に付属する SQL 文を調べてみました。具体的には、「<PostgreSQL をインストールしたディレクトリ>\share\contrib\lwpostgis.sql」です。このファイルには、PostGIS の関数などが収められています。そのファイル内で、ST_Union や GeomUnion の集約関数の定義を探すと、次のように見つかりました。

-- Deprecation in 1.2.3
CREATE AGGREGATE GeomUnion (
    sfunc = geom_accum,
    basetype = geometry,
    type = geometry[],
    finalfunc = ST_unite_garray
    );

-- Availability: 1.2.2
CREATE AGGREGATE ST_Union (
    sfunc = ST_geom_accum,
    basetype = geometry,
    stype = geometry[],
    finalfunc = ST_unite_garray
    );

この定義を見ると、きちんと定義されているようです。しかも、定義の内容も GeomUnion と ST_Union とでまったく同じです。

そのため、上の ST_Union の定義を実行することで問題が解決しました。

(;^ω^)おそらくインストールの仕方が悪かったのだと思いますが、根本の原因はいまだに不明です。とりあえずの対処療法です。


DATE : 2007/11/28 (Wed)

ImageIO などで読み込んだ画像がインデックスカラーかどうかを判断するには、その画像のカラーモデルのインスタンスが java.awt.image.IndexColorModel かどうかを判断するだけで分かります。

例えば、java.awt.image.BufferedImage の画像 image がインデックスカラーかどうかを判断するには、次のようにします。(import 文などは省略しています)

if ( image.getColorModel() instanceof IndexColorModel ) {
    // image はインデックスカラー
}

(;^ω^)ImageIO を使った場合、読み込んだ画像のカラーモデルが自動的に設定されるので非常に便利です。


DATE : 2007/11/25 (Sun)

Wii ザッパー」を手に入れました。すでに「ゴースト・スカッド」や「バイオハザード アンブレラ・クロニクルズ」を Wii リモコンで遊んでいたのですが、臨場感を求めて購入することにしました。

(;^ω^)Wii ザッパーは店頭では売っておらず、「任天堂オンライン販売」でしか手に入りません。

上記2作は Wii ザッパー対応ソフトですが、対応、非対応に関わらず、Wii ザッパーを使おうと思えばどのようなソフトでも使えます。というのも、Wii ザッパーは単純に Wii リモコンやヌンチャクを銃の形に固定するための型でしかないので、ソフト側が Wii ザッパーの使用を認識できないからです。そのため、Wii ザッパー対応ソフトでは、キーコンフィグで Wii ザッパーを使用する設定に変更する必要があります。

しかし、Wii ザッパーを使用すると照準が非常に安定します。Wii リモコンの場合は照準がどうしてもふらつくので、狙いを定めるのがうまくいかなかったりしたのですが、Wii ザッパーでは思い通りの場所に照準が行きます。しかも、安定感があるため、素早く移動できます。

(;^ω^)特に「ゴースト・スカッド」の場合は、両手で Wii ザッパーを持つので、安定感が桁外れです。もっとも、Wii リモコンでは簡単だった画面へリモコンを向けての弾薬補充は、Wii ザッパーでは安定しすぎてし忘れることも多々ありますが。

Wii とガンシューティングはかなり相性がいいので、今後も Wii ザッパー対応ソフトに期待ですね。

忍者ブログ [PR]
ブログ内検索
最近の状況
リンク
カレンダー
05 2017/06 07
S M T W T F S
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30
使用許諾
最新コメント
(08/15)
(05/04)
(03/06)
(03/04)
(09/25)
最新トラックバック
T/O
(11/05)
ブログ内検索
最近の状況
リンク
カレンダー
05 2017/06 07
S M T W T F S
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30
使用許諾
最新コメント
(08/15)
(05/04)
(03/06)
(03/04)
(09/25)
最新トラックバック
T/O
(11/05)