2013年3月3日日曜日

Scala Conference in Japan 2013

行ってきた。
初めてこういうイベントに参加した。

正直、予備知識が少なすぎて参加が不安だった
2年くらい前?もっと前かもだけど、Scalaに興味を持ち
ちょこっとファイル読んだり、集計したりするツールを作ってみて
満足して以来、、、まったく勉強できていなかったので。。。

Play、Akkaなども少しだけ予習していったが、全然でした。
知識不足がひどい。
でも、逆にどこを勉強していけばいいかがよく理解できた気がする。

「Up up and Out: Scaling Software with Akka」

自分の英語力がなさすぎ。。。
でほとんど聞き取れなかったけど、
スケーリングと連呼していたのが印象に残った。(そこしか聞けなかったのかもだけども)
ソフトウェアでスケールアップ、スケールアウトを実現するという考え。
いま、某案件でサーバ追加してドタバタしてるが、適用できないかな。
影響範囲でかすぎて絶対許可出ないんだろうけど、試してみたいな〜。
とになくAkkaで何か作ってみたくなった!

「芸者東京とScala~おみせやさんから脳トレクエストまでの軌跡~」

うーん。ノーコメントで。
(偉そうですみません)

「Scala in Model-Driven development for Apparel Cloud Platform」
業務アプリ系のお話で、自分の業務と少し近いかなということで興味あるお話だった。
より具体的に、scalaの良い部分が聞けて良かった。
実際に使用しているライブラリの具体例もあったので、試してみようと思う。

「積み上げ可能TraitによるComposableなAction合成(Play2.1)」
Composableの話は興味深かった。
現状のWebアプリでも何らかの手段で似たようなことを
実現をしようとはしているがずいぶんシンプルになるんじゃないか。
午前のセッションとは異なり、より具体的で実践的な話だったので、
是非試してみたいと思った。

「ドワンゴでのScala活用事例「ニコニコAndroid」」
こちらも活用事例が具体的な障害の話や、CI環境の話があって
とても良かった。特に以下。
・AkkaでTimeout Error(どっかで聞いた話に似てるぞ)
 Play2のドキュメントにはデフォルト値しか記載ないそうだ。
・コンパイルにメモリが足りなくなる。
 現状、Jenkinsの同時実行数が4→1になったらしい。

「泣かないための Scala ライブラリの使い方・作り方」
問題点について、たくさん紹介があり、参考になった。
・コンパイルに時間がかかる。
・バージョンごとのバイナリ互換がない
 ※これは致命的かと。。。。

「乙女ゲームを支える技術」
Scalaの知識がない状態から、4ヶ月でリリース。
朝の勉強会と、ペアプログラミング。
僕も持論として、ペアプログラミングはとても有効だと思う。
なにげに期間が短い開発こそ、ペアプログラミングがいいと思う。
今までも、きっちりペアプログラミングではないけど、自然とそれに近い
形だったプロジェクトは成功してる気がする。品質・納期の面で。(コストは。。。)

「Javaからの転身!Scala+Play2を知って2ヶ月でBtoBソーシャルアプリを作るまで」
"play2 + mongoDB + Heroku"
構成聞いただけで、わくわくする。やってみたい。。。
"実務で使うために何を覚えるか?ScalaのOption、match/case。fillter/map、for/foreatch、(case)class/object"
こういうお話はほんとためになる。
"ScalaがJavaと違って後方互換性がない、またライブラリでも作者がそこを解決しきれず捨ててしまう事が多い。"
これはホント致命的な話。
業務系でScalaが普及するためには絶対必要だと思う。
発表者の方もTypeSafeの人と話してお願いしたそうだ。
ぜひ改善してほしいところ。


結論として、、、
勉強不足を実感した。正直すぐに業務に生かすのは難しいが、
まずはもっと勉強して、社内でも勉強会とかして広めたいところ。
Scalaで開発効率上がるのであれば、やっていかないと
どんどん遅れていってしまう気がする。

現状のバイナリ非互換や、ライブラリの不足具合、
Scala技術者の不足を考えると、広まるにはまだまだ時間がかかりそう。
でも200人以上集まる状況を見ると、意外と早くやってくるかもしれない。。。
いまなら、チャンスが広がるタイミングなんだと思う。



2013年3月2日土曜日

Scala IDE

(久しぶりに)Scalaの開発環境を整えてみる。
・eclipse
・Scala IDE

update site のURL
http://scala-ide.org/download/nightly.html


macの場合、scala,playのインストールは簡単。

brew install play
brew install scala

以上。