2016-01-01から1年間の記事一覧

Liftことはじめ その7 自作validation

Liftで、validationルールの自作 備忘録 modelクラスの属性に、validationをメソッドをoverride BandSeqPlayer.scala package code.model import net.liftweb.mapper._ import net.liftweb.util._ import net.liftweb.common._ object BandSeqPlayers extend…

LiftをOPENSHIFTにデプロイ mysql設定の覚書

前回の記事のmysqlの設定に関する覚書。 OPENSHIFTのcartridgeにmysql5.5を追加すると、以下の用なメッセージが表示される。 MySQL 5.5 database added. Please make note of these credentials: Root User: mysql_user Root Password: mysql_password Datab…

LiftをOPENSHIFTにデプロイ

前述の記事のアプリが形になってきたので、デモ公開してみる。 利用するのは、RedHat社のPaas OPENSHIFTにデプロイ。 CookBookを確認するとtomcat上で可動とのこと。まず, OpenShiftにsignup。 Getting Started guide で、SSH keyの設定や、コマンドラインツ…

Liftことはじめ その6 mapper ManyToMany

前述の記事の覚書 LiftのORMでManyToManyを実装。 AlbumとTrack間で実装。(同一Trackが、複数のAlbumに収録される事実を踏まえ。regular Albumとbest AlbumのTrack共用。) まずは、Albumクラス。 model/Album.scala package code.model import net.liftweb…

Liftことはじめ その5 mapper OneToMany

前述の記事の覚書 LiftのORMでOneToManyを実装。 各trackの添付を複数指定可能にする。(必然性はないが、音楽ファイルとTab符とか) One側のTrackクラスは、OneToManyをMixIn。属性にattachesを定義。 model/Track package code.model import net.liftweb.m…

Liftことはじめ その4 アップロードファイルのサイズ制限設定

前述の記事の覚書。アップロードファイルのサイズ制限。 scala/bootstrap/liftweb/Boot.scala class Boot { def boot { … // Upload file size capped at 100Mb LiftRules.maxMimeSize = 100 * 1024 * 1024 LiftRules.maxMimeFileSize = 100 * 1024 * 1024 }…

Liftことはじめ その3 ファイルダウンロード

前述の記事の覚え書きファイルダウンロード snippet/TrackView.scala private def doList(reDraw: () => JsCmd)(html: NodeSeq): NodeSeq = { val tracks:List[Track] = Track.findAll(By(Track.albumid, getAlbumId().toLong), OrderBy(Track.seq, Ascendin…

Liftことはじめ その2 ファイルアップロード

前述の記事のための覚書。ファイルアップロード model/Track.scala package code.model import net.liftweb.mapper._ import net.liftweb.util._ import net.liftweb.common._ object Track extends Track with LongKeyedMetaMapper[Track] { override def d…

Liftことはじめ その1 開発環境

前述の記事のための覚書。1.liftセットアップ インストーラをダウンロードし、展開。 展開フォルダ配下のscala_211配下の任意のテンプレートのディレクトリに移動し、 $ ./sbt > container:start必要に応じ、./build.sbtを編集しておくこと。 今回、利用した…

LiftでCRUD

4年ほど前から、scalaを学習中。 ネットで学習をすすめるが、限界を感じ、年初からOdersky先生の本を購入し再学習中。 それと平行して、以前から気になっていた、Snippetアプローチが出来るLift frameworkを確認。 こちらやあちらを確認し、生産性がよいのか…

Playframework 2.4 Anormでleft outer join

前回に続き、playframeworkのdataアクセス。 Anormについて学習。テキストはこちら。 AnormはORMではなく、SQLを記述しコレクションに格納する。 SQLなので、テーブルのjoinも、もちろん可能。 ただし、left outer joinで結合される側のテーブルにデータが存…