2004-01-01から1年間の記事一覧

変数の不変・オブジェクトの不変

Imutable.java public class Imutable { final public String str; public Imutable(String str){ super(); this.str = str; } public void main(String[] args){ Imutable im = new Imutable("Object1"); im = new Imutable("Object2"); } } 上のImutable.s…

委譲・継承

Inheritance.java public class Inheritance extends SuperClass implements Interface { public void method(){ super.doSomething(); } } Delegation.java public class Inheritance implements Interface { SuperClass superClass; public void method(){…

Wrap.java public class Wrap { public Object obj; public Object getObj(){ return this.obj; } public void setObj(Object obj){ this.obj = obj; } } このWrap.javaにおいてはgetObjとobjへの参照、setObjとobjへの代入が等価である。Fieldへの直接参照…

天才でない僕らのために

NHK-BS1の地球ウォーカー 「僕らはほとんどロックスター!〜ニューヨーク」を見た。過去の放送一覧はhttp://www.nhk.or.jp/globe-walkers/blist/list.html トリビュート・バンド*1とは特定の有名なバンドの演奏・スタイルを忠実に再現することを呼び物とする…

コピーワンス

なぜ日本のメディアは著作権保護が下手なのだろう。 たとえばコピーワンスでは家庭内コピーもできない。たぶん、映像データをPC上で解析したり、メタデータを編集したりすることもできない。*1デジタル化によってデータ対画質比は向上するものの、視聴者の利…

HAIKU Handshake Protocol

HAIKU Handshake Protocolはサーバとクライアント間でセッションを確立するために用いられます。データ量のきわめて小さい著作物である定型詩を相互に送信することにより、送信可能化権の存在を担保とした安全な通信を可能にします。HAIKU Handshake Protoco…

eclipse+CVSNT

ローカルでのソース管理にCVSを導入した。 最初はオーバーテクノロジーかと思っていたが、サーバにはCVSNT、クライアントにはeclipseという組み合わせなら導入コストを気にするほどのものではなかった。

舞城が地の文に書く効果音は漫画の書き文字を引き込んだものなのではないか。*1 *1:そう考えると地味だな。「ズギュウウウン」くらいはやってくれないと

笠井潔『オイディプス症候群』ISBN:4334923577

電車内で読むには重い一冊。 ミステリとしては各部分の繋がりが弱い。フーコーを『監獄の誕生』一点に絞ってしまうのはお座成りすぎると思う。

京極夏彦『陰摩羅鬼の瑕』ISBN:4061822934

まだ200頁ほど残っているのですけど、展開はあからさまなので感想。ええと、榎木津がいなければ小説にならない事件ですね。 物語の内部では何ら不思議なことは起こっておらず*1、過去四件の事件の相似性を強調したり、榎木津の宣告を挟んでみたり、……といっ…

http://www.asahi.com/international/update/0408/013.html 映像には3人が目隠しをされ、地面にひざを組んですわらされている場面と、目隠しをはずした様子が映っていた。3人を武装した覆面姿の男たちが取り囲んでいた。 何だかなぁ、目隠しの意味がないん…

Map#get(K)とList#get(int)。

便利そうなのにエラーが出るのね。 MapList.java public interface MapList extends SortedMap, List{ V get(int index);//List由来 V get(K key);//Map由来 } 追記:エラーの原因はMap#remove(Object)とCollection#remove(Object)の返値の不整合だった。こ…

型と意味

型は実装を含まない。そのため、多重継承とは異なり多重型は安全である。 ただし、同名かつ同引数メソッドを持つinterfaceを二つimplementsすると名前空間の衝突が起きる。そのため、返値の型が異なる場合にはコンパイル時にエラーが発生する。 さて、返り値…

続き

型とinterfaceの区別が必要かもしれない。 interfaceは型情報を持つ classも型情報を持つ 変数定義の際に型付けを行う 昨日http://d.hatena.ne.jp/kilrey/20040330のは一つの変数(仮引数だが)に「複数の型の積集合」という型を付けていた。genericsの本来の…

疑問

引数があるinterfaceを実装していることを強要するだけのために、genericsを使えるのだろうか? 例えば、Cloneableのようなタグが複数付いていることを保障する*1ことの需要はあると思う。だからといって組合せごとに新しいinterfaceを作るのは気持ち悪いし…

ユタ モルモン 語学

エキサイト:サーチストリームhttp://www.excite.co.jp/search_stream/filter_off/を付けたら最初に表示されたもの。

欲しいものリスト

immutable 言語レベルでオブジェクトのimmutable性を保障して欲しい。変数・フィールドはfinal修飾子でimmutable化できるが、メソッドをimmutable化する仕組みも欲しい。 generic配列 配列とListとの違いをなるべく小さくして欲しい。Object[] implements Li…

星野智幸『目覚めよと人魚は歌う』ISBN:4104372013

面白いくらいに私の好みと合わない小説だった。登場人物は象徴的にすぎるように思うし、“血が固まった色の口紅”といった比喩にも困惑したし、いちいち読み辛いことばかり。

浦賀和宏『透明人間―UBIQUITY』ISBN:4061823361

浦賀らしくないというべきか、浦賀らしいというべきか。島田荘司ににも似た手付きで拡げた大風呂敷を、浦賀ならではの結末へとまとめ上げてしまった。 ミステリというジャンルに対する葛藤が無ければ書けない小説なのは確かなのだけれど、内容についてよりも…

続・思いつき

extendsを指定してあるのでstaticメソッドの存在は確定しているはずだが、それでもGeneric型からstaticメソッドを呼ぶことは出来なかった。*1Genericsが扱うのはTypeであって、Classではないということなのだろう。 public class Test { static public void …

思いつき

java1.5のGenericsではGeneric型のConstructorが使えない。静的解決では実行時の型名に強く依存する処理が扱えないためであり、同様にGeneric型のstaticメソッドも扱うことが出来ない。 つまり、動的に決まる部分はReflectionを使うべきだ、という方針の表れ…

疑問

メソッドコール単位でGenericsの型付けが出来た方が使いやすいのではないか。クラスの場合と全く同じ手順で消去できる*1し、特にデメリットが思いつかない。 追記:実際に出来た。マニュアルはちゃんと読もう。 public class Test{ static public List makeL…

思ったこと

何故、作家売りの周りでは「天才」や「才能」という言葉が氾濫する。「弱冠18才でデビュー」など、年齢や経歴に関わる売り文句も多い。 勿論、出版社がそういう商売をするのに道義的な問題があるわけではない。作家買いをしてしまう読者層にも同義的な問題…

続・関数オブジェクト

必ずしもConsを使う必要は無かったらしい。 Functor.java public interface Functor { Result evaluate(Argument arg); } としておいて、 FunctorA.java public class FunctorA >, Result > { Result evaluate(Argument arg){ return null; } } というように…

大塚英志『キャラクター小説の作り方』ISBN:4061496468

左右の瞳の色が違うキャラクター〜」の部分の指摘が、某秋月の小説を読んでから書いたかのように笑いました。ただ、京極・清涼院というミステリ面を放棄した作家を、ミステリ作家の代表であるかのように扱うのはアンフェアですね。 プロットをまとめるのが苦…

関数オブジェクト

昨日のConsを使って関数オブジェクトを作ってみた。static methodみたいなものなのだけど、集合やリストに渡して各要素を計算させたり、……。 引数の型チェックを書かないでよいので、Consの型表記が面倒でも使い道はあるかもしれない。動作速度については Co…

Cons

GenericsなConsをLinkListのように使う*1ことで任意個のGenerics型を指定できる。ただし、Generics型指定がとても面倒になってしまうし、Consを大量に作らなければならないし、……と特に利点はない。 Cons.java public class Cons { final public Car car; fi…

FactoryMethod

Creator.java public interface Creator { Product factoryMethod(); } これでCreator-Product間の連携は明確になる。ただ、一つのCreatorが複数のProductを作る必要がある場合*1には使えないので、やや問題があるような。 *1:実際多い。

Generics実験

j2se1.5の新機能、Genericsを使った実験をしてみようと思う。

続き

紀伊国屋書店 単行本 週間ベストセラーhttp://bookweb.kinokuniya.co.jp/guest/cgi-bin/best_wa.cgi?subj=tankoによると、今週のランキングは以下のようになっている。*1 NO ISBN タイトル 巻号 著者 出版社 出版年月 本体価 1 4876885214 幸福の法 大川隆法…