2016/07/10 このエントリーをはてなブックマークに追加 はてなブックマーク - 【7/9(土)】Doma勉強会 in 東京でLTしてきました #doma_tokyo

【7/9(土)】Doma勉強会 in 東京でLTしてきました #doma_tokyo

Doma 勉強会に行ってきました!!

http://eventdots.jp/event/592052


あと、LTしてきました(KotlinがDoma2でサポートされると聞いて)
※まぁ、ボクのポジション的にKotlinの発表しとくかー、と


まずはbackpaper0さんより、Doma2の全般的な紹介の発表がありました。



これまで、色々backpaper0さんの発表を見させていただいたりしてきましたが、
一番緊張していましたw
Doma作者のnakamura_toさんがいるから、
まぁそうですよね。

Java Day Tokyoの発表より緊張してます、
とかなかなか言えないセリフだなぁとか思いました。



補足として、
NetBeansではあんまり使えない、と資料中にあるのですが、
現状は使えるようです。
勉強会に参加して試してくださった方がいたので、リンク貼っておきます。
https://github.com/yangping0211/doma2-netbeans-maven

絶対に必要なもの無くても良いけどあると便利なものなどは参考になりますねー。

全般的に網羅的にまとまってて、とても参考になりました!!



つづいてもbackpaper0さんからドメインクラスについての話。


こちらはどちらかというと実践的なお話でした。
というか、Doma2関係なく、勉強になる話でした。

前方一致を表現するPartOfクラス、とても良いアイデアだなぁと思いました。

ただ、Javaの命名としては一般的ではないのかなとか思いました。
Javaでよくあるような名詞のクラスではなくて名詞 + 前置詞の形なのですよね。
ある意味、クラスで関数を表現するとこういうかたちになるのかなぁと、Javaの表現を広げるような感じがしました。

gakuzzzzさんのお話。なるほどここはStreamの勉強会だったのか。

再利用性よりもSQLの完全性
はホントに思い当たるところが色々あってそのとおりだなぁと思いましたし、
全てをCollect検索にするというのもなるほどなぁと思いました。

ぼくはですね、この1ページに書いてあること
業務で、たくさんのクラスでもっと冗長に書いてしまってるので、
なんて簡潔に書けてしまっているんだと、なんだか驚きました。

Daoでこれだけのことが出来るのって相当すごいぞ。



前提として注意しておきたいのは、RDBMSでのチューニング、
SQLをきちんと設計したうえで、Javaの世界ではCollect検索するという部分。
さすがにJVM上で100万件のレコードを処理するのは現実的でないし、
ソート処理に関してはSQLでやったほうが良いだろうとお話されていました。

ぼく個人の経験としては、
Streamで大量データをフィルターしたりコレクトしたりで問題になるのはN+1問題とかでした。
パフォーマンスの問題が出たのはむしろRDBMS側のindexが正しくはれていないとか、
サブクエリの集合がでかいから遅いとかそういう問題でした。

作者のnakamura_toさんの発表。
本当にいい話でした。


使っていてしっくりくるのはこういったポリシーがあるからだなと、改めて思いました。

普段、Spring Boot + Doma2の組み合わせでWebアプリを作っているのですが、
使っていることで感じていたことがスライドに詰まっていました。
Domaは良いぞ。

ここからLT。suke__masaさんの発表でした。
Doma2のLTと言いつつ、ゴリゴリのJava EEって感じでw
まぁPayara Microとかも使ってましたが。

LTのためにささっとWebアプリを作っちゃうところはさすがだなーと思いました。Payara Microちょこっと触ってみたいなー。

ぼくの発表。
まぁ、Kotlin使うとこんな感じだけど、別にJavaとDoma2でも全然事足りるよ。という話でした。

Kotlin好きの人が、例えば、Kotlin + Spring Bootしてて、ORMなにがいいかなぁという目線ならDoma2は全然選択肢としてありだなぁと思いました。
kapt周りはDagger2とかRealmとかそんなんより全然はまらないですね。

最後に発表者と参加者で質疑が行われました。

質疑、、、なにがあったっけなぁ。

  • doma-spring-boot-starterのバージョンアップの予定は?
    nakamura_to - makingさん任せなので、私としては管理していません
    backpaper0 - おそらくプルリクなりmakingさんにコンタクト取るなりすればすぐに対応してくれるはず。
  • Doma2は海外展開するのですか?
    nakamura_to - 単純にリソースが無いので、予定はないです。

  • IntelliJ IDEAでannotation processingのチェックて出来ますよね?
    gakuzzzz - IDEの設定でできます

あと、backpaper0さんへのドメインクラスについて質問があった気がしますが、忘れました!!
みんなもっと質問すればいいのに!

10人位で近くで晩ご飯を一緒に食べました。パエリア食べました。
chiroitoさんにアツアツアヒージョでリアクション芸させられそうになりました。危なかった。

  • backpaper0さんもgakuzzzzさんも作者の予想を遥かに超える使い方をしていた
  • Stream APIはpararelをやるために作られた
  • Collector<Foo, ?, R>は型引数の不要な露出があって設計上良くない
  • FP in Scalaは考え方の勉強になる
  • Seasar Foundationあたりの話
  • Kotlinをサポートしたのは直感的に流行りそうだったから
  • Kotlinサーバーサイドて使われて欲しい、現状Androidが主戦場。なんか某社はサーバーサイドで使ってるらしい
  • Kotlin JSはまだ発展途上ですよ

とか色々な話をして楽しかったです!!

0 件のコメント:

コメントを投稿