Lift, Scala

Scala + Liftは、プロダクションモードで起動した場合には、htmlをキャッシュするみたいです。

自分自身は未確認ですが、確認方法は

GlassFishの場合

– – –

の項目に
-Drun.mode=production
を追加してGlassFishを再起動。

また、意図的にキャッシュを無効化するには

LiftRules.templateCache = ...

Lift, Scala

中身は全然濃いくないです。

単純に自分はどうしたらいいか、悩んでいることを書いてみるだけです。

Liftは、comet対応とかで、デフォルトだと接続がキープされたりするようだ。

少人数しかアクセスのないサイトで、リアルタイム更新を重視するのであれば

この方式で問題ないのだが、大人数接続で考えると、ちょっとややこしくなる。

接続をキープしない設定も出来るが。

また、ビューファーストなので、今までのRailsのやり方とはず ...

Lift, Scala

Userモデルのobjectの所に
override def signupFields: List= List(firstName, lastName, email, password)
を追加する

Lift, Scala

ScalaでMD5を生成するには…

Javaのライブラリを呼び出して生成することになります。
import java.security.MessageDigest
val digestedBytes = MessageDigest.getInstance("MD5").digest("arekore".getBytes)
digestedBytes.map("%02x".format(_)).m ...

Lift, Scala

前回「Scala + Liftで、GlassFishの接続プールを使う」の中で、JNDI名はデフォルトでは「lift」であると書いたが、このJNDI名を変えて接続してみたい。

設定は簡単で、

Boot.scalaの中のBootクラスの中のbootメソッドの一番最初に
class Boot {
  def boot {
DefaultConnectionIdentifier.jndiName = "custom"
… ...

Lift, Scala

GlassFishはWeb ・EJBコンテナなので、せっかくなので、Scala + Liftの環境からJDBC接続プールを使いたい。

幸い、liftにはJNDIでDB接続する仕組みが入っているようです。

liftがデフォルトで参照するJDBC接続プールは、liftという名前のJNDIなので、今回はliftという名前で設定します。

GlassFishはほぼ標準状態で入っている前提で。

まずはmysqlのjdbcドライバをGlassFishのli ...

Eclipse, Lift, Scala

なんか長いタイトルですが

要はMavenで作ったScala + LiftのプロジェクトをGlassFishにデプロイしたい

で、eclipseでGlassFishにデプロイしつつデバッグもしたい

という欲張り企画なんですが

eclipseのプロジェクト作成とか、Mavenのプロジェクト作成では

これらの要件を満たす設定になってくれないので

手動で設定を変更します。

必要な物

eclipseは「Ecli ...

Lift, Scala

class User extends LongKeyedMapper with IdPK {
def getSingleton = User

object uid extends MappedString(this, 24){
override def dbColumnName = "uid"//<= こんな感じ
}
}

という感じで書く

 

Lift, Scala

object User extends User with LongKeyedMetaMapper {
override def dbTableName = "users"
}

という感じでテーブル名を指定する

Lift, Scala

前々回くらいで、【Scala】LiftでMySQLに繋ぐ(Maven編)では、MavenでMySQLにつなぐための設定をしたが、今回はsbtでMySQLにつなぐための設定を。

project/build/LiftProject.scalaファイルに、MySQLのドライバの設定を追加します。

override def libraryDependencies = Set(
"net.liftweb" %% "lift-webkit& ...

Lift, Scala

Liftにはrun modeが6つ準備されている

development
test
staging
production
pilot
profile

デフォルトでは、developmentが選択される。

run modeを変えて起動する場合、
-Drun.mode=production
というように、起動時にオプションを指定することで変えることが出来る

run modeでDBの接続する先を変えたりする場 ...

Lift, Scala

Scala + Liftの環境は、最初はH2DBにつながるようになっている。

一般的にサービスを提供する場合、やはりMySQLなどに繋いで使いたい

ということで、MySQLに接続する方法

Mavenでプロジェクトを作っている前提で

pom.xmlファイルのdependenciesに以下を追加

<dependency>
<groupId>mysql</groupId>
<ar ...

Lift, Scala

Liftでコンソールを起動してモデルの動きなどを確認したい場合

プロジェクトフォルダで以下のコマンドを打ち込む

そうすれば、モデルへアクセスが出来るようになる

Lift, Scala

liftで、 ProtoUserを継承している場合のログイン画面変更方法

loginXhtmlメソッドでhtmlを生成しているので、たとえばUserモデルの場合
※デフォルトで作成されるUserモデル

とすればよい。

これをテンプレートファイルで対応したい場合は

とする

 

 

object User extends User with MetaMegaProtoUs ...

Eclipse, Lift, Scala

Scala and LiftのプロジェクトをEclipse上に作成する

なんか、単純なようですが、うまくいかなかったので、うまくいく方法を書いておく。

Eclipseの新規作成で、Scala ProjectではScalaのプロジェクトしか作成されません。

Liftのプロジェクトを作りたいときは

Maven Projectを選択

archetypeを選択

プロジェクト名などを設定

Lift, Scala

Scala and Liftの環境を、Ubuntu上に構築したのはいいが、やはり使い慣れたEclipse上で開発したくなりました。

ということで、Eclipseに環境を構築する手順を書いてみます。

まず、Eclipseを入れるOSですが、Windowsです。

なので、Windows上にjava環境をセットアップしていきます。

JDKインストール

Windows用のJDKをダウンロード

環境変数の設定

Lift, Scala

Scalaが気になるので、実行環境を作ってみる。
Scalaと、Scalaでwebアプリケーションを作るに当たって必要になってくるソフトウェアを上げてみる。

ScalaとはJVM上で動作する比較的新しい言語
オブジェクト指向言語(つまりJava)と関数型言語
LiftとはScalaで構築されたWebアプリケーションフレームワーク
MavenとはJava用プロジェクト管理ツールである
環境の構築

Ubuntu 11 はインストール済みとする。 ...