scala祭り2014(9/6)をニコニコ動画で見た

起きたらほとんど終わってた・・・ので主に録画。
下記は、発表者がいっていることではなく私の感想。

A会場

Play Frameworkについて(仮)

  • test
    • 両方10になっているけど・・・。
    • 非同期テストは一部Nodeの方が弱いって感じがする。延々と非同期処理を呼ぶ場合はq.jsなどでPromise化すれば奇麗にかけるけど、条件文が正解になる or タイムアウトになるまでチェックするようなことをしたい場合、scalatestだとeventuallyで簡単だけど、JS or coffeeだと気軽に書けない。
  • maintenance
    • 他の部分はライブラリを含めた評価をしているのに、コールバックヘルなどの言及はq.jsの利用ケースが考慮されてない?様々なライブラリで別のpromiseライブラリが利用されいる問題はあるけど。
    • varの付け忘れって・・・。普通jsならばjshint使うけど。
    • Ruby / Nodeでまれによく発生してなんとか致命傷ですむ場合の多い、メソッド名の衝突に伴う堅固性のなさなどは、Scalaを使えばコンパイル時の衝突で見つかる。ただ、結構テスト書いてたらそれほど怖くないし、MonekyPatchによる柔軟性のすべてを捨てたくないんだよね。
国技と Scala
  • デザイナーがviewに直接手をいれる
    • gitを使ってcloneして来て、branchを作って、ローカルで手を入れて修正&動作確認して、pull requestするの?そうだったら凄すぎる。デザイナー兼フロントエンジニアだね。
  • Non-Stop Deployment
    • LB、Nginxでの切り替えはどの言語でアプリサーバを書こうが定番。けど、RDBだとどうせマイグレーションで止まる。まあ、止めない方法もあるけど(追加されたデータ構造を1つのuserdata的なcolumに入れる邪悪な方法。MySQLでReplicationを利用して動作させながらマイグレーションする方法もあるけど未体験)
    • それより、切り替えの途中は複数のバージョンのアプリサーバにリクエストが行く問題と、ブラウザを含む古いクライアントからの古いフォーマットのリクエストを新しいアプリサーバがどう処理するのかの問題に関して、Scalaを利用した場合の、Rails, Nodeでの実装より優れた点などがあるか知りたかった。jsonリクエストフォーマットをScalaで定義しておけば、型変換として変換を漏れなくできるのかな?