第3回Seasar勉強会 in Sendai いってきた

ひがさんによるSlim3デモとSAStruts+S2JDBC+Doltengを使ったハンズオン参加してきました。Slim3を案件投入したかったので現状について聞きたくて、飲み会でいろいろ伺いました。

第3回Seasar勉強会 in Sendai

Slim3デモ

テスト駆動開発(TDD)の重要性を説明しながらのライブコーディングでした。

「いま何をやっているのかを意識するのが重要」
「一度にたくさんのこと(スコープの大きいこと)をやらない」

などの心構えを含む内容。
Slim3について根掘り葉掘り聞きたかったので、質問タイムがなかったのはちょっと残念。


夜の部にて

Slim3はGAE/jが本流ということですが、メイン機能でGoogle APIに依存しているわけではないそうです。
※ソースを"google"でgrepして確かめてみるとわかる。

JDOが案件にフィットしないなら、
JDOControllerのスーパークラスControllerを使えばOK。

「SAStrutsは使いたいんだけどDIとかはちょっとかんべん」とか思っていた人=まさにオレ!だったので、朗報でした。SAStrutsでは、デフォルトがView-Control-Service-Entityの4層構造になりますが、Slim3では、View-Control-Entityとシンプルになっているようです。

今使いたいなら、slim3.orgのリポジトリ(https://www.slim3.org/svn/trunk/)よりも
slim3.googlecode.com(http://slim3.googlecode.com/svn/trunk/)の方がお奨め。

あと、slim3のブランクプロジェクトの作り方を(かなり酔っぱらってる時間に)聞いたら、「あしたblankつくるぅ~」とのこと。心待ちにしております。

 ...と思ったらできてるぅっ!

以上、slim3について夜に聞き出した情報のご報告でした。


ハンズオン

SAStruts+S2JDBC+Doltengの全体像が見えてちょうど良いボリュームでした。
面白かったです(おつかれさまでした!)。>koi_zoom1さん

初体験でしたが、HotDeployは本当にすばらしく、LLでの開発と全然変わらない使用感でした。あとタイプセーフのSQL(S2JDBC)は、慣れれば超便利。ちょっとだけ*Namesクラスにとまどった。

DIやStrutsについてはぜ~んぜん意識しないで作れます。
ナイスアノテーション。

ところどころで「なんでこの機能があるのか」の説明がひがさん本人からあったのですが、やはり現場志向の方なんだなと、感じました。

Eclipse依存の部分があるようなので、NetBeansなオレとしては、そこは若干不満。antだけでmigrateやscaffoldできるようだとさらにいいなぁ。


感度

だいたい同年代くらいの人が集まったのですが、「こういう勉強会があるのを知らなかった。楽しい。来てよかった!」という意見多数でした。
(だれもひがさんに突撃名刺交換してる人いなかった、シャイすぎるw)

ちょっと残念に感じるのは、若いエンジニア殺到で定員オーバーとかになる状況が見られなかったこと。今回参加して「よかった」と思った人は、職場の後輩とかを洗脳してったらいいと思います。

あと、「LTはもう引退」と言ってmasanobuimaiに白い目で見られた。
まだまだ東北ではLTに名乗りを上げる人が現れないので、今後勉強会には毎回LT要員のつもりで参加します。

東北の感度を上げるには、我々おっさんががんがん騒がないとね。

ログ

masanobuimaiと仲良くtsudatter。
勉強会は一週間前に始まっていたっ

masanobuimai Eclipseをインスコする屈辱を受入れるかどうか思案しているナウ。May 24th
takedasoft IntelliJ S2プラグインが1週間後にリリースされるかもしれない・・May 24th
takedasoft slim3で初期プロジェクト作る方法・・・archetypeCatalogとかナイのだろうか。May 25th
masanobuimai IntelliJ,かわいいよ,IntelliJ May 27th
masanobuimai IDEA, かわいいよ,IDEA May 27th
masanobuimai SAStrutsのお手製ブランクプロジェクトできた...と思う。たぶん,きっと,そうだ。May 27th
masanobuimai NetBeansでSAStrutsはしんどそうな悪寒。May 27th
masanobuimai よし,わかったっ。オレはもうeclipseが使 *え* ない。:-) May 29th
masanobuimai なるほどー,scaffoldはDoltengじゃないとできないのかー。May 30th
masanobuimai しょうがないからeclipse入れたのに,起動しないとはどうゆう了見だ!
takedasoft ばかな今井さん
masanobuimai @takedasoft ばかって言う方がばかなんだ。ばかばかばーか。
masanobuimai そろそろ出かける準備をするか...
masanobuimai 天気悪いなー
takedasoft Seasar勉強会@仙台はじまる。tsudaるとかできませんが。
masanobuimai 勉強会はじまた
masanobuimai TDD!!TDD!!TDD!!
takedasoft TDDで一番大事なのは、いま自分が何を作ろうとしているのか、を意識持つこと。
masanobuimai Slim3ってここでいいの? http://www.slim3.org/
masanobuimai zipがない...
takedasoft こっち http://slim3.googlecode.com/
masanobuimai @takedasoft ダウンロードしたっ
masanobuimai ひがさんが使っているSlim3はtrunkか?
takedasoft slim3-blankってどこからとるん?
takedasoft trunkのslim3-genで ant copy かな?>slim3-blank
masanobuimai slim3.googlecode.comからとったslim3-demoは動いた
takedasoft TDDでは一度にたくさんのことをしないことが重要 by ひがさん
takedasoft slim3.JDOControllerTestCase !
takedasoft ControllerもJDOController(クエリメソッド付)を継承するんやね。
masanobuimai Slim3ってSpringベースだと思ってたけど,それはもう昔の話か?
masanobuimai JDOは滅びぬ。何度でもよみがえるさ。ってホントによみがえりました。
masanobuimai datanucleusの中の人はJDOラブ。
takedasoft DataNucleusチームはJDOが好き。http://www.datanucleus.org/
takedasoft できるだけGAEに依存しないためにモデルのkeyにStringを使う
masanobuimai slim3-genはAntのTask
masanobuimai GAE/J版SAStruts = Slim3 でおk?
takedasoft @masanobuimai 書きかえてるみたい。>http://bit.ly/17xpTh
masanobuimai trunkのslim3-demoに入っているslim3のjarがJava6でビルドされてて,全Macユーザが泣いた。
masanobuimai @t_yano 32bitなもので。MacPortsのopenjdk6はインスコ失敗した。:-(
takedasoft BeanUtil.copy( request, model )
takedasoft List<BeanMap> と BeanUtil.copyのあわせ技
takedasoft org.slim3.util.* を使ってコントローラの処理を短く書ける。(けっこう魅力的)
masanobuimai @takedasoft webからポストしてたんか?なんかクライアント使え。
masanobuimai @t_yano ありがとうございますー。って,あれ?SoyLatteの最新版がmacportsに載ったんだと思ってた。
takedasoft しかしHotDeployは、まじでLL開発と見紛うなぁ・・・しみじみ
masanobuimai @takedasoft JDK1.4だかJava5んときにHot Swapって言ってたね。デバッガでマウントしててもクラスファイル置き換え出来るって。
masanobuimai Type Safe Query = org.slim3.jdoですね。
masanobuimai 試しに sudo port install openjdk6 やってみたけど,またコケた。もういいから,SoyLatte手で入れる。:-(
masanobuimai まあGAE/J SDK素で使う人はあんまいないからなぁ。GAE/Jの覇権を狙ってFW戦国時代に突入か?
takedasoft Eclipse GAEプラグインは優秀
masanobuimai @takedasoft appcfg.sh叩くだけやがな。
takedasoft @masanobuimai ひがさんが言ったんだぉ
masanobuimai twitterやってるだけで,いろいろわかた。実況べんり
masanobuimai scaffold以外はeclipse使わない宣言
takedasoft そういえばslim3にscaffoldないのかな?
masanobuimai scaffoldはコマンドでできるといいなっ
masanobuimai データベースをH2からDerbyに変える椰子
masanobuimai eclipse使わないとムズいなぁ。> SAStruts
masanobuimai scaffoldさえなければEclipse以外でもなんとかなるなー。
masanobuimai Doltengが生成するpom.xmlって,普通のpomなんだ(って何を言っているだ?オレは)。
masanobuimai SAStrutsのmaven archetypeは無いんだ。
takedasoft "slim3-blank"の検索結果に泣いた
takedasoft 流れるインターフェースで書いておくと、保守フェーズになったときに強力 by ひがさん。確かに他人が書いた生SQL読むのって苦痛だもんね。
masanobuimai @takedasoft 流れるインターフェイスってIDEのコードフォーマッタと相性悪いと思うんだけど,どなんでしょ?
takedasoft @masanobuimai ほんとだw
takedasoft sastruts -> slim3 の大きな違いは、サービス層がごっそり消えた。ほぼ2層。
masanobuimai @takedasoft そーいや,トランザクション境界どこなんだろね?> slim3
takedasoft ヒント:org.slim3.controller.JDOController のソース


コメント
koi_zoom1
2009/05/31
昨日は会場設営まで手伝っていただきありがとうございました!

>Slim3について根掘り葉掘り聞きたかったので、質問タイムがなかったのはちょっと残念

申し訳ないです。次回は気をつけます!
武田ソフト
2009/05/31
いえいえ、とても楽しい会でした。次回もぜひ!
おつかれさまでした。
ひが
2009/06/04
ControllerとTestCaseの継承元を任意のものに
変える機能をslim3-blankにコミットしました。
build.xmlのsuperclassNameとtestCaseSuperclassName
を適当に書き換えてください。
武田ソフト
2009/06/05
ひがさん、ありがとうございます。使わせていただきます。
せっかくなので、できるところまではJDOでやってみようと思ってます。JDO外すよりも、JDOControllerを継承する感じの方がSlim3っぽいのかな?と想像してるところです。

コメントしてください

closed.