2005-03-23 (Wednesday) [長年日記]
■ [Emacs][Hack]入門xyzzy Amazonにて取り扱い開始
via Mirage Tower
入門xyzzyが
待望のAmazon入り.
注文しようと思ったが, やっぱり在庫切れ...あたりまえか...orz
■ [Univ]卒業式,学位授与式
行ってきた.
が,出席する必要はないかもななぁとか思ってしまった.
一生に二回しか歌わない校歌*1を歌い, 入学のときと冗長性のある話 *2 を聞かされ,立ったり,座ったり,拍手したり.
イマイチ魅力がないなー. まぁ,ボクは進学するので, 卒業式自体がそんなに魅力的ではなかった ということもあるかもしれない.
ただし,その後の学位授与式は 進学とかの手続きに必要な卒業証明書が 実際に授与されるのでかなり重要.
■ [Univ]大人の科学
お世話になった先生に記念品を贈ることにした. 話し合った結果,花束とは別に何かを贈呈しようということになった.
そこで,「先生のことを考えるとDVD-R 20枚組みとか 大人の科学とか スペースワープがいいんじゃない?」 とか提案してみたら大人の科学が採用された.(ぶ
ちなみに,贈呈した大人の科学は エジソン式コップ蓄音機 (Amazon.co.jp)と プログラム・ロボットデジロボ01 (Amazon.co.jp)が 同梱されたセット版のものです.
後日先生から感想を伺うのが楽しみだ.
■ [Univ]謝恩会
パセリを食いまくり,ワインを飲んだ. パセリが苦くてうめぇ.(バカ
で,iPod Shuffleが抽選であたる *1 ビンゴゲームなんてものをやった. ルールは以下の通り.
- ビンゴゲームする
- ビンゴになった順にクジを引く
- 引いたクジにしたがって景品をゲット
- クジがなくなったらゲーム終了
で,このルールにより, 一番はじめにビンゴになったとしても,iPod Shuffleが当選するとは限らないの法則が 適用されているはずなのですが, 最初にビンゴになった人がクジで iPod Shuffleを引き当てるという強運っぷりを発揮. 複雑なルールにした意味がほとんどない.(ぶ
で,ゲームが進み,ついにボクもビンゴになってしまった.
クジを引いてあたったのはうまい棒 30本という オーソドックスな嫌がらせっぷり. ちなみに味は「やさいサラダ味」でした. せっかくなら「納豆味」とかで嫌がらせ度を上げてください.(ぶ
理想的には情報系の学科なので, Lindows特製うまい棒でも 用意してくれれば*2よかったのに... とか,延々と頭の中でうまい棒論議してました.
■ [Univ]謝恩会 帰り道
帰り道にて雨にぬれてうまい棒の 包装が少し破けてしまった. *1
駅でうまい棒を露出させているのが 異様に恥ずかしく思えてきて, 新聞を購入し,うまい棒30本を包んで不審物に偽装するという 世にもありえない体験をしてしまった...
っつーかね,新聞が200円くらいすることを考えれば その場にうまい棒を破棄したほうがよかったんじゃねー?と 後になって気づいた.ダメだ.オレ.
...
そういえば, うまい棒食べ放題な会社もあります (「待遇」のところに注目). うまい棒が好きな人は就職してみては?(ぉ
*1 もちろん,はじめは研究室のみんなで使う^H^H食べる案を出したのですが,どうやら研究室でも不要な感じがしたので,自分で持ち帰ることにした.
■ [Hack][Java] 解説,Boxingの罠
昨日,トラックバック元のふが日記にて解説をいただきましたが,こちらでも簡単に説明しておきますね.
まず,タネはJavaのimmutableオブジェクトにあります. immutableオブジェクトとは 「何度も頻繁に使うことが期待される値なので, 一度生成されたら何度も使う(変更は不能な)オブジェクト」 のことなのです. immutableオブジェクトには下記のようなものがあります.
- booleanのtrue, false
- すべてのbyte値
- -128から127までのshort, int
- \u0000から\u007Fのchar
そして,Javaの仕様によるとこれらのプリミティブ型は Boxingの際にimmutableオブジェクトにBoxingされるのです. 一度生成されたオブジェクトは使いまわされる,ということです.
そのため,"Integer i = 128"は immutableオブジェクトの対象外なので 普通のオブジェクトが生成され, "Integer j = 128"でも 普通のオブジェクトが生成される.
これに対し, "Integer k = 100"ではimmutableなオブジェクトが生成され, "Integer l = 100"では 新たなオブジェクトの生成をせずに, すでに生成済みのimmutableオブジェクトを使いまわす ことになる.
結論としてはオブジェクト同士の値の比較には 横着せずにequalsメソッドを使いなさい, ということですが, うっかり等価演算子使ってしまったときに 値の範囲が悪いとバグに気づけない,ということになるかも...
全部うちの研究室の4年生が考えたことですので…w>謝恩会<br>私も急遽参加しようと思ったのですが、引越しの準備に追われて結局キャンセルしちゃいました。最後にお会いしたかったんですけどね。
なんだかんだでいろいろ楽しませていただきました.こうしてネタにもなっている罠.(わら<br>引越しの準備,おつかれさまです.<br>まま,今後も大学祭などのときにお会いしましょう.<br>(たぶん)(適当に)(例年通りの)活動をしていると思います.