Play framework2,Scala

APIDOCとか、Documentをみたら、分かる事ではあるが、はまりやすいので書いておく def action1 = Action {   Ok.wi5hSession("test1" -> "value1") } def action2 = Action {   Ok.wi5hSession("test2" -> "value2") } とした場合に action1を叩いてからaction2を叩くと セッションの情報がtest2 -> value2だけになる ...

Play framework2,Scala

Scalaの開発をVMで行っているわけでありますが 素のPlay frameworkだと、色々やってるうちにメモリを浪費してしまうようです。 メモリリークでは無いけど、必要なメモリをどんどん確保してしまうみたい。 なので、ヒープの上限という意味で割り当てを指定してみます。 毎回Play起動時に指定するのは面倒なので、環境変数で。 #~/.bashrc を開いて、一番下あたりに export _JAVA_OPTIONS="-Xms256M -Xmx256M" と書き込んでターミナルを再起動します。 ...

未分類

MySQLに接続するように設定したPlay frameworkのアプリケーションで c.j.b.ConnectionHandle - Database access problem. Killing off all remaining connections in the connection pool. SQL State = 08S01 application - ! @6ai2nh1a8 - Internal server error, for request -> play.cor ...

Scala

import org.apache.commons.io.FileUtils val it = FileUtils.lineIterator( currentFile ) it.foreach(println) とかやりたい時に、そのままやってもエラーになってしまうが import scala.collection.JavaConversions._ を書いておくと、上記の書き方が出来るようになる ※補足 sbtでプロジェクトを管理している時にApache Commons IOを使う場合 bui ...

Scala

ソースはScala val info = new ImageInfo(FilePath) val image = new MagickImage(info) // イメージの情報を削除 image.profileImage("*", null)

Play framework2,Scala

Play frameworkは便利ですが、そのまま稼働させたい時などにわざわざ $> play $ start なんて打ちたくありません。 でも、playコマンドにそのままstartと引数を付けて叩くと、コマンド一発で起動する事が出来ます。 $> play start ところが、 $> play start 80 なんてやった場合に、ポートが80番にならない。 よくよく調べてみると、playコマンドに対してstartと80の引数が渡された状態のようで playはstartだけを ...

Play framework2,Scala

Ubuntu 11.xx上で、Play framework 2.0 for ScalaからImageMagickを使う ということで、今回のコンセプトですが cookpadにはtohuがある ぼくらにはない でもapacheのモジュールで作るのもしんどい という事で、Play framework for Scalaで作るという事なのです まずはJDKのインストール これは、 からダウンロードします。 しかし、SunがOracleに買収されたのは未だにショックです。。 というのはおいといて ダウン ...

Play framework2,Scala

Controllerの中などで、 Play.current.path.getPath() とする

VMWare

主な新しい修正としては VMware SCSI デバイスでの メモリーへのチェックされていない書き込み ということで、バグフィックスのようです。

Play framework2,Scala

Ruby on Railsは、フルスタックで、テーブルのスキーマもリビジョン管理が出来るフレームワークですが、Play! Frameworkもそれに近い事が可能となっています。 Ruby on Railsで言うマイグレーションファイルは、Play! Frameworkでは conf/evolutionsディレクトリになります。 このディレクトリに1.sqlという感じに、連番でsqlファイルを作成すると その順番で実行時にスキーマの更新が行われます。 では、この1.sqlのファイルの中身はというと ...

Scala

Scalaでパスを生成する時 素直にStringのジョインにする "/tmp" + "/" + "data" とか "/" + ("" /: Array("tmp", "data")) (_ + "/" + ?) とか毎回やるのが面倒になったので、 Array("tmp", "data") createPath という感じで/tmp/data という文字列を作れるようにしてみる。 trait createpathtrait; implicit def createpathimp(a: Array ...

Scala

sbtでパッケージ管理しているScalaのプロジェクトから 単体で実行できるjarファイルを作成するには。 sbt-assemblyというプラグインを使います。 githubはこちら インストールは プロジェクトのディレクトリ内で project/plugins.sbt というファイルを作り、この中に addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.7.4") resolvers += Resolver.url("sbt-plugin-rele ...

Scala

前の記事で、Scala IDEのインストールについては書きました。 その上で、sbtでパッケージ管理をしたいといった場合の方法です。 sbtのbuild.sbtなどで依存パッケージを定義した場合など、eclipseのビルドパスに反映されません。 そーいう時は、 sbteclipse というプラグインを使います。 githubはこちら このプラグインは、sbtで定義した依存関係をもとに、eclipseのビルドパスを設定してくれるという物です。 また、sbteclipseはsbt 0.11.2以降で ...

Hadoop

前回はHadoopのインストールで、今回がいきなり実用的な内容で、ちょっと基礎を飛ばしてますが、気にしない。 レコメンドというと、パッと思いつくのはAmazonのレコメンドではないでしょうか。 商品を見ていると、「この商品を買った人はこれも一緒に買っています。」といった感じの物ですね。 今回はこのレコメンドを簡単に実装する方法を探ってみます。 まず、解析後に欲しいデータとして あるアイテム(item1)に対して、関連するアイテム(item2,item3,item4)をひもづけるデータです。 デー ...

ubuntu

Ubuntu11のスクロールバーは、なんか、本来スクロールバーがあるあたりにマウスを持って行くと、掴む部分が表示されて、それを掴んでスクロールしたりする仕様になってたりするのですが、これがとにかく使いにくいし、eclipse入れると、掴む物が表示されないので、マウスのホイールでしかスクロールが出来ない。 ということで、旧式?のスクロールバーに戻す方法です。 echo "export LIBOVERLAY_SCROLLBAR=0" | sudo tee /etc/X11/Xsession.d/80 ...

Ruby on Rails メモ

セッションIDを得るには session.session_id とする。

Hadoop,ubuntu

そろそろHadoop入れてみようか。 ということで、例のごとくVMware PlayerにUbuntu11 64bitをインストールして、そこにHadoopを入れてみます。 Ubuntuのインストールなどは省略 Hadoopというのは、Apacheで開発されているオープンソースの大規模データの分散処理です。 詳しくはHadoop( ではさっそくインストール。 HadoopはJava上で動くので、まずはJavaを入れます。 本家(から、とりあえず最新版のJDKをダウンロードします。 /usr/lo ...

Play framework2,Scala

Play frameworkでは、eclipseでプロジェクトを開けるようにするコマンドが存在するのでその機能を使用する。 まず、作ったプロジェクトのディレクトリに移動する。 $> cd PlayScalaExample コマンドを叩く $> eclipsify これで、eclipseで読み込む準備が完了 続いてeclipse側でPlayScalaExampleをインポートします。 eclipseのworkspaceにPlayScalaExampleを移動して、eclipseのメニュ ...

Play framework2,Scala

Liftを使うかPlay frameworkを使うか、というところで、悩んでいるので とりあえず、Play frameworkも試してみる。 Scalaをセットアップするのは、JDK入れて適当な場所にScalaを展開してパスを通すだけで良いので、これは省略する。 Play frameworkは 本家() からダウンロードする。 Scalaを展開したディレクトリの隣あたりにPlay frameworkを展開。 Play frameworkへのパスを通す コマンドラインで $> play と入 ...

Ruby,ubuntu

Ubuntuにrubyの環境をインストールするのに、 パッケージとかで入れると、どうも古いバージョンであったり 複数バージョンを入れて試したりしたい場合がある。 そんな時にはrvmを入れることで、Rubyの複数のバージョンを入れて切り替えたりすることが出来る。 ということで、まずはインストール rvmの本家(から インストール方法を確認 rvmのstableをダウンロード $> bash -s stable < <(curl -s rvm のパス情報を設定 以下は、アカウント内 ...