2008-11-01から1ヶ月間の記事一覧
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…
昨日の続きで、名前ベースのバーチャルホストで 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 conversions に続いて、implicit parameters も使ってみました。以下、implicit parameters を使用している関数の例。 abstract class Foo def foo(msg: String)(implicit p: Foo) = println(msg + p)implicit parameters の引数リストは一番最後に…
java のスレッドを利用せざるを得ないときに、スッキリ記述できるかと思い、以下のように implicit を使ってみたのですがうまくいきませんでした。 object Sample { implicit def block2Thread(block: => Unit) = new Thread { override def run = block } d…
Actor をリモート呼び出しできるようにする機能ですが、いまいち使いづらいです。 内部で例外を握りつぶしているらしく、接続に失敗していても気付きません。なので、RMI を使用した簡易版を自分で作ってみました。 package scala.actors.rmi import java.rm…
ぐぐった限りでは Ruby でいうところの gem みたいなものらしいです。scala に関係する、ライブラリやツール、ドキュメントを管理(インストール、更新、etc...)してくれます。 sbaz でライブラリをインストールすると、scalac や scala の実行時に、ライブラ…
上述の link ですが、てっきりアクタをグループ化して、メッセージのマルチキャストとかが出来るようになるのかと勘違いしてました。 マルチキャスト/ブロードキャストをやりたければ、自前で仲介役のアクタを作るみたいですね。http://www.nabble.com/Scala…
いまいち何につかうか良くわかっていなかった 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…
Scala の Actor を勉強している途中で出てきた疑問等。 Actor インスタンスの作成方法 PDFのチュートリアルでは、Actor を継承したクラスを作成し、act メソッドを実装すると説明されていますが、ほとんどの場合は 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)…