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

仮想マシン増殖

私にとっての最小構成のサーバを作ったので、これをコピーして増殖させます。 あと、後々用にスナップショット*1をとっておきます。 仮想マシンをシャットダウン 一応、イベントリから削除する ストレージプールをホストしている FreeNAS にシェルログイン …

FreeNAS のバージョンアップ

いままで FreeNAS の 0.7.0 の stable 「じゃない」 ものを使い続けていたので*1、いいかげん stable な最新版に入れ替えました。 最新版のイメージをダウンロード 新しい USB メモリに WinDD をつかってイメージを書き込み*2 現在の設定をバックアップ 電源…

CentOS5.5のセットアップ備忘録

インストール VMWare ESXi上にインストール 一応 DVD イメージをダウンロードしたけど、ネットインストールでも問題ないかも CentOS 4/5(64bit)、メモリ512MB、HDD 8GB でインスタンス作成 インストール時に標準では ext3 になるファイルシステムを ext2 に…

無線LANの設定変更

メモも兼ねて。うちでは電波が届かないため、無線LANのアクセスポイントを一階と二階それぞれにおいています。ちなみに光回線を引いているのが二階なので、二階から一階まで外壁づたいにLANケーブルをたらしています。いままではAPモードに設定した無線LANル…

おまけ

ついでに、良く使う範囲での Scala と C# のリスト操作対応表。 Scala C# map Select flatMap SelectMany filter Where foldLeft Aggregate *1 foldRight なし reduceLeft Aggregate *2 reduceRight なし foreach なし zip Zip *3 すぐに思いつくのは、この…

Option的なものを作ろうとして絶望した

C#

ものすごい久々にブログを書くのですが、あまり役に立たない情報です(汗ここ半年ほど C# を使用するプロジェクトに携わっています。C# は 4.0 から?だと思うのですが、ジェネリクスの型パラメータに変位指定(in とか out とか)ができるようになっています。…

S2JDBC で UUID 型を利用する

テーブルの主キーに UUID を使いたい場面は結構あるとおもうのですが、S2JDBC は UUID を利用できるようにはなっていないようです。 ならばってことで、Dialect を拡張して、UUID を使えるようにしてみました。対象の DBMS は H2 です。H2 ならば UUID 型を…

Scala から S2JDBC を利用するときに気をつけること

Scala から S2JDBC を利用するときに気付いたこととかを、いくつか書いておきます。 タイプセーフ API S2JDBC では Operations クラスや S2JDBC-Gen により生成した Names クラスを、以下のように利用することで型や名前の間違いをコンパイル時に気付けるよ…

トレイトの初期化処理で抽象 val にアクセスする

トレイトのメンバとして抽象 val を宣言した場合、初期化処理のタイミングでは、その val の値が null になっていることがあります。 以下の例では、Foo の初期化時には value2 が null になっています。 object Sample1 { def main(args: Array[String]) { …

Chain of Responsibility っぽいことを trait を利用して実装してみる

Chain of Responsibility というよりも、http://itpro.nikkeibp.co.jp/article/COLUMN/20081009/316549/?P=2 の方法を変形しただけなんですけどね。まず、リクエストを処理するメソッドを持つ、ハンドラの trait をつくります。 trait Handler { def handleR…

Cake Pattern の簡単な例を書いておく

Cake Pattern の説明は Programming Scala よりも、http://jonasboner.com/2008/10/06/real-world-scala-dependency-injection-di/ の方が分かりやすかったです。一応、自分なりに理解できたつもりでいるので、とりあえず簡単な例を書いておきます。 出現す…

親トレイトで定義されている val を、子トレイトで override するとインスタンス化に失敗する

子側のトレイトで親の val を override すると、コンパイルは成功するにも関わらず、実行時に ClassFormatError が出ます。 以下は現象を再現させるコード。 trait Base { val value: String = "base" } trait Child extends Base { override val value: Str…

SiteMap も JRebel(JavaRebel) で HotDeploy されるようにする

Liftを使用しての開発では mvn scala:cc と mvn:jetty:run をしてファイル保存のタイミングで変更が反映されるようにしていました。 scala ファイルを変更すると scala:cc により自動でコンパイルが実行され、class ファイルが変更されたことにより Jetty が…

main メソッドが見つからないといわれたら・・・

先日、Scala プログラムを書いていたときのことです。object に main メソッドを定義しているにもかかわらず、main メソッドが見つからないといわれました。 以下のようなプログラムです。 import java.awt.Dimension import javax.swing.JFrame object Samp…