Scala勉強会第114回 in 本郷 2013年11月08日

Scala勉強会第114回 in 本郷に参加してきました。

Scala勉強会第114回 in 本郷 - PARTAKE

Scala勉強会第114回 in 本郷 #rpscala - Togetter

DbUnitのようなテストツールはScalaにあるか

DbUnitについてあまり詳しくないんですが、データベースのfixtureについての話題ということですかね。

テストのモデルデータ作成というとRubyのFactoryGirlが有名ですが、Scalaにもそれを真似たFactoryPalというがあります。 とTwitterで書いたらseratchさんからリプライを頂き、Skinny FrameworkのSkinny ORMにもFactoryGirlという名前のツールがあり、こちらはDBにデータ投入もできるということでした。

tototoshiさんもScalikeJDBCとPlay用にプラグインを作成したそうです。

scalikejdbc-play-fixture-plugin を作りました - tototoshiの日記

こちらはSQLを直接書いてテストデータの管理をするようです。

tototoshiさんが作ったPHP Parser Combinatorの話題

tototoshi/php-parser-combinator

Scalaの勉強会でPHPの話題なんですが、tototoshiさんはScalaのパーサコンビネータを参考に作ったということで、Scalaと比較して苦労した点などが語られました。 PHPにはパターンマッチがないのでパースされた構文木を変換するのが大変であるということと、名前渡しやlazy valのような処理を遅延させる機能がないので、 再帰的なルールを書くと簡単に無限ループになってしまうということを語られていたと思います。

ScalaのType DebuggerのScaladの話

僕が今年のScala2013で発表があったScaladの紹介をしました。

lampwww.epfl.ch/~plocinic/type-debugger-tutorial/

hubertp/prefuse-type-debugger

hubertp/type-debugger-tutorial

lampwww.epfl.ch/~hmiller/scala2013/resources/pdfs/paper8.pdf

Scalaのコンパイラがどのように型チェックをしているのかということを対話的に調べられるツールです。 面白いツールなんですが、Scala 2.11用であるということと、1年くらいメンテナンスされていないということで、あまり実用的ではない感じです。

どうしても型エラーがわからない場合などにピンポイントで使うような感じですかね。 ちなみに僕はHaskellのライブラリをScalaに移植するときにそういうことがかなり多いので活用していこうかなと思います。

ScalaTest 2.0の話

ScalaTest 2.0が今週リリースされたということであらためてScalaTest 2.0の新機能の話題になりました。

ScalaTest 2.0 Release Notes

これを見ると新機能は非常にたくさんあるんですが、わかりやすいところだとSelenium DSLが便利そうだねーとか、HTMLでテスト結果を出力してくれるんだ、

ScalaTest Results

とか、そんな感じの話でした。

takezoux2さんが作った lift-mapper model generatorのコードを見ながらAngularJSの話

lift-mapper model generator

AngularJSを使ってlift-mapperのモデルを生成するコードみたいです。 このHTMLの中に全部JSのコードが入っているらしいです。

この後AngularJSがいかに便利かという話が長々とあったのですが、さすがに割愛します。 新しい参加者の方がいないときはディープすぎる話題か、Scalaとは関係ない話になりがちですね…。