2012年7月16日月曜日

第3回Playframework勉強会 に参加してきました #play_ja

第3回Playframework勉強会 #play_ja
http://playframeworkja.doorkeeper.jp/events/1231-%E7%AC%AC3%E5%9B%9Eplayframework%E5%8B%89%E5%BC%B7%E4%BC%9A-play_ja

2012/07/14 第3回Playframework勉強会 #play_ja
http://togetter.com/li/337676

きっかけ

告知されてから、あっという間に埋まってしまって、それでも参加したかったのでキャンセル待ちにしていました。
開催数日前になって、キャンセル待ちしてたおかげで参加することが出来るようになりました。

アップデートとロードマップ

1.3のアップデートにHibernate4への対応が含まれているというのが一番嬉しい内容でした。
ただし、DB moduleがHibernate3ベースなので多分使えなくなるのではないかと思います。
1.3以降はメンテナンスモードになってしまうそうなので、Play2も見据えて採用するといいかもしれません。

実例紹介

RESTでJSONを出力するフレームワークでフルスタックのものとなると数えるだけしかなくて、更にサクサク開発できるものとなるとやはりPlayが一番有力になってしまうと思います。
また、pluggableなので無ければ作って対応してしまうといったことも出来るのも良い所だと思います。
AWS使っている事例があったので、AWSでPlayを使ってどこまでスケールアップ出来るのかも今後お話が出てくると思うので楽しみです。

PlayとScala

Play2はNettyとAkkaで構成されているので、Javaで実装したとしても最終的にScalaを知らないとを原因をつかむことが難しいです。
あと厄介というか落とし穴になりやすいScalaTemplateの話もありました。半角スペースの有無でコンパイルが通らなかったりや「}」がパースされてしまったりといった実装周りから、吐き出されるhtmlが予想できないのでデザイナーさんとの連携が難しいといった実態の話もありました。
そのためGroovyTemplateのプラグインや将来velocityを利用したプラグインの公開されるかも?といった内容もあったので、View周りはHelperやFormといったViewModelを他のプラグインでも利用していくような形になっていくとより選択肢が増えていって利用しやすくなっていくのではないかと思います。

LT

LT中にhttp://playdocja.appspot.com/のライブリリースがありました。1.2の頃から翻訳されたドキュメントに助けられていたので2.0でもお世話になりたいと思います。githubに公開されているwikiとの連携もされていくそうなので楽しみです。
他にもプラグインの概要やPlay2でのAuth周り、HerokuとAWSのいいとこ取りの話など、今後詳しい内容を知りたいと思えるような内容ばかりでした。

最後に

今回は、実際に使われている方、運用に至った方の話を聞けたのは、とても勉強になりました。
一番印象に残ったのは、「テスト書かないのは人間レベルに達していない」でした。
人間になるためにもテストを書いて行こうと思います。

こういった勉強会に参加するのは、seedを見つけるためだと考えるようになりました。
そのまま食べてしまっても身にはなると思いますが、それではそれ以外のseedとのつながりを持ちにくいのではないかと思います。
それよりも、自分の土壌にいろいろなseedを植えて育てることで、総合的な果実を得られるのではないかと思います。
そういった意味でplayframeworkは、いろいろなseedが眠っている面白いproductだと思います。
日本Playframeworkユーザー会の皆様、参加された方々、会場を提供してくださったリクルートメディアテクノロジーラボ様ありがとうございました。
次回の勉強会も是非参加したいです。

2012年7月10日火曜日

G*ワークショップ「非同期並列なG*」+JGGUG総会 に参加してきました #jggug

G*ワークショップ「非同期並列なG*」+JGGUG総会
http://kokucheese.com/event/index/41799/

2012/07/06_G*ワークショップ「非同期並列なG*」+JGGUG総会 #jggug
http://togetter.com/li/333348

きっかけ

Startup Groovyから、IntelliJ IDEAでGroovyを使うようになりました。Community Editionのキーマップを慣れているeclipseに変更して使っています。
JGGUGの勉強会は、まだ行ったことがなかったのでステッカーに釣られて申し込みました。

GroovyCSPによる並行処理

Communicating Sequential ProcessesをJavaで実装したJCSPをGroovyでwrapしたのがGroovy CSPです。
GParsで利用できます。

プロセスとチャネルの話と、Ray Tracingのデモがありました。100%使い切ってるのに割り込み制御が即座に実行される様をみると並列処理の凄さを見ることが出来ました。
あと低消費電力のWebServerとしては、スリープ状態からアクションが起きたら実行してまたスリープに戻るといったことが出来るようになるそうです。

CSPモデル自体全く知らなかったので、調べてみたいと思います。

Grails/Groovyの開発活用術~Java EE資産を活かして開発を加速する~

Grailsの導入事例とGrails2.1のお話でした。
Grailsはまだ触っていなかったのですが、面白そうだと感じました。
開発補佐としてGrailsやGebなどのテストフレームワークも含めて徐々に使っていければいいなと思っています。

Grails2.1の詳細は、こちらから。
Grails 2.1.0 GA リリース!
http://d.hatena.ne.jp/mottsnite/20120705/1341495778

G*Magazine Vol.5のepub版はこちらのサービスを利用して作られたそうです。
Mybetabook
http://mybetabook.com/index_ja.html
jggug - 日本Grails/Groovyユーザーグループ
http://beta.mybetabook.com/u/jggug/

最後に

懇親会でgroovyでexcelからxmlに変換する仕事で使うツールを書いていますという話をしたところ、@nobeansさんにGExcelAPIを教えていただきました。ありがたく使わせて頂きます。

JGGUGの皆様、参加された皆様、会場を提供して下さったNTTソフトウェア様ありがとうございました。

2012年7月8日日曜日

アジャイルサムライ 横浜道場「ユーザーストーリーを集める」 に参加してきました #agilesamurai #横浜道場

アジャイルサムライ 横浜道場「ユーザーストーリーを集める」
http://kokucheese.com/event/index/42827/

2012/07/05 アジャイルサムライ 横浜道場「ユーザーストーリーを集める」#agilesamurai #横浜道場
http://togetter.com/li/332950

今回から第3章「アジャイルな計画づくり」に入っていきます。

DSC_0303

文章化の難しさ

文章にするということが目的となってしまって、後から見返してみると「何をやりたかったのか」がわからなくなってしまうといったことになりがちです。
文章にしてしまうことで、それが実現可能かまだ分かっていないのに安心してしまうような人たちもいます。
そうではなく、今後の計画を立て得る際に、会話のテーマになる程度のまとまりになるようにするのが大事ではないでしょうか。

ユーザーストーリー

DSC_0305

ビッグウェイブ・デイブのユーザーストーリーをチームで出し合ってみました。
テンプレートである「ユーザーとして、何をしたい、なぜなら理由だから」に沿ってやってみました。
機能にまで掘り下げてしまうとその他によい解決案があったとしてもそれに引き摺られてしまいますので、そこまで細かくするのではなく、ざっくりとやりたいことを挙げていく方が分かりやすいということがわかりました。
よく書けているユーザーストーリーでは、以下の6つの要素を備えているそうです。
  • Independent(独立している)
  • Negotiable(交渉の余地がある)
  • Valuable(価値のある)
  • Estimatable(見積もれる)
  • Small(小さい)
  • Testable(テスト出来る)
今回のに当てはめると機能まで掘り下げてしまったので交渉の余地が少なくなってしまいました。
この6つを確認しながら書いていくと後々のタスクに分割する際にやりやすくなると思います。

よくある要件定義書や仕様書では、更新する際にいろいろ手続き等が発生して面倒なことがあったりしてコストが発生してしまいます。
後になって顧客が本当にやりたかったことと違い、また文書の更新のコストを請求してからという無駄なことを続けるというようなこともよくあると思います。

小さいカードに書くことで、詳しく書くことよりやりたいことを簡潔に表現することに意識を持ちますし、並べた際に優先順位を付けやすいとおもいます。

最後に

今後、やりたいこと等テンプレートに沿ってカードにしてやってみたいと思います。そうすれば何からはじめなければいけないのか、本当にやらなければならないのかをまとめて見られます。

道場のスタッフの皆様、会場を提供して下さった株式会社アットウェア様、ありがとうございました。

第 7 回 JavaFX 勉強会 に参加してきました #jjfxug

第 7 回 JavaFX 勉強会
http://atnd.org/events/29880

2012/07/02_第 7 回 JavaFX 勉強会( #jjfxug )
http://togetter.com/li/330960

きっかけ

JavaOne 2012でJavaFXの紹介があって面白そうと思っていました。
勉強会が開かれるということで、どんなのか知りたいと思ったため参加しました。

NetBeans 7.2とScene Builder

NetBeans 7.2にScene Builderの設定をしておくことで、FXMLをグラフィカルに編集できるようです。
xmlを手動で編集するのは人間には酷な作業だと思いますので、こういうツールが無いまたは、使えないと正直つらいと思います。
ただ、Scene Builderもまだ洗練されていないみたいなので連携が不十分みたいです。今後連携できるようになると楽になりそうです。
表示構成をFXMLに任せることで、イベントの処理をViewModelへ移動して「MVVMモデル」になっているそうです。
個人的にはWebにアクセスする方法が思っていたより簡単だったので、jsonとか吐くサイトからJavaBeansに変換して取り込みとかやってみたいですね。

まとめ

デスクトップアプリは仕事でBiz/Browserでしか作ったことがないので余り経験が無いですが、今回の勉強会でWebと繋がる方法があることが分かったので、仕事用のツールとか使ってみようと思いました。

主催して下さった日本 JavaFX ユーザグループの皆様、LTをして下さった皆様、会場を提供して下さった日本オラクル様ありがとうございました。

2012年7月1日日曜日

日本鼻メガネの会 4時限目 に参加してきました #日本鼻メガネの会

日本鼻メガネの会 4時限目
http://megane.doorkeeper.jp/events/1237

今回は、前回と違って至って普通の飲み会ということでした。

唐揚げが有名なお店だそうで。

でかいな… #日本鼻メガネの会  on Twitpic

揚げたてで、ジューシーで、柔らかいの三拍子揃った美味しい唐揚げでした。

私達のテーブルは、アジャイルサムライ読書会の横浜道場や、Scrum BootCampでお会いした方がいらっしゃっいました。なので主にTDD、Scrum BootCamp、TFSの話等、ほぼソフトウェア開発関係でした。
某ミクロなソフトさんに魂を捧げないとだめな言語の恐ろしさを垣間見ました。
でも、TFSはお金出して導入できたら、めっさいいよというお話も聞けました。

途中で会長の@riskriskさんの話を聞いて、一日の3分の1以上拘束されるということがどういうことか考えて仕事をしようと感じました。
やりたいことだけ出来るわけじゃないし、楽しいことだけじゃない。でも、それに見合った評価かどうかや、金額以外の何かを得ているのかを見つめなおすのは、残り時間を見ても必要かなと思いました。

使用してる言語は違えども、類似したコンテキストを持った人たちと酒を酌み交わすという場はやはりいい刺激になりますね。
今回は、ソフトウェア開発の方以外の方も参加されていらっしゃられたみたいで日本鼻メガネの会の守備範囲の広さに驚きました。
もっといろんなジャンルの人達が出会えるといいと思います。

一次会が終わった後、ダーツ組に入って久しぶりにダーツしてきました。
まぁ、ハウスダーツであそこまで出来れば久しぶりにしては上出来です。

次回いつになるかは分かりませんが、「鼻メガネ」だけでこれだけ集まるような人たちがいるので、興味を持ったり面白そうと思った人は是非参加してみてはいかがでしょうか。

会長の@riskriskさん、転職された@inda_reさん、参加されたされた皆様お疲れ様でした。