14
since 2002.1.6

あなたの猫さんも,カウンタに参加しませんか?

猫タワーをチェック  過去の猫タワーをチェック

2008/5/11
2008/5/4
2003/7/21
2004/3/21
2007/12/31
2008/3/18
2008/3/10
2007/12/30
 
PR: 転職    葬式    マンスリーマンション 神戸    北海道    環境    FX    不動産担保融資    桐ヶ谷斎場    海外旅行    専門学校   

「Fedora 9は速いか?遅いか?」

CPUベンチのとんでもない差は何? 整数演算性能が2倍になってるんですけど。

というか、こういうのってシステムコール呼び出しなんて計ってないよね。多分dhrystoneっぽい感じの演算性能だと思うんだけど、OS関係無いじゃん。使われてるHDBENCH cloneを見ると、ソースからmakeするみたいだから、ディストロに付属しているコンパイラの性能差ってことか。にしても、えらい違いだな。

ちゃんとバージョンアップで、メモリ使用量が減って、速くなっている。こういうのが本来のOSの進化であるはずだよな。

システム => 設定 => キーボードで、レイアウトタブを選ぶと、なぜか私の環境では、レイアウトが2つ登録されていたので、1つ削除して、デフォルトのチェックを入れた。

すると、ctrl caps入れ替えで、caps LEDが点灯/消灯する問題も、VMWare使用中にShift alt ctrlが効かなくなる件も起きなくなったようだ(少なくとも今日1日、起きていない)。

と思ったら、VMWareの問題は、さっきまた起きた。ダメか。

marsさんとこにあった「Genericsの奥深さをちょっと覗いてみたよ」が、おもしろい。

Generic methodの型パラメータを、throws節にバインドできるとは知らなかった。肝は、

    static void rethrowAny(Throwable t) {
        RethrowDemo.<RuntimeException>rethrowInternal(t);
    }

    @SuppressWarnings("unchecked")
    static <T extends Throwable>: void rethrowInternal(Throwable t) throws T {
        throw (T) t;
    }

かな。チェック例外への対処はコンパイル時に行われるから、Genericsを使って「これはRuntimeExceptionだからね〜」とだまして、InterruptedExceptionを渡す。throw (T) t;のキャストは、所詮はイレージャだから、コンパイル時のチェックのみで、実行時には消えてなくなってしまい、別にcheckcastされるわけではない。かくして、throws節無しで、チェック例外がスローできてしまうわけだ。

バイトコードを見ると、instanceof使っているんだけど、ということは、複数のcase classが継承関係にある場合、親の方が先のcaseに書かれると、マズイんじゃないだろうか。早速テスト。

abstract class Tree
case class Child extends Tree
case class Child2 extends Child
shanai@shanai-desktop:~/scala$ scalac CaseClass.scala
CaseClass.scala:3 error: implementation restriction: case class Child2 and case class Child cannot be combined in one object
case class Child2 extends Child
     ^
one error found

なるほど、出来ないようになっているわけですか。caseクラス同士は、継承関係にあってはいけないようですな。

ScalaByExampleで、末尾再帰にしてみろとのことだったので、してみた。

  def factorial2(n: int) : int = {
    factorialIter(1, n)
  }

  def factorialIter(sum: int, n: int) : int = {
    if (n == 1) sum else factorialIter(sum * n, n - 1)
  }

で、バイトコードを見てみる。

public int factorialIter(int, int);
  Code:
   Stack=3, Locals=3, Args_size=3
   0:	iload_2
   1:	iconst_1
   2:	if_icmpeq	16
   5:	iload_1
   6:	iload_2
   7:	imul
   8:	iload_2
   9:	iconst_1
   10:	isub
   11:	istore_2
   12:	istore_1
   13:	goto	0
   16:	iload_1
   17:	ireturn

おぉ、ループになってますな。

P.S. Scala的には、こうかな。

  def factorial2(n: int) : int = {
    def factorialIter(sum: int, n: int) : int = {
      if (n == 1) sum else factorialIter(sum * n, n - 1)
    }
    factorialIter(1, n)
  }

「省エネ」電球型蛍光灯にメーカー軸足 値段は割高

値段がネックと見ているようだけど、どうだろう。値段的には元がとれる話だと思うんだけど。それより実際に使ってみて不満なのは、つけてすぐが暗いこと(大分改善されたけど、まだまだ)、不良品があるとショックなこと(長寿命品だからね。これまで10個くらい買ったけど、1個は不良品で1か月ほどで壊れた)、器具を痛めることがあること(うちのランプシェードは塗装が、ひび割れてしまった。どうやら紫外線が多いようで、樹脂を痛めるようだ)。

猫ページ更新完了。

なんか駒鳥が、雛鳥を回って平等に餌を与える、みたいな説明を昔聞いた覚えがあるんだけど、Wikipediaによると、全然違うじゃん。嘆願書の署名を円状に書くっていうの、日本の歴史の教科書でも見た覚えがあるな。

VMWareの中で動いているゲストOSは問題無いんだけど、外のアプリケーションでことごとくshift, alt, ctrlが使えなくなる。

この問題みたいだ。まだ根本解決は見つかっていないけど、自分の環境では、ここに書いてあるsetxkbmapの実行で、回避できている。あと、Ctrl+Alt+Enterによる全画面表示をしなければ、大丈夫のようだ。

JJUG 2008 Springで取り上げた、Swing Application Frameworkの話を公開しました。サンプルやNetBeansの操作動画も一緒に掲載しましたので、当日参加できなかった方でも、読むだけで内容は大体分かるかと思います。