fc2ブログ

makopi23のブログ

makopi23が日々の生活で感じたことを気ままに綴るブログです。

「初心者Scala in F@N 第3回」に参加しました

2012/10/23(火) 「初心者Scala in F@N 第3回」に参加してきました。

こくちーず(告知サイト)
http://kokucheese.com/event/index/56877/

togetter(ツイートまとめ)
http://togetter.com/li/394706

会場は渋谷のファンコミュニケーションズです。
参加者は12名前後でしょうか。

私、第1回に引き続きの参加です。そのときのブログはコチラ
ちなみに第2回は別件で参加できなかったのでした。。。
なので、第2回の発表スライドを参考にPlay Frameworkをインストールして、多少動かしてみたりして、
前回の復習をしてから今回の第3回に参加しました。


アイスブレイク
最初はアイスブレークのお時間です。
初心者Scala in F@N 第3回 アイスブレイク from gak2223


TopCoderというプログラミングコンテストが話題に挙がっています。
プログラマなら、誰もが興味を持つ内容ですねー

TopCoder公式サイト
http://www.topcoder.com/

あとスライドに出てた書籍は↓のようです。

最強最速アルゴリズマー養成講座 プログラミングコンテストTopCoder攻略ガイド最強最速アルゴリズマー養成講座 プログラミングコンテストTopCoder攻略ガイド
(2012/09/29)
高橋 直大

商品詳細を見る



Scala基礎講座
次は @shitai246_ さんによるScala基礎講座です。
Beginners Scala in FAN 20121023 from Taisuke Shiratori


Case2で紹介されている、XMLを扱うScalaプログラムを作って動かしてみました。
まず、第1回のお題でもあったREPL(対話型評価環境)のpasteモードを使い、変数にXMLをベタ書き代入します。

xml1.jpg

次に、このXMLに実際にアクセスして値を取り出してみます。
xml2.jpg
Scalaだと、シンプルにXMLを操作できることがわかります。
私もJavaでXML操作のプログラム書いたことありますが、Javaの標準機能だとこう楽には操作できませんよね。
Javaに慣れているプログラマが、ちょっと使い捨てのプログラム作るときにScalaを使うという選択は有効そうです。


Play framework前回の復習と続き
20121023_slide.jpg
(↑クリックすると発表スライドに飛びます↑ キーボードの矢印キーの←→でページめくれます)

最初のほうは、Scalaの他の勉強会などの紹介がありました。
んで、メインは以下のチュートリアルに沿って、Play2.0でWebアプリケーションを作成するお題です。
http://playdocja.appspot.com/documentation/2.0.3/ScalaTodoList

私も実際にチュートリアルにそってやってみました。
ただ、UbuntuのvimでScalaのソースコードを書いてると、デフォルトではシンタックスハイライトが有効になってないんですよね。
これは使いにくいなぁ、ということで、以下のサイトを参考にVimにScalaの設定を追加しました。

■開発TIPS: vim エディタで Scala プログラムを編集する時にシンタックスハイライトを有効にする方法
http://sourceforge.jp/projects/milm-search/lists/archive/public/2012-April/000174.html

これに沿って設定すると、スゲー簡単に設定できました。予約語とかにハイライト付きます。こんなカンジ↓
syntax.png

んで本題。
チュートリアル進めていくと分かるんですが、PlayはMVCモデルを明確に意識していますね。
Webアプリのappディレクトリの構成が以下のようになってますし。

/app/models
/app/views
/app/contorollers


私、普段の仕事でJavaのStrutsを使っているのですが、これもMVCモデルのフレームワークです。
なので、PlayとStrutsを意識せずとも比較してしまいながらチュートリアルを進めていきました。

んで、完成。
play_complete.jpg

Windows7とUbuntuの両方で進めていたんですが、起動するときポート番号が9000番で重複してしまうんですよね。
んで、@gkojax さんにポート番号を指定してアプリを起動する方法を教えていただきました。
以下は私のツイート↓



ということで、 run 9001 で実際に起動してみました。
URLんトコ見ると、9001番ポートで起動していることがわかります。
run9001_web.png
これで、同一マシンで複数のOSから起動することができるようになりました。


ちなみに、ソースコードは @gkojax さんがgithubに公開してくださっています。
https://github.com/gkojax/play-todolist2


★感想:
基礎講座という形の講義形式と、PlayでWebアプリを作るというハッカソン形式が両立されているのが良いですねー
プログラミングでは実際に自分で手を動かして試すことは重要ですし。
あと、スタッフさんがいつでも質問に答えてくれるサポート体制があるのも良いです。
お菓子や飲み物も振舞われるのも、空腹になるこの時間には大変ありがたいです。
次回も楽しみです。

・・・ですが、次回は別件が重複していて、参加できない可能性大です。
第2火曜日は、何かと用事が重複するんだよなぁ。第2回もそれで参加できなかったし。

ファンコミュニケーションズのスタッフの皆様、ありがとうございましたー

-->