Scala

文字列でXMLリテラルを作る

Scalaは、コンパイラがXMLの文法チェックをしっかりやってくれるのですが、文字列をXMLのタグとして埋込むことができないと思っていました。ところが、scala.xml.Unparsedを使うとそれができます。例えば、scalaインタプリタに下のコードを流してやると、し…

jettyでJavaRebelを使う

jettyでJavaRebelを使うには、次のようにします。pom.xmlを編集して、scanIntervalSeconds を 0に設定します。これでjettyのリロードが抑止されます。 <scanIntervalSeconds>0</scanIntervalSeconds>maven-jetty-pluginでjettyを起動します。 set MAVEN_OPTS="-noverify -javaagent:~/javarebel.jar" mvn…

JavaRebelのダウンロード

RubyやPythonと違って、JavaやScalaはコードを変更したら、再コンパイルして、アプリケーションをデプロイしたり、コンテナをリスタートしたり、とメンドくさい手順を踏まなければなりません。 しかし、JavaRebelを使うと、ある程度、この手順を省略できるよ…

mvn-jetty-pluginでJNDI

mvn-jetty-pluginでJNDIリソースを使うには、次のdependencyをpom.xmlに追加します。これでjettyでJNDIが使えるようになります。 <dependency> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-plus</artifactId> <version>[6.1.6,)</version> </dependency> <dependency> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-naming</artifactId> …</dependency>

mvn-jetty-pluginのオプション

Liftはmavenを使うのがほぼ前提になっているので、何をするにもmavenの知識があると助かります。というより、J2EE素人の私には、何をやるにも何か調べないと始まりません。Liftは標準でderbyを同梱していますが、やはり他のデータベースを使いたいところです…

SiteMapにページを追加する

Liftでページを表示するには、SiteMapにエントリを追加します。 SiteMapには、メニューへの表示/非表示とかアクセス制御など、いろいろとオプションがあるようです。Boot.scala: // Build SiteMap val entries = //元々あるとこ Menu(Loc("Home", List("inde…

Liftプロジェクトのフォルダ構成

作成した直後のLiftプロジェクトのフォルダ構成は、こんな感じになっています。いちばん上のwiki(プロジェクト作成時にartifactIdで指定)がプロジェクトのルートフォルダです。pom.xmlは、この直下にあります。 lift_example //derbyのデータベースファイル…

modelを作成してみる

com.unyaunya.modelフォルダに、次のファイルを作成します。【WikiEntry.scala】 package com.unyaunya.model import net.liftweb.mapper._ object WikiEntry extends WikiEntry with KeyedMetaMapper[Long,WikiEntry]{ override def dbTableName = "wikient…

いつの間にかLiftのサイトが...

リニューアルしてましたね。DavidPollakの写真まで載ってます。LiftBookの最新版のPDFも新しくなってるし。

Liftのプロジェクトを作る

Liftのプロジェクトは、mavenを使って作ります。 mavenを使わない方法もあるようですが、メンドくさいので、素直にMavenを使った方が幸せになれます。 Mavenは2.0.7以上が必要です。Mavenのインストールや使い方はTECHSCOREなどの解説サイトを参考にします。…

NetBeans6.5+MavenPlugin

続いてmavenプラグインもインストールしました。やり方ScalaPluginと同じくこちらに書いてあります。これを使って、既存のLiftプロジェクトを読み込みます。Mavenのプロジェクトは、[ファイル]-[プロジェクトを開く...]メニューで開けるようになっています。…

NetBeans6.5+ScalaPlugin

LiftのGoogleグループで、どうもNetBeansの方が評判がよさげ(DavidPollak自身も使ってるらしい)なので、NetBeans6.5とScalaPlugin for NetBeansをインストールしてみた。やり方はここに書いてあるとおり。 ScalaPluginにバンドルされているのがScala2.7.1な…

liftで遊ぶ

Programming in Scalaの方は、やっと半分読み終えたばかりですが、冬休みに入って、多少時間がとれるようになったので、scalaのWebフレームワーク liftで遊ぶ - ゆろよろ日記を参考に、liftで遊んでみることにしました。 HowTo start a new liftwebapp は、…

Scala

最近、ひさしぶりにJavaに触れる機会があって、いろいろググッてたら、Scalaなんていう言語を見つけました。まだ使ってみてはいませんが、見たとこ、とってもよい感じの言語です。言語としては、RubyやHaskellのいいとこどりをした感じで、オブジェクト指向…