[Scala + Lift]HTMLのキャッシュ
Scala + Liftは、プロダクションモードで起動した場合には、htmlをキャッシュするみたいです。 自分自身は未確認ですが、確認方法は GlassFishの場合 - - - の項目に -Drun.mode=production を追加してGlassFishを再起動。 また、意図的にキャッシュを無効化するには LiftRules.templateCache = Full(NoCache) と言う行をBoot.scalaに書く。
[Scala]LiftかPlayか
中身は全然濃いくないです。 単純に自分はどうしたらいいか、悩んでいることを書いてみるだけです。 Liftは、comet対応とかで、デフォルトだと接続がキープされたりするようだ。 少人数しかアクセスのないサイトで、リアルタイム更新を重視するのであれば この方式で問題ないのだが、大人数接続で考えると、ちょっとややこしくなる。 接続をキープしない設定も出来るが。 また、ビューファーストなので、今までのRailsのやり方とはずいぶんと違う感じになる。 Railsからの移行を考えるのであれば、Play F ...
[Scala]Liftで、ProtoUserを継承したUserモデルで、locale と time zone を使用しない
Userモデルのobjectの所に override def signupFields: List= List(firstName, lastName, email, password) を追加する
[Scala]MD5 ハッシュ値
ScalaでMD5を生成するには… Javaのライブラリを呼び出して生成することになります。 import java.security.MessageDigest val digestedBytes = MessageDigest.getInstance("MD5").digest("arekore".getBytes) digestedBytes.map("%02x".format(_)).mkString Rubyの場合は requ ...
[Scala]Scala + Liftで、JNDIでデータベースに接続する時に、JNDI名を変えて接続する
前回「Scala + Liftで、GlassFishの接続プールを使う」の中で、JNDI名はデフォルトでは「lift」であると書いたが、このJNDI名を変えて接続してみたい。 設定は簡単で、 Boot.scalaの中のBootクラスの中のbootメソッドの一番最初に class Boot { def boot { DefaultConnectionIdentifier.jndiName = "custom" … という記述を追加するだけ。 これで、customという名のJ ...
[Scala]Scala + Liftで、GlassFishの接続プールを使う
GlassFishはWeb ・EJBコンテナなので、せっかくなので、Scala + Liftの環境からJDBC接続プールを使いたい。 幸い、liftにはJNDIでDB接続する仕組みが入っているようです。 liftがデフォルトで参照するJDBC接続プールは、liftという名前のJNDIなので、今回はliftという名前で設定します。 GlassFishはほぼ標準状態で入っている前提で。 まずはmysqlのjdbcドライバをGlassFishのlibにコピーします。 からダウンロードして c:\gla ...
[Scala]Maven + Scala + LiftのプロジェクトをGlassFish上にデプロイしてeclipseでデバッグする
なんか長いタイトルですが 要はMavenで作ったScala + LiftのプロジェクトをGlassFishにデプロイしたい で、eclipseでGlassFishにデプロイしつつデバッグもしたい という欲張り企画なんですが eclipseのプロジェクト作成とか、Mavenのプロジェクト作成では これらの要件を満たす設定になってくれないので 手動で設定を変更します。 必要な物 eclipseは「Eclipse IDE for Java EE Developers」 scala 2.9.1 mave ...
[Scala]Schemifier.schemifyでテーブルを作った時にカラム名がuid_tとかなってしまう場合(カラム名を自分で指定したい)
class User extends LongKeyedMapper with IdPK { def getSingleton = User object uid extends MappedString(this, 24){ override def dbColumnName = "uid" // <= こんな感じ } } という感じで書く
[Scala]Schemifier.schemifyでテーブルを作った時にuser_tとかなってしまう場合(テーブル名を自分で指定したい)
object User extends User with LongKeyedMetaMapper { override def dbTableName = "users" } という感じでテーブル名を指定する
[Scala]LiftでMySQLに繋ぐ(sbt編)
前々回くらいで、【Scala】LiftでMySQLに繋ぐ(Maven編)では、MavenでMySQLにつなぐための設定をしたが、今回はsbtでMySQLにつなぐための設定を。 project/build/LiftProject.scalaファイルに、MySQLのドライバの設定を追加します。 override def libraryDependencies = Set( "net.liftweb" %% "lift-webkit" % liftVersion ...
[Scala]Liftのrunmodeについて
Liftにはrun modeが6つ準備されている development test staging production pilot profile デフォルトでは、developmentが選択される。 run modeを変えて起動する場合、 -Drun.mode=production というように、起動時にオプションを指定することで変えることが出来る run modeでDBの接続する先を変えたりする場合 src/main/resources/propsにproduction.default.p ...
[Scala]LiftでMySQLに繋ぐ(Maven編)
Scala + Liftの環境は、最初はH2DBにつながるようになっている。 一般的にサービスを提供する場合、やはりMySQLなどに繋いで使いたい ということで、MySQLに接続する方法 Mavenでプロジェクトを作っている前提で pom.xmlファイルのdependenciesに以下を追加 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</arti ...
[Scala]Liftでコンソールを使う
Liftでコンソールを起動してモデルの動きなどを確認したい場合 プロジェクトフォルダで以下のコマンドを打ち込む C:\project> mvn scala:console -DmainConsole=LiftConsole scala> import myproject.model._ そうすれば、モデルへアクセスが出来るようになる
[Scala]liftで、 ProtoUserを継承している場合のログイン画面変更
liftで、 ProtoUserを継承している場合のログイン画面変更方法 loginXhtmlメソッドでhtmlを生成しているので、たとえばUserモデルの場合 ※デフォルトで作成されるUserモデル object User extends User with MetaMegaProtoUser { def loginXhtml = { (<form method="post" action={S.uri}><table><tr><td ...
Scala and LiftのプロジェクトをEclipse上に作成する
Scala and LiftのプロジェクトをEclipse上に作成する なんか、単純なようですが、うまくいかなかったので、うまくいく方法を書いておく。 Eclipseの新規作成で、Scala ProjectではScalaのプロジェクトしか作成されません。 Liftのプロジェクトを作りたいときは Maven Projectを選択 archetypeを選択 プロジェクト名などを設定 とすると、プロジェクトが作成されますが どうも、ビルダーがjavaのままでエラー出まくりだったりするので、プロジェクト ...
やっぱりScala and Liftな環境をEclipseで開発したい!
Scala and Liftの環境を、Ubuntu上に構築したのはいいが、やはり使い慣れたEclipse上で開発したくなりました。 ということで、Eclipseに環境を構築する手順を書いてみます。 まず、Eclipseを入れるOSですが、Windowsです。 なので、Windows上にjava環境をセットアップしていきます。 JDKインストール Windows用のJDKをダウンロード 環境変数の設定 次に、scalaです。コンソールでscala使いたいので入れておきます。 Scalaのインストー ...
Ubuntu 11 にScalaとLiftの環境を構築する
Scalaが気になるので、実行環境を作ってみる。 Scalaと、Scalaでwebアプリケーションを作るに当たって必要になってくるソフトウェアを上げてみる。 Scalaとは JVM上で動作する比較的新しい言語 オブジェクト指向言語(つまりJava)と関数型言語 Liftとは Scalaで構築されたWebアプリケーションフレームワーク Mavenとは Java用プロジェクト管理ツールである 環境の構築 Ubuntu 11 はインストール済みとする。 JDKのインストール sudo apt-get ...