DATE : 2006/05/19 (Fri)
(注:虫の苦手な方はご注意ください)
友人とともに電車に乗っていました。
座席に座りながら、いつも通り友人と他愛のない話をしていたのですが、友人がふと私の肩の辺りを指してきました。
ちらりとその部分を覗いてみると、何やら黒い物体が……(;゚Д゚)
私の脇の上に、虫がくっついていましたΣ(||゚Д゚) だいたい足の小指ほどの大きさでしょうか。
とりあえず、服をつまんでバタバタやってみたり、フーフーして飛ばそうとしてみても、虫の足が服の繊維に引っかかっていてなかなか離れてくれません。そのうち、なにやら虫の尻の辺りが白く変色してきて……(´Д⊂ヽキモイヨー
心なしか、まわりに立っていた方々が引いていらっしゃるような気もしてきました。
とりあえず立ち上がり、座っていた座席の方にハンカチを使って虫を叩き落しました。しかし、座席の上に虫が居座っているのも何なので、とりあえず端の方へ虫を片付けてやりました(`・ω・´) もっとも、その途中でハンカチに虫がくっついてきたりしてヒィー(((゚Д゚)))ガタガタ
(;´∀`)正直、パニック寸前でした。
(;・∀・)虫、苦手なんです。直接触りたくないんですよー。
(((( ゚Д゚))))ああ、キモチワルイ……
ちなみに、虫を片付けた後にゆっくりと座席に座ると、再び友人が肩の辺りを指してきました。
すると、虫のいたところに艶かしい形をした足が一本くっついていました orz
(;´Д`)暑くなってくると、いろいろと変なものがわいてきますね……
(;^ω^)虫の出てこない冬に早くなってほしいものですね
(;´∀`)でも、夏がないのもアレなので、虫の出てこない夏が来ないものでしょうか
DATE : 2006/05/18 (Thu)
最近、「テトリス DS」を暇な時に取り出しては遊んでいます。
パズルゲームとして様々なプラットフォームに移植されているテトリスです。
あまりの有名さゆえにテトリスそのものに語るところはないのですが、この DS 版は対戦が最高です。
特に、スタンダード(いわゆる普通のルールのテトリス)の対戦はアツクなれるシステムが散りばめられています。
積みあがったブロックを2段以上消すと、相手のフィールドの下からブロックを数段出現させることができます。しかし、その相手のフィールドの下から出てくるブロック、1列だけ空いているんです(*´Д`)。4段以上に渡って同じ列が空くこともしばしばです。なので、相手を攻撃しているようで、逆に塩を送っているわけなんですね。もしも相手がブロックを整理するのが上手な人であれば、逆に自分が危ないわけです。
また、時々出現するアイテムもとてもニクイ存在です。
中でもニクイのはバナナでしょうか。バナナを使うと、相手全員のブロックの配置が変わってしまいます。綺麗に積み上げてきたブロックがあっという間に前衛芸術に早変わりです orz 特に、相手がいいブロックを落とそうとしている時に使うと効果抜群ですね( ´∀`)b
ちなみに、スタンダードの「VS COM」のクッパ(レベル5)は最強です。一説には、これまでの中で最も強いクッパとも言われています。
もちろん、勝ちましたよ(`・ω・´)
何度負けたか知りませんけどね(´・ω・`)
おそらく、もうクッパ戦をすることはないでしょう(;´∀`)なかなか勝てませんしね
なお、テトリス(ブロックを4段一気に消すこと)を連続で行うと、Back to Back Tetris というボーナスとなります。このボーナスを出すと、相手により多くのブロックを送ることができます。
また、一見入りそうにないところに T ブロックを入れて1段以上消すと、T-Spin ボーナスが入ります。このボーナスが出ても相手にブロックを送ることができます。なお、3段消すと T-Spin Triple となり、相手に6段分のブロックを送りつけられます。
参考文献
DATE : 2006/05/17 (Wed)
Java Persistence API とは
Java Persistence API とは、リレーショナルデータベースを使用してオブジェクトを永続化する API です。要するに、Java のオブジェクトをリレーショナルデータベースに保存するための API と考えれば簡単です。
Java Persistence API は、本来は EJB 3.0 に含まれる予定でしたが、現在では EJB 3.0 とは独立して提供されています。そのため、Java SE 環境下でも使用することができます。
今回の記事では、Java Persistence API の中でも、O/R マッピングの部分について簡単にメモする予定です。
O/R マッピングとは、Java のオブジェクトとリレーショナルデータベースとを関係付けることを言います。リレーショナルデータベースでは、データは表として表現されるため、オブジェクトをそのまま格納できない場合も出てきます。そこで O/R マッピングを行うことで、オブジェクトをリレーショナルデータベースに格納できる形に変換するわけです。
そのため、クラスに対して多少の設定が必要となってきます。
(つづきます)
DATE : 2006/05/16 (Tue)
Java には、System#arraycopy(Object, int, Object, int, int) という、配列の中身を高速にコピーするメソッドが用意されています。
このメソッドは Java ではなく機械語で実装されています。そのため、 for ループなどのコピーよりも素早くコピーできます。
具体的には、次のように配列の中身をコピーします。
// コピー元
int[] src = {1, 2, 3};
// コピー先
int[] dest = new int[src.length];
// コピー
System.arraycopy(src, 0, dest, 0, src.length);
ただし、コピーを行う配列がいわゆる2次元以上の配列の場合は注意が必要です。
Java では、2次元配列は「配列の配列」として表現します。つまり、配列オブジェクトを格納する配列の中に配列オブジェクトが入っているという考えです。
int[][] array;
// 異なる書き方で同じ容量の配列を確保
array = new int[2][2];
array = {new int[2], new int[2]};
配列オブジェクトは参照型です。System#arraycopy メソッドの場合、参照値はそのままコピーされます。つまり、コピー元とコピー先で入れ子になっている同じ配列オブジェクトを指すわけです。
int[][] src = {{1, 2}, {3, 4}};
int[][] dest = {{5, 6}, {7, 8}};
System.arraycopy(src, 0, dest, 0, 2);
System.out.println(src[0] == dest[0]);
上記の出力は true となります。もしも入れ子になった配列オブジェクトの中身がコピーされていれば、src[0] と dest[0] は同一のインスタンスではないため、 false となるはずです。参照がコピーされたために、src[0] と dest[0] は同一のインスタンスを指すようになり、 true となったわけです。
これではコピーできたとは言えません。src[0][0] の値を書き換えると、dest[0][0] の中身も変わってしまいます。
そこで、入れ子になっている配列の中身をコピーする場合は、その配列を直接 System#arraycopy メソッドに渡すようにします。
int[][] src = {{1, 2}, {3, 4}};
int[][] dest = {{5, 6}, {7, 8}};
for (int i = 0; i < src.length; i++) {
System.arraycopy(src[i], 0, dest[i], 0, 2);
}
System.out.println(src[0] == dest[0]);
この場合、出力は false となります。
参考文献
DATE : 2006/05/14 (Sun)
一見、見た目を良くするための自己啓発書のようにもとれますが、中身は全く違います。「ノンバーバル・コミュニケーションとは何か」という題名の方がしっくりくるかもしれません。
著者がマンガ原作者・劇作家のためか、マンガや演劇上での手法を基にノンバーバル・コミュニケーションを解説されています。そのため、その部分はまるでマンガ技法や演出技法の解説のようにもなっています。
個人的には、マンガ技法の本を読むのが好きだったこともあって、非常に楽しめました。
(;^ω^)別にマンガは描きませんけどね
そのため、自己啓発を期待して買うとかなり損をすると思います。あくまで「何か」を解説した本であって、「どうするか」を説明したものではないからです。
(;^ω^)個人的には、中身を見てマンガ技法や演出技法が目に付いたので買ってみた次第です。
そのためかどうかはわかりませんが、Amazon.co.jp のカスタマーレビューは賛否両論の嵐になっています。もっとも、『人は見た目が9割』という題名、『理屈はルックスに勝てない』という帯では誤解を招くのも無理はありませんが。
また、「人は見た目が9割」という題名が一人歩きするのを恐れている方もおられます。
結局のところ、見た目だけが良くても中身がなければ意味がないということなのでしょう。しかし、見た目が悪いと中身も正しく評価されないという、ごくごく普通の結論になりそうです。
ある意味では、そういった普段「ふつう」に感じている部分に斬り込んだ入門書といえるかもしれません。