2008-11-01から1ヶ月間の記事一覧

Maven で複数のソースディレクトリを扱う

Mavenのソースディレクトリやっと解決 - まとばと Maven2で複数のソースディレクトリを扱う方法が不明だったけど、http://mojo.codehaus.org/ の Build Helperで出来るみたい。pom.xmlに以下のように記述すればOK。 これで、S2JDBC-Gen で生成したソースを、…

サブドメインでもメール受信

user@domain.tld でも user@host.domain.tld でも、user ユーザのメールとして受信されるように Postfix を設定しました。 mydestination にサブドメインを表す ".domain.tld" を追加する方法ではうまくいかなかったため、正規表現を使用しました。/etc/post…

VirtualHost + SSL

昨日の続きで、名前ベースのバーチャルホストで SSL が使えるようにします。 バーチャルホストの設定ファイルを記述 ポート 80(http) と 443(https) それぞれに対して、バーチャルホストを設定します。http 用と https 用とで、内容が同じになる部分を二箇所…

オレオレ証明書設定手順

毎回ググっているので、メモっておく。 参考にしたのは、http://www.stackasterisk.jp/tech/systemConstruction/apache09_03.jsp#3_2 環境は CentOS 5.1 だったと思う。あと Apache2 秘密鍵作成 /etc/pki/tls/private 以下にサーバ用の秘密鍵作成。 [root@ge…

アクターモデルでの、アクターの粒度に悩む

※自分用メモ アクターモデルを利用した場合に、それぞれのアクターはどのような粒度とするのが良いのか? なんとなく理解したこと 単にスレッドの代替として使用するのであれば並列化したいところにだけ使えば良い 実装方法の一つでしかない 並列化そのもの…

implicit parameters の使い方

implicit conversions に続いて、implicit parameters も使ってみました。以下、implicit parameters を使用している関数の例。 abstract class Foo def foo(msg: String)(implicit p: Foo) = println(msg + p)implicit parameters の引数リストは一番最後に…

implicit conversions とブロックの組み合わせは失敗する?

java のスレッドを利用せざるを得ないときに、スッキリ記述できるかと思い、以下のように implicit を使ってみたのですがうまくいきませんでした。 object Sample { implicit def block2Thread(block: => Unit) = new Thread { override def run = block } d…

scala.actors.remote について

Actor をリモート呼び出しできるようにする機能ですが、いまいち使いづらいです。 内部で例外を握りつぶしているらしく、接続に失敗していても気付きません。なので、RMI を使用した簡易版を自分で作ってみました。 package scala.actors.rmi import java.rm…

sbaz について

ぐぐった限りでは Ruby でいうところの gem みたいなものらしいです。scala に関係する、ライブラリやツール、ドキュメントを管理(インストール、更新、etc...)してくれます。 sbaz でライブラリをインストールすると、scalac や scala の実行時に、ライブラ…

Actor でメッセージのマルチキャスト/ブロードキャスト

上述の link ですが、てっきりアクタをグループ化して、メッセージのマルチキャストとかが出来るようになるのかと勘違いしてました。 マルチキャスト/ブロードキャストをやりたければ、自前で仲介役のアクタを作るみたいですね。http://www.nabble.com/Scala…

Actor の link について

いまいち何につかうか良くわかっていなかった link ですが、Scala のフォーラムと、2ch でようやく理解しました。http://www.nabble.com/Some-Actor-questions-td8906252.html#a8910854リンクを設定しておくと、リンク先のアクタが終了したときに Exit メッ…

ダックタイピング

Think IT の記事を参考に、Scala でのダックタイピングを試してみた。 http://www.thinkit.co.jp/cert/article/0711/4/3/3.htm object Sample { def foo[T](x: T {def bar: Boolean}): Boolean = x.bar def main(args: Array[String]): Unit = { println(foo…

Actor の勉強

Scala の Actor を勉強している途中で出てきた疑問等。 Actor インスタンスの作成方法 PDFのチュートリアルでは、Actor を継承したクラスを作成し、act メソッドを実装すると説明されていますが、ほとんどの場合は actor 関数を使用します嘘です。作り方次第…

Hello Actor

とりあえず書いてみた。 package actor import scala.actors._ import scala.actors.Actor._ object HelloActor { private val foo = actor { println(">>foo actor") loop { println(">> foo loop") receive { case ('hello, msg) => println("Hello "+msg)…