T

liftのCometで実装するチャットサーバ

lift2.2になってからなのか、サンプルのチャットサーバが動作しないケースがあるのでウェブ上のドキュメントをそのままなぞっていると困ったことになるなあ。というわけで、いろいろいじっていたわけだが。

chat1.png

複数のマシンで動作を試してみた。上の画像は、最後に別室にあるかみさんのマシンで動作を確認したときの様子。

下の画像は、その後で自室に戻ってソースコードを読みながら勉強していたら、いつの間にか追加されていたメッセージ。

chat2.png

Scalaプログラミング入門とScala 2.8

Scalaプログラミング入門を読むと3章くらいから長目のプログラムが登場するので、それまでものぐさしていた人もついつい試してみたくなるわけだが、Scala 2.8だと第3章のMultics.scalaで以下のエラーが起きる。

$ scala Multics.scala
/Users/toshiro/Scala/Book/Multics.scala:8: error: not found: value TreeHashMap
val info: AtomR[MT] = new AtomR(TreeHashMap.empty)
                                ^
one error found

これは2.8からTreeHashMapがなくなったため。3行目の

import scala.collection.immutable.TreeHashMap

import scala.collection.immutable.{HashMap => TreeHashMap}

にするといい。