DRYな備忘録

Don't Repeat Yourself.

Scalaのウェブ、ScalatraでHello World【Scalatra】【Scala】【Debian】

【問題】

ScalaのウェブフレームワークScalatraで、Hello,World書いてみる。Scala薦められたし。Sinatraライクとか言われても俺シナトラやったことねえし。フランクシナトラなら知ってる。NY行きたい。

【インストール】

完全にこのサイトに従ってやってほぼイケる

Scalatra | A tiny, Sinatra-like web framework for Scala

ここの、

Get Started >> Installation で書いてあるように

% cd ~/
% java -version
java version "1.6.0_18"
OpenJDK Runtime Environment (IcedTea6 1.8.13) (6b18-1.8.13-0+squeeze2)
OpenJDK Server VM (build 14.0-b16, mixed mode)

% javac
zsh: command not found: javac

お、javac無い、だと

% sudo apt-get install openjdk-6-jdk

したら入った

% javac -version
javac 1.6.0_18

scalatraのインストール

% curl https://raw.github.com/n8han/conscript/master/setup.sh | sh
# ずらずらー
conscript installed to /home/otiai10/bin/cs

って言われるので、PATH通す

~/.zshrc

# PATHんとこ
PATH=うんたらかんたら:$PATH:~/bin/cs
% source ~/.zshrc
% which cs
/home/otiai10/bin/cs

とかする。で、

% cs n8han/giter8
# ずらずらずらー
% which g8
/home/hiromu/bin/g8

するとg8が入るのか

【プロジェクト】

ということでプロジェクト作る

% cd ~/
% mkdir projects
% cd projects
% g8 scalatra/scalatra-sbt 
organization [com.example]: com.github.otiai10
package [com.example.app]: com.github.otiai10.app
name [My Scalatra Web App]: Ritchan Peropero
servlet_name [MyScalatraServlet]: MyScalatraServ
scala_version [2.9.2]: 2.9.2
version [0.1.0-SNAPSHOT]: 0.1.0-SNAPSHOT

プロジェクトできたっぽい

% cd ritchan-peropero #nameのところで指定した名前みたい
% pwd
/home/otiai10/projects/ritchan-peropero
% ls
README.md  project  sbt  src  target

で、sbtコマンドを

% sudo chmod u+x sbt

してから

% ./sbt

すると...

# ずらずらずらずらー
[info] Done updating.
> 

っていうプロンプト出るので

> container:start

で、ブラウザでhttp://hostname:8080すると、src/main/scala/com/github/otiai10/app/ScalaServlet.scala のHTMLが出てるみたいなんで、ちょちょっといじって

f:id:otiai10:20130329004040p:plain

 

やったぜー

【雑感】

ルーティングとか、テンプレートレンダリングとか、ちゃんと読みますハイ。デフォルトで:8080/でレンダリングされてるページのリンクがヒントになるようにできてる。あとあれだよね、データベース接続さえできれば十分使えるハズ

 

DRY