第3回Playframework勉強会 に参加してきた #play_ja
- 第3回Playframework勉強会 #play_ja - 日本Playframeworkユーザー会
- USTREAM: Playframework勉強会 #play_ja: Playframework勉強会 #play_ja ハッシュタグ: #play_ja.
Playframeworkについてはここ最近興味関心を強く寄せており、写経等を踏まえて実践・実装スキルを磨いていた所にこの勉強会の告知があったので告知発表即申込み、参加してきました!
と、その前に過去2回の勉強会についておさらい。情報を漁ってみると、とても多くのブログレポートが書かれていました。
この分量・クオリティは凄いですね。おさらいする身からしても非常に助かります。
第2回(2011/10/08 東京)
- 第二回 #Playframework 勉強会 in Tokyo #play_ja : ATND
- 第二回 Playframework 勉強会 in Tokyo やりました #play_ja - 複雑系スパゲティソース(はてな版)
- 初めての Play framework – 第二回 Play framework 勉強会 in Tokyo に参加してきました! : : lefthandz.org
- 第二回 Playframework 勉強会 in Tokyo #plaly_ja - Togetter
- 第二回Play framework勉強会にいってきました。 - from scratch
- 第 2 回 Play framework 勉強会に行ってきた - Ussy Diary(2011-10-10)
- 覚書ブログ: Playframework勉強会#2まとめ(スライド)
- 第二回 #Playframework 勉強会 in TokyoでLTを行いました
- 第二回 #Playframework 勉強会 in Tokyo #play_ja に参加させていただきました
- そまりぐ!: 第二回 #Playframework 勉強会 in Tokyo
- あえてマージン
- 第二回 Playframework 勉強会 in Tokyo @大森 - ctrl-alt-moccos
- Play! Framework勉強会第2回 in 東京に行ってきました - 夢とガラクタの集積場
第1回(2011/08/06 大阪)
- 第1回「Play framework勉強会」IN 関西 : ATND
- 第一回 Playframework 勉強会 in 関西に行ってきたよ! - 複雑系スパゲティソース(はてな版)
- 20110806_第1回「Play framework勉強会」IN 関西(#playja ) - Togetter
- 第1回「Play framework勉強会」IN 関西 本当のまとめ - みちしるべ
- みちしるべ
- 『第1回プログラミングGroovy勉強会(大阪)』 と 『第1回「Play framework勉強会」IN 関西』 に参加してきた。 - みちしるべ
- 言葉をポッケに持ち歩こう: play勉強会で発表してきた。
- play framework 勉強会 in 関西の悲劇 その後。。|システムアーキテクトのごった煮
開催会場は リクルートメディアテクノロジーラボ@銀座。以前Github勉強があったときにもこの場所で開催されてたので、その時以来(割と最近)になりますね。奇しくも同じ席が空いてたので同じ席に着席。開場時刻ちょい過ぎに到着しましたがその時点で既に大半の人が着席してました。
開始時間直後に主催者であるTakafumi Ikeda(TwitterID:@ikeike443)さんの挨拶及び各種進行説明の後、早速本編へ。
Playアップデート
- 自己紹介
- BToB向けwebサービス会社に勤めています
- Playframeworkは1の頃から使っていた
- コミッタにもなりました。
- Jenkins本にも寄稿しています。
- Playって何?おさらい
- 1.xから2.xへの利点
- 数字で見るPlayframework
- ML登録メンバー数:6300人超
- 2年半で15倍以上に
- 1.x系と2.x系を数字で比較
-
- 1の方が5倍位長い期間、モジュール数もそれに併せて多い。
- そして、やはり世間の注目は2.x系に。
- 1.xの現状
- 2.1ロードマップ
- 注目すべき記事
MediaTechnologyLabsの紹介/Play2.0+Javaでサービスを本番稼働させた話
- と言うわけで寝てません(という掴みからセッションスタート)。
- まずはMedia Technology Laboの紹介を。
- Media Technology Labs (MTL) : メディアテクノロジーラボ
- リクルートのR&D部門。
- シード(種)を担う実証実験機関。
- 最小2人構成、プランナー&エンジニアが企画&開発&運用。
- 毎月1回MTL内ビジネスコンテストを実施。
- 自己紹介
- Java屋、現在はObjectCを。
- そして本編。
- 皆様、音楽は好きですか?
- どんな曲を聴いていますか?
- 学生の頃に比べると、明らかに新しい音楽へ触れる機会が減っている。
- 音楽に出会う場が少なくなった
- 番組などを見なくなった。
- 探すのはオンライン経由でのみ。意外と能動的な行動?以前(TV/ラジオ)とは反対の話し
- 受動的に音楽を聞きたいな〜。
- どうせなら友達が聞いている音楽を。→そう、このAttaccaならね。
- (Attacca操作デモンストレーション)
- Play導入の経緯
- ややスピリチュアルな話しに。
- つまり、自社サービスは変更・リリースが入るし、すぐ直せればいいよ。
- Attaccaアーキテクチャ構成
- Tips
- Amazon EC2 Microでplay2.0が起動しない。→設定見直しで解決
- conf/routesの定義を変更しても反映されない。→ $clean
- ステージングモードでのバックグラウンド実行の問題
- 負荷試験でエラー出まくった→Nettyの勉強をして対応
Play20 + Scala について
- 自己紹介
- Playは2系からやってます
- 今日の内容
- 感想を並べました。
- Play2.0最高!という訳ではない
- 悪いことを多めにしゃべります。
- 目標:Play2.0をdisりすぎない
- Scalaが好きでplay2.0をつかてるようなもん。
- なぜPlay2.0か
- 楽であることは確かだ。だがしかし…(←今日のテーマでもある)
ここから諸々のテーマに沿って、解説・指摘などを踏まえて解説が続きます。詳しくはUP済の発表資料をご覧下さい。(ここではテーマのみ抜粋)
- Controller
- Controller(router)
- Controller(Form)
- Controller(BodyParser)
- Controller(Json)
- Controllerの拡張1
- Controllerの拡張2
- Model
- dbplugin
- Evolutions
- Anorm
- Anrom以外の選択肢
- Squeryl
- SLICK(ScalaQuery)
- O/R Broker
- Scalikejdbc
- Anrom以外の選択肢
- View
- ScalaTemplate
- FieldConstructor
- i18n
- その他のテンプレートエンジン
- Test
- Scala のテストフレームワーク
- specs2
- ScalaTest
- scalacheck
- Specs2 or ScalaTest?
- Fakes
- Test Helpers
- FakeApplication
- Dependency Injection
- Scala のテストフレームワーク
- まとめ
- Play20は
- 微妙なモジュールが多い
- pluugableで良かった
- 実装がてきとー:以外と適当に動いてるんだな〜と、勇気が湧いてくるw
- Bug耐性が非常に付く。
- スリル感:ハラハラします『落ちねぇかなぁ…』
- 実戦不足。揉まれてない。
- がんばりましょう。
- それでもplay20を使う
- Scalaですから
- Play20は
-
- Play2.0から命を守る
- MLを読む
- (疑いながら)ドキュメントを読む
- ソースを読む
- 直せそうだったらPullRequest
こちらの資料はガッツリScala + Playな感じのエントリ。自分自身Scala勉強したて&Playも1.2ベースで勉強中の身だったのでピンと来ない部分もありましたが、Scala+Play2.0な方々には内容の濃い、かなり充実したセッションだったようです。
2.0Javaのオススメと、1.2からのアップグレード
- 第3回Playframework勉強会 2.0Javaのオススメと、1.2からのアップグレード #play_ja
- View more presentations from Kazuhiro Hara
- 自己紹介
- デザイントレンド、統計(R)、システム
- まえがき:何故2.0Javaなのか?
-
- コラボレーション上の選択
- 開発者人数の圧倒的な差
- 引き継ぎのしやすさ
- Javaの進化により、回帰するんじゃないか説
- Java7,Java8はモダンな仕組みも取り入れつつ良くなって行くような気も
- Xtendとかも注目
- コラボレーション上の選択
- 基本編:1.2.x => 2.0.xへ
- プロジェクト本体のフォルダ構成の変化(1.2.5 -> 2.0.x)
- Play2.0.x本体のフォルダ構成
- Play2.0 documentはダウンロード必須!
- モデルの大幅な変更
- コントローラの変更
- アクションの返り値:1.2.x/void から 2.0.x/Result型に。
- HTTPのプロトコルレスポンスを再現
- 設定より規約→規約より型
- 大幅に書き換えが必要
- 認証周り
- 1.2.x:SECUREモジュールで対応(標準)
- 2.0.x:上記が標準では無くなった
- 複数のモジュールの組み合わせで対応
- ビューについて
- 一番変化が激しいビュー
- GroovyTemplate(1.2.x)→ScalaTemplate(2.0.x)
- 全体的な修正、もしくは…
- Play2.0でGroovyTemplate…ほぼ修正無しで行けるっぽい
- 一番変化が激しいビュー
- Razorって?
- CSRF対策
- 1.2.x:自動
- 2.0.x:別途対応が必要
- プラグイン(モジュール)の違い
- モジュールのルートに関する考え方の違い
- デプロイ方法の違い
- 1.2.xではidを付けていたものが、2.0.xでは変更。
- コラム:2.0.xの導入のしどころ
- WebSocketを使用する場面
- マルチデータベースを使用する場面
- 1.2.xでは使えないが、2.0.xではEBeanで対応している
- 今、1.2.5の使い処は?
- スキルがまばらなメンバーのアプリ
- セッションを多用するWebアプリ
- ジョブが必要なWebアプリ
- 認証が必要なアプリ
- Webテストを行いたい場合
- コラム:1.2.xを2.0.xライクに使おう
- Scalaテンプレート(っぽいのを使う)
- モデルをEbeanにする
-
- すると、こうなる、1.2.x
- Controller:そのまま
- View:Razorライク(つまりPlay2.0ライク)
- Model:Ebean(Play2.0ライク)
- すると、こうなる、1.2.x
-
-
- Controllerはなるべく薄く、必要な処理は独立したJavaのクラスにしておくと移行が楽。
- Akka:メンテされてないけど、モジュールもあるらしい。
-
仕事ではないものの、個人ベースで何か作ろうかなと検討していたのがPlayであり、1.2/2.0, Java/Scalaどれで行くべきか…って辺りは悩みどころでもあったので、個人的にはこちらの原さんのセッションが一番欲しかった情報であり、タメになりました!ありがとうございました。
Play2.0 + Scala での開発事例
- Play勉強会 第3回
- View more presentations from Daisuke Kasuya
- 今日は大阪から来ました。
- Play2.0を使ってプロダクトコードを使ってます。
- 自己紹介
- Playframework勉強会は第1回、第2回に引き続き参加。
- フリュー株式会社、プログラマ
- 乙女ゲーを作ってます。
- プロジェクト構成の解説
- 開発概要
- 2012-02 -> 5末(4ヶ月)
- チーム構成:6名
- Play2.0+Scalaの開発は会社として初めて。1系は事例があるらしかったけど…
-
- 開発当初はPlay2.0 RC1を使っていた
- 途中で正式リリース
- 何度か開発途中でverup
- 基本:コンパイルエラーとの戦い!
終了後の質疑応答の中では、『開発期間は4ヶ月。そのうち1ヶ月進捗無く(=教育期間)、作っては壊しな感じで進んだ。そして残りの3ヶ月でやりきった』という会話も。"何より開発が楽しかった"というフレーズは良いですね。
そして個人的には初『だいくしー』さん。TL上では色々な発言で場を賑わせていたので、実際どんな方なのかな?と思っていましたが、今回のお話を聞いて以下と同じような印象に変わりましたw
LT
ドキュメント翻訳について
- UMEZAWA, Yuichiro(TwitterID:@garbagetown)さん
- About playdocja
- View more presentations from yuichiro umezawa
Playframeworkの日本語翻訳版ドキュメントの翻訳を翻訳されていた@garbagetownさん。勿論私もこのドキュメントにはめっちゃお世話になりました!
LTでは現状解析、今後の展望等を行った後に、Playdocja 2.0系への更新をその場で行うという何ともメモリアルなアクションを実施!
playdocjaには今後ともお世話になると思いますので宜しくお願いします。m(_ _)m (※未訳箇所も多数あるとの事で、御協力をお待ちしています、という事です。)
Play2.Xドキュメント翻訳について
- Nakamura Masato(TwitterID:@Masahito)さん
- Play2 translate 20120714
- View more presentations from masahitojp
Play2.0の翻訳をされている@MasahitoさんによるLT。翻訳をどうやるか?の流れの説明、及び『攻めの翻訳』について。ドキュメントの注意点としては『最新版についてガンガン書いていく』方法を採っているため、『最新版なら(アプリが)動くよ』という管理方法になってるのだそうです。1.x系からの機能についての確認は1.x系のドキュメントを読むのがオススメとの事。
plugin 開発の導入
- Kazuhiro Sera(TwitterID:@seratch)さん
- プラガブル Play20 Scala
- View more presentations from Kazuhiro Sera
テーブルに設置されているモニターの不調で詳細な情報が見られなくなり、メモも取り逃してしまいました...(>_<;) 幸いこちらについては既にスライド資料がUPされてましたので自分も再度見直して見たいと思います。
Play1.2.X系+Scalaの話
- @たけぞう さん
芸者東京エンターテインメント 竹下さんによるLT。『おみせやさん』というmixiアプリを構築する上での経緯や問題点等について解説。2.x系正式リリース後、非常に大量の変更(仕様変更の嵐!)があり、現状はPlay12系で行く事にしているそうです。
Play20-auth
Play2.0アプリに認証認可の仕組みを提供するライブラリの解説。Scala限定のライブラリで『ステートフル』な対応(※セキュリティのため)を行う仕様となってますが、設定でステートレスにも出来るそうです。詳細な情報はこちらを参照。
おしべめしべシステムからplayをはじめよう
最初の自己紹介で、会場がざわついてました(笑) この名前はインパクトあり過ぎますw
中身はHerokuとEC2を使ったシステムのお話。最近は以下のSNSで主に活動されているそうです。
- [http://qiita.com/:title=Qiita[キータ] - プログラマの技術情報共有サービス]
そして何故か、このLTの時だけ画面もプリプリな感じに。よ、読めない…(^_^;)(笑)
懇親会
内容盛り沢山の講演・LTを終えて、そのまま同会場内で懇親会へ。
前半はアジャイルサムライ読書会 横浜道場の方々と談笑、中盤はItsuki KURODA (TwitterID:@i2key)さんの講演や仕事に纏わるお話を、そして終盤にはKazuhiro Hara(TwitterID:@kara_d)さんに同じく講演の内容に続くお話を色々伺う事が出来ました。(※やはり個人的には1.2.x系/Javaで作りつつ、様子を見て2.x系、もしくはScalaに移っていく、という形を取ろうかなぁと思った次第です)
今現在興味のあるフレームワークの勉強会と言うことで、参加前から楽しみにしていた節もあったのですが想像以上に中身が濃く、得るものが多い勉強会でした!
主催者のTakafumi Ikeda(TwitterID:@ikeike443)さん、各講演・LTで発表頂いた皆さん、会場御提供頂いたメディアテクノロジーラボ様及び関係者の皆様、そして当日参加された皆さん、ありがとうございました!
その他関連:
- Togetter:
- Ustream:
- Blog:
- 言葉をポッケに持ち歩こう: 第3回playframeworkで発表してきました
- 第三回Playframework勉強会で発表してきました。#play_ja - Dhaulagiri
- 第三回Playframework勉強会でしゃべった - tototoshiの日記
- 第3回Playframework勉強会 #play_ja での LT - case class HatenaDiary(id: Symbol = ’seratch2)
- 第三回 Play Framework 勉強会に行ってきました。 #play_ja - from scratch
- レポート置き場: 第3回Playframework勉強会 に参加してきました #play_ja