奇跡のDBFluteフェス2014終わり



終わったー!
フェスまでの二週間はずっと緊張しっぱなしでしたが、
重圧からやっと解放された感じです。
ああ、昨日やったんだなぁって...

昨年に引き続き、2セッション方式、
そしてゲスト講師を招かせて頂きました。
連休の初日にも関わらず、
参加者はConnpassの参加表明でなんと50人!
当日キャンセルも1割程度と姜維の参加率。
登録あり参加43人 (/50) + 未登録参加5人
 + 未登録スタッフ7人 + 応援2人 = 57人

DBFluteフェス2014 | Connpass

one, two, three, four, プレッシャー!


一時限目会場A: いきなり極限ConditionBean

jfluteの極限セッション。入門じゃないです。
最初ほんの少し入門的な話をしましたが、
途中から一気にアクセル踏みました。
(わりと、DBFluteは使っているという方が多かったし)



後で紹介される「DBFluteハンズオン」の中から、
印象的なエクササイズを ConditionBean で
ライブコーディング。しかも、Java8スタイルで!

「手渡しだけでも支払い過ぎてるのに未払いの購入を
持っている会員にフォローされている会員」

これはなかなか極限だったかと思います。

でも、最後にしっかり伝えさせて頂いたのは、

ConditionBeanはRDB指向のAPI

だということ。
FKのリレーション線を辿って条件を組み合わせていくもの。
それが階層が深かろうが横道歩こうが、
やっていることは「リレーション」を辿っているだけ。

ConditionBeanは、単なるタイプセーフではなく、
「よりRDBの変更に対して敏感に作られている」ということ。



そして、「複雑なSQL」って言葉がよくあるけど、
何を複雑と言うのか?って問わせて頂きました。
単に人によって複雑度合いが違うということもあれば、
複雑の方向性が違うということもあるでしょう。
正解は出せませんが、向き合わないと正しい議論ができない。

リレーションを素直に辿っている限りは、
そこに存在するのは「組み合わせの複雑さ」であって、
正しくカージナリティのレールに乗って、
安定したデータ思考をしていることには変わりがない。

※締めトークにつながります。

一時限目会場B: SAFlute+DBFluteでサービス作ってみました

@Creative_Gearさん、
jfluteの我が愛弟子(^^、「通称:みやさま」、
かつ、ぼくのインフラの先生でもあります。

普段仕事をしながら、夜時間、休日を活用して、
個人でサービスを立ち上げたパワフルなお話。
スライド資料を見ると、これはこれは丁寧に、
「サービス開発をするときに考えるべきこと」
が説明されています。
これはまた貴重なスーパースライドだなぁと。

個人でのWebサービスの作り方
(SAFluteでスタートダッシュを決める) | slideshare



でも、45分で最後まで終わらなかったと聞きました...
このボリュームではそりゃそうね笑
よい経験になったかと思います。
にしても、貴重な内容なので、ぜひどこかで、
90分コースで話してもらいたいなぁって思います。

二時限目会場A: DomaSQLテンプレートのしくみ

さあ、スーパーゲスト、
Domaの作者、@nakamura_to さんのセッション!

ちょー大盛況だったようです。

Doma SQLテンプレートのしくみ | slideshare

相変わらずぼくは裏でしゃべっているので、
スライド資料だけしか見られていませんが、
Domaのコンセプトがとてもわかりやすく説明されています。
また、そもそもSQLテンプレートの何が良いのか?
という点もしっかり書かれていて、
これは、2WaySQLの意義を伝えるためにも良い資料だなぁと。



パースの仕組みも丁寧に書いてあるので、
がぜん、Domaのソースを読みたくなってきました(^^。
やっぱり、静的解析っていいですよねー。
DBFluteはバッチで実行や自動生成スタイルですが、
やはりリアルタイムで検知できるのが一番。
DBFluteもそういった方向でアプローチはしていきたいですが、
プラグインとかIDEと格闘しないといけないので、
本当にそこは脱帽です。

参加者の方が、ブログでセッションの様子を書かれていますので、
ぜひ、そちらも参考にしてくださいませ。

DBFluteフェス2014に行ってきました | Chonaso's Commentary

nakamuraさん、ありがとうございました!

二時限目会場B: jfluteのひとりライトニングトーク

jfluteが一番、輝いていたかもしれません笑。
ちょー少人数セッションで、
ひたすらjfluteが5分おきに違う話題のLTを
やっていくというもの。



これがね楽しいんですよ(^^。
一コマくらい、少人数で深夜番組的なノリで、
対話的にやるセッションがやりたいなって。

ひとつめ
業務的one-to-one | DBFlute

ふたつめ
DBFlute on Scala パイロット版 | jfluteの日記

みっつめ
区分値 | DBFlute
区分値のグルーピング | DBFlute

よっつめ
110符2翻について (DBFluteハンズオンテストデータ)

いつつめ
アルゼンチン的ソースコードリーディング

むっつめ
なにかしゃべって欲しいことあります?

まじめなところでは、DBFluteの大切な現場フィット機能、
業務的one-to-oneと区分値を知ってもらえたかなと。
特に「区分値のグルーピング」は考え方がとっても大切。

Scala での DBFlute のデモもやりました!
昨年は、@shoito さんにゲスト講師として来て頂きましたが、
そのときの「一言DBFlute」が、
「はやくDBFluteScala版が欲しいですね、ではJavaScript...」
パイロット版ですが、できましたよー!

アルゼンチン的ソースコードリーディングでは、
BehaviorのselectList()からPreparedStatementの
executeQuery()までを一気に辿りました。
いい感じの質問もあって、
その意義についてしっかり説明させて頂きました。
二つ。

OSSを利用するプログラマーであるかぎり、
突破的にソースコードを読めないといけない。
(常にドキュメントが綺麗に揃っているとは限らない)
読む姿を見せることで、そのコツを伝えたい。
知らないソースコードを読むときに考えること悩むこと、
そのリアルな感覚を共有したい。
(jflute自身も初めてのコードを一緒に読むことも)

また、全体像を把握する前に先に四苦八苦して読むことで、
概念図や全体像に対してより強い興味を持つようになる。
時には、それもいいだろうと。

さて、実はなぜかここだけ、セッション資料があるんですけど、
(普段ライブコーディングとトークばっかで資料がm(_ _)m...)
リンクは貼りません笑。
しょーもなさ過ぎるので、まあ見つけたらラッキーと思ってください。

45分あるはずなんだけど、5分しかない!
というプレッシャーが45分続くと言う斬新なセッション。

ひとつわかったことがあります。

45分の普通のセッションやるよりも、
「LTを45分やるほうが遥かに疲れる」ということ

三時限目会場A: commons-math3 ではじめるゆるふわ統計&機械学習

これまたスーパーゲスト、
渋谷Javaでの出会いをきっかけに、仲良くさせて頂いている、
@komiya_atsushiさんのセッションです。

統計&機械学習にとても精通された方で、
いつもkomiyaさんのセッションは一言でいうと、
エキサイティング!
なので、ぜひともDBFluteフェスで聞きたいなって、
声をかけさせて頂きました(^^。

commons-math3 ではじめるゆるふわ統計&機械学習 | Speaker Deck

これ何年後でも貴重な資料だなって。
理解ができない部分があるので、何度も何度も読み返さないと...



komiyaさんは、TokyoWebmining の運営事務局もされています。
データマイニング+WEB@東京 (TokyoWebmining)

ビズリーチの若い子たちが非常に興味が持っていたので、
komiyaさんのおかげで、運営手伝いメンバーが増えたと
言っても過言ではありません笑。

いつか、もっと深く勉強してみたい分野なので、
今後も注目していきたいなって思っています。

komiyaさん、ありがとうございました!

三時限目会場B: DBFluteの外だしSQLが意外におもしろい

もしかしたら、外だしSQLだけで1セッションって初めて!?
(Seasarカンファでライトニング外だしSQLってあったかな...)

DBFluteのセッションでは、どうしても ConditionBean が
先に話題になってそのまま終わってしまうことが多いのですが、
今回は、Domaに興味のある方も来ていらっしゃるということで、
DBFluteの外だしSQLにも興味があるだろうと思って。

意外に知られていない、DBFluteイカれた外だしSQLについて、
たっぷりライブコーディングしながら説明させて頂きました。
その前のひとりLTから続けて会場Bにいらっしゃった方は、
突然の真面目ぶりにびっくりされたでしょう笑

要点:
o 2WaySQLはやっぱり素晴らしい
o 引数DTOも検索結果DTOも自動生成 (Sql2Entity)
o 一括実行バッチでDB変更の影響を把握
o SQLにしっかりコメントを書いてもらう促進機能
o パラメーターコメントのエラーメッセージがド派手
o IFコメントの代理判定メソッドを自動生成
o BEGINコメントはネストもできるように
o 埋め込み変数コメントを柔軟に
o FORコメントを導入

SQLコメントについては熱く語らせて頂きました。
SQLほどコメントが書いてなくてつらい言語はない!
ってくらい、人の書いたSQLをメンテナンスをするのは苦行なもの。

Javaとかプログラムであれば、
「コメント書かなくてもいいようなプログラムを書こう、
変数名やメソッド名なんかもわかりやすく...」
って技が使えたりしますが、
SQLではなかなかそうもいきません(できるだけ頑張るけど)。
なのに、世の中的にSQLにコメントを書く習慣があまりない。

DBFluteの促進機能で、できるだけSQLに
気の利いたコメントを書いてもらおうという思想です。
SQLのメンテナンス性というのを重視しています。

やっぱり、BGMっていいな

ここでちょっと、Break

今回は、BGMにこだわりました。
Billy Joel (ビリージョエル) が流れる勉強会って、
DBFluteフェスだけなんじゃないか!? って(^^。
ってまあ、そこはjfluteの趣味ですが...

やはり、始まる前、休憩時間、懇談会と、
BGMがあるとがぜん、イベント感が出ますね。
フェスっぽい!

BGMが始まれば休憩時間っぽい空気になって、
リラックスと歓談が始まりやすいし、
BGMがフィードアウト(これ大事)すれば、
一気に場が引き締まって、
「さあ、始まるぞ」ってメリハリが。

じゅんぺー、ありがとう!

DBFluteというコンセプトから、音楽は重要な要素ですね。
今後もBGMにはこだわっていきたいなって。

...なぜ、フルートの曲じゃない!?
そ、そ、そうね。
次回は、赤木りえさんの曲は絶対に入れたいな。

パネルディスカッション: Doma, DBFlute

さあ、パネルディスカッションです!
渋谷Javaのマイクパフォーマンスで、
「nakamuraさん、DBFluteフェスでDomaしゃべりませんか?」
って突然言い始めたクレイジーなjflute。
本当、その場での一瞬の思い付きだんだんですけど...
快く受けて頂き、本当にありがとうございます。



DBFluteコアユーザーの awaawa さんが司会で、
@nakamura_to さんと jflute とのDB話。

o 作ったきっかけ
o 開発の苦労話
o ここだけは負けないぞ
o 他のツールを使うなら?
o 空文字とnullについて
o などなど (盛りだくさんすぎて忘れちゃった...)

詳しくは、来場された方の特権ということで(^^。
ある意味レイヤの競合するプロダクト同士が
パネルディスカッションするって貴重なことだと思います。



そして、最後にプレゼントを用意しました。

dbflute-example-with-doma | Github

単に、Doma の Example に対して、
DBFlute の ReplaceSchema と SchemaHTML の仕組みを
乗っけただけですが、要はこういう使い方もできるはずで。
DBFluteは競合もすれば、支援もする不思議なツールですよと。
(ちなみに、これを「Alto DBFluteスタイル」と呼びます)

まあ、単にjfluteが
「Domaって、こういうときどういう挙動するんだ?」
って思ったときにあれこれいじりたいってのもありますけど(^^。
いや...何かDomaのまんまでDBFluteらしさの支援を追加できたら、
それはそれでまたおもしろいのではないかと...もんもんもん...



もっとコアな話に突っ込んでも良かったかも。
初めての試み、今後さらに色々な発展をしていけたらなと。
(司会のawaawaさん、ありがとう)

LT大会その1 新QuillDBFlute.NET のこれから

まずは、ひとつめ。
Seasar.NETコミッタの @koyack さんから。

俺たち、もう終わっちゃったのかな?
 バカヤロー、まだ始まっちゃいねーよ、
 Seasar.NETとQuill、そして、DBFlute.NET | GoogleDocs



なかなか刺激的なタイトルですが、
要はこういう前提がありました。
Quill と DBFlute.NET の未来プロジェクト | jfluteの日記

同じ Seasar とはいえ、Java .NETSeasar は、
だいぶ違う道を歩んでいます。というのは...

そもそも Seasar.NET は流行ってもいない笑
だから、終わったというか、始まってもいないよと。
だから、始まるんです。ゆっくりと......

Quillはとってもシンプルに。
S2Container.NET とは決別して、独立Quillに。

そして、DBFluteのJava8版が落ち着いたら、
それをそのまま最新のC#へ移植。
Java版と遜色ない品質のC#版ができるというお話。

とても落ち着いた話し振りで良かったです。
参加者の方に、ちょうど.NETやられている方もいらして、
興味深い話になったようです。

@koyack さん、ありがとう!

LT大会その2 ビズリーチではDBFluteハンズオンやってます

ビズリーチの若手のホープ、いたりーのセッション。
愛弟子でもあり、ぼくの英語の先生でもあります。

ビズリーチではDBFluteハンズオンやってます | slideshare



DBFluteハンズオンのことを紹介したもらいました。
ビズリーチでは、(Javaチームに関しては)新卒・中途関わらず、
研修の一環として、DBFluteハンズオンによるフォローイングを
もらうことができます。

思考力DBFluteハンズオン | jfluteの日記

って、jfluteが1on1で厳しく!?フォローイングします。

これにて、ビズリーチのメンバーは、
EclipseによるJavaコーディングが爆速に。
彼も見事に修行をやり遂げたハンズオン卒業者で、
プログラミング二年にしてスーパーエンジニアにまっしぐら。

ここで奇跡が起きました。
彼とは何の事前打ち合わせもしていなかったのですが、
ConditionBeanネイティヴという言葉が出てきました。
プログラミングを始めた頃からDBFluteを使っている。
というか、ConditionBeanを使っている。

とあるエピソードで、SQLを書こうとしたら、
ConditionBeanなら書けるけど、みたいな話が...
さあ、一斉にO/Rマッパーに対する罵声が浴びられそうですが、
これに対して、ちょうど締めトークで話をしようとしていました。
ネイティヴという言葉を先に言われた!?みたいな。

ふふふ、この後をお楽しみに。

LT大会その3 知って帰ろう!B級エンジニア

ちょっと肩の力を抜くセッション、
B級エンジニア協会の関東支部の「ぺろった」さん。

知って帰ろう!B級エンジニア | slideshare



彼もDBFluteハンズオンの卒業者で、
リレーショナルな脳を持ちながらも、
日々、B級エンジニアを世に広めるべく熱心な活動をしています。

Twitter B級エンジニア 公式アカウント

そして、
B級エンジニアの動画は以下より観ることができます。

B級エンジニア - YouTube (観られます!)

懇談会で、「B級エンジニア協会の会長」の方とお話したのですが、
互いに「流行らない」というところで共通していて笑、
通じるものがあると一致して盛り上がりました。



「ぺろった」の資料がこれまたおもしろい。
締めトーク前に参加者にリラックスしてもらう
良いセッションとなりました。

jfluteの締めトーク

予言は行動と実現
NHKスーパープレゼンテーションで特集されている、
プレゼンイベントTEDカンファレンス、
MITメディアラボ創設者ののニコラス・ネグロポンテ、
前日にjfluteが気分を盛り上げるために観ていました。

30年も前に、タッチパネルによる操作を予言、
他にも数々の予言を世に発信し、見事に当てて来たvisionary。
今日、DBFluteで色々なことを言うかもしれませんが、
それが予言になるか、ただの戯れ言になるか。

ぼくに予言する能力はないので、言ったことを実現しようと行動する。
言っちゃったからにやらないとかっこわるい。
これがぼくの最大のモチベーションかも知れません。


フラットな議論はなかなか存在しない
昨今、受注(SI)と自社サービスで開発スタイルが違うから、
受注からサービスに来ると四苦八苦するというような話が、
時々話題になります。

jflute自身も、確かに自社サービスだと意識すべきことが違い、
同じ問題に対して下す判断が変わることがあると考えている、
といか、それを何度も目の当たりにしてきたので、
その経験とセオリーを日々エンジニアに話をしたり、
はたまた逆に教えてもらったり、それをまた人に伝えたり、
ブログで書いたり、講演会でしゃべったりとしています。
DBFluteの機能の中にそれを意識したものもあるから。

一方で、こういった話が過剰に語られることもしばしば。
過剰なものには過剰な反応が来ます。

本当は、フラットなはず。
受注でどっぷり慣れた人が自社サービスで、
四苦八苦する(可能性がある)ように、
自社サービスでどっぷり慣れた人が受注に来たら、
同じように四苦八苦する(可能性がある)でしょう。

お金の稼ぎ方が違う、つまり、
「ビジネスモデルが違えば行動が変わる」のは当然のこと。
ぼくの感覚的な推測が含まれていますが、
圧倒的に受注開発の方が多く(少なくとも日本では)、
すると当然、人の流れも「受注toサービス」の方が多いだろうと。
だから、話題にそこに集中する。
すると、時にその話題は過剰な話に聞こえてしまうこともあるし、
人によっては悪意を感じしてしまうかもしれない。

どっちが優れてるかなんてことに興味は無い。
それぞれのレイヤにフィットした考え方をできるだけ明確して、
それを実践していくこと。自社サービスに関しては、
まだその方法論的なものは確立していないから、
みんな必死に経験をまとめている最中なんだろうと。
jfluteも含めてね。

ネット上の議論というのは、とっても難しいもの。
顔が見えず、前提も一致しない同士で手紙で議論するようなもの。
フィットする現場を探す旅
そのような議論に、巻き込まれることがしばしばあります。
O/Rマッパーというのは、
とても「浮き足立ちやすい世界」でもあります。

O/Rマッパーの議論に巻き込まれないで | jfluteの日記

アーキテクチャの正解なんて、
ビジネス要件によって簡単に覆るということ

すべての現場、すべての状況でパーフェクトなツールなど存在しません。
非常に入り組んだ前提条件の中、視点をどこに置くかで答えは変わる。

そのどこかに、DBFluteがフィットする現場があるだろうと、
探してプロモーションし、その現場を増やそうと機能を追加する。
フィット感を高めるために、機能の精度を上げる。

「DBFluteがフィットする現場を探す旅」をしているだけ。
フィットする現場に、本当にしっかりフィットするために、
機能の精度を上げていっているだけ。
Java8のDBFlute
その中で、迷うことがあります。
どういう風に機能の提供しようか?インターフェースにしようか?

Java8ではインパクトのある機能がたくさん入っています。
DBFluteらしさと世の流れをどう両立させるか?

(ここで Java8 の DBFlute のデモ:
 12月の渋谷Javaでもやります)

欧米の現場へもDBFluteが届くよう準備を進めています。
Java8からはコードの見た目も良くなった。
フィットする現場を探す旅、もし、100人に一人でも、
気に入ってくれる人がいたら、10000人いたら100人も
いるってことになるから。チャレンジしてみたいなと。
DBFluteは流行らない
ずばり、DBFluteが爆発的に流行ることはないでしょう。
常に世の中のはじっこの道を歩いている。

RDB指向のAPI、DBを大切にする考え方、
DBFluteの大きな思想、これが前提になるから。
その考え方が世に浸透しないと受け入れづらい。

色々な人と話を聞けば聞くほど、
ERDを描いている現場は非常に少ない。
図がなければリレーショナルは意識できない。
図がなければリレーショナルなDB設計はしづらい。

漢のコンピュータ道さんが、ClubDB2で素晴らしい
DB設計の話をしてくれました。さらに各地で飛び回って
熱く語っているようです。素晴らしいことだなと。
一方で、あれだけ熱心にDB設計を語るということは、
逆に言うと、そうではないDB設計が世に多いということ。
色々な人に話を聞けば聞くほど、
「単なるハードディスク的な」設計を耳にします。
そしてそれは、もう変更できない状況であると。

そのような状況では、
SQLでその構造を手続き的に解決するしかないでしょう。
そういう現場で ConditionBean を使っても、
すぐに外だしSQLへ離脱するような形になるでしょう。

まあ別に、DBFluteは外だしSQLも強力ですから、
それはそれで役立つツールになるはずですが、
ここは難しい問題があります。
そのようなDBでは、そもそもDB側に問題が発生する
可能性が高いです。
トラブルが起きた時、その原因が何か?
って正確に分析されることは少ないなぁと感じています。
トラブル中はそれどころではない、
トラブルが終わったら過去のこと、
印象だけは残る「DB周りがあやしい」と。
そのとき、真っ先に槍玉にあがるのは目新しいツールです。

DBFluteがそういう立場になっている現場を聞いたことありますし、
DBFluteじゃない別のツールでそういう立場になってるのも
聞いたことがあります。「そこ関係なくない!?」みたいな。
トラブルだらけの中では「あれだけは良かった」みたいな
評価が正確に下されることは稀だろうと考えています。
エンジニアの立場として、
良かったことがあったなんて、言える立場ではない可能性も。
ネット上だけではなく現場でも、
「フラットな議論ってなかなか存在しない」わけです。

ツールの作成者は、常にそことのジレンマと戦うわけで。
本当に悪いことなら真摯に受け止めて改善し、
言われなき悪評は耐え忍ぶ。

とまあとにかく、
DBFluteを広めるためには、
そもそも、より良いDB設計を広める必要があるだろうと。
jflute自身もまだまだ。修練したことをアウトプットして、
できるだけ多くに人に伝えていけたらなと考えています。


DBFluteネイティヴの出現
DBFluteが言われ続けること、
「ConditionBeanなんて、SQL書きたくないんだろう」
「SQL書けないやつが増えるからダメだ」
これは一生言われ続けるのでしょうね。

先ほどのいたりーのセッションで、
「ConditionBeanなら書けて、SQLで書けない」
というような新人社員のエピソードがありました。

これは、O/Rマッパーというか、タイプセーフAPIに対して、
非常に否定的な人々にとって格好の餌になるネタです。

ConditionBeanには、
それを覆す秘めたる想いがあるわけですが...
何年も前から思い続けていること。

でも結局、DBFluteユーザーも今までSQLをちゃんと書いてきた人が、
効率を求めて ConditionBean を使ってるという人ばかりでした。
jflute自身だってそうです。
ConditionBeanから検索を書き始めたプログラマーなどいなかった。
だから、その想いを主張しても説得力はとても弱かったでしょう。

しかしながら、何年も経ち、そういった人たちが出てきました。
DBFluteネイティヴ、ConditionBeanネイティヴな人たち。

彼らは、確かにすぐに最初SQLをすらすら書けなかったかもしれない。
でも、すぐさま文法を覚えてすぐに書けるようになった。
そして、彼らのSQLを見ると、
「とても素直でわかりやすい綺麗なSQL」を書いていました。

いたりーもそうだし、一時限目で個人サービスを作ったみやさまもそう。
他の人も同じ。SQLのレビューもしたことがあるから、わかります。
ConditionBeanで吐き出されるSQLをひたすら読んでるからか、
書くSQLも非常に綺麗で読みやすい。
だから間違ってたとしても、レビューで指摘しやすい。

5、6年も前から、ConditionBeanを使うことで、
リレーショナルを意識した考え方、素直な検索の仕方を
自然と学ぶことができると言い続けてきました。
別に ConditionBean はそんな特別なものではありませんが、
RDBの構造でしか検索できないから、RDBを意識しないといけない。
トップダウンに検索を考えていかなければならない。
だから自然とね。

JJUGの資料に載せている「格言」がこちら。
「SQL書けるだけのエンジニアでは、
DBは守れない(モデリング力重視)」

Javaだからこそできる、ビズリーチ、攻めのDB変更
文法よりも考え方
Ruby on Railsでも同じような話があると聞きました。
最近では、どこでも似たような話があるのかもしれません。

でも、彼らはSQLの文法を知らないだけ。
別に文法は、必要になったらそのときに知ればいい。
一方で、読むのはとても慣れている。
CBがSQLを綺麗に出力するから読む習慣が付いてる。
書く機会はすぐに来る。書こうと思えばそのとき身に付く。
だから、大した問題ではないし、心配なことでもない。
逆に厳しい言い方をすれば、そのとき学べないようであれば、
それはもう技術者としてはもともとやっていけないわけで。

それよりも心配なのは、先ほど紹介したような現場、
DB設計があまりリレーショナルではないような現場、
そういった現場でいくらSQLを書き続けても、
DB設計は学べない、RDB指向な考え方は学びづらい。

文法は、何歳になっても習得するのは簡単ですが、
考え方は、年をとるとなかなか変えられない。
もちろん両方がパーフェクトなら何も文句はない。
でも、どちらか一方に偏るなら...
まずは考え方をしっかり学べる環境にいて欲しい。

別に彼らを擁護したいわけでもない。
昔から現場でDB周りをフォローイングし続けて来て、
「SQL書けます」って人のSQLを見て残念な思いを
たくさんしたきたから。

また、最近では、
DBFluteハンズオンを30人以上にやってきて、
そういったことを何度も何度も感じたから。
そこを導くのがぼくの仕事でもありますし、
jflute自身もさらに修練して、
伝えていかないといけないところだろうと。

なので遠慮なく、今では自信を持って、
ConditionBeanで検索を教えていますし、
教えていきたいと思います。

でももちろん、その前に新卒研修では、
ある程度のレベルのDB設計とSQLは学びますよ。
その後すぐに ConditionBean を学びます。
DBFluteのコンセプト
ちょっと説教くさい話になってごめんなさい。
でも、DBFluteのコンセプトを知ってるもらうことが、
DBFluteを正しく選んでもらうために、
正しく使ってもらうために、とても大切だと思って。

こんな感じのDBFluteの旅が、
また数年後どうなっているか?
楽しみにしていてください。


というようなことを
...
...
というようなことを語ってきました。
実際、こんな口調でしゃべったわけでもないし、
もっと違うこともしゃべったり、
逆にブログだけの補足と脚色(!?)があったりとしますが、
ムードは伝わったでしょうか?(^^
自分で思い出しながら文章にしていました。

最後は、ゲスト講師の方々へ、
jfluteから会場のみなさんに拍手をお願いしました。
自分一人ではここまでのイベントはできない。
本当に本当にありがとうございました。

この時間まで残ってくれた参加者の方で、記念撮影。


懇談会大盛り上がり

すっげー少人数だったらどうしよう(><、
という心配も吹き飛ぶくらい、
懇談会はたくさんの方が参加してくれました。



当日参加の方もいらっしゃるというのは、
まさしくイベントが成功したから、と言えるわけで、
とってもとってもうれしいことです。

中目黒レインボーバードランデヴーのケータリング、
エンジニアの勉強会でベジごはんが出るのは珍しい、
というか、日本でここだけじゃないかって。



ビオクラで買って来たオーガニックコーラも、
もの珍しい感じで飲んで頂きました。
ストレートのオーガニックリンゴジュースもかなり好評で。

アドリブセッション!

Eclipseショートカット当てクイズ!
これまた斬新なセッション、
jfluteが「バババ」っと素早く操作したコマンドを、
押したキーを正確に当ててもらって、
当たった方にはフェアトレードのチョコレートをプレゼント。

まあ、想像だけしてくださいませ笑


対話セッション
何か、聞きたいことある方?
って募って、ただひたすらしゃべっていきます。
O/Rマッパーとしての濃い話が出て来て、
ここに来て一気に真面目な話になりました。

そう、みんな懇談会のほろ酔い加減で、
アドリブ対話セッションってのが、またいいんですよね。
本音な質問や本音な回答、本当にしょーもない話ができるので、
ぼくはこれが毎年楽しい。

最後の最後まで

エレベーターに乗る最後の最後まで、
みなさん大盛り上がりでした。
最後の立ち話でまた技術話が盛り上がる瞬間。
ちょっと予定をオーバーしてしまいましたが、まあ良しw

多くの人が来られていました。
本当にご挨拶したかったのになかなか時間とれずに
挨拶できなかった方々がたくさんいらっしゃいました。
ぜひまた別の機会にお会いできたらと思います。

ご参加、ありがとうございました。
本当に本当に嬉しいです。

DBFluteフェス2014の資料一覧 | connpass

スタッフに感謝感激雨あられ

その後、スタッフで片付け。
ちょっとだけ残ったお菓子とお酒でねぎらいました。
ビズリーチの新卒&若者たちには本当に感謝感謝。

「楽しかった」

みんなが、そう言ってくれたのが印象的です。
そして、本当にそんな気分で座談。
その日の一つ一つの出来事を楽しそうに振り返ってました。

キャスト...じゃなくて「スタッフ」が楽しんでるからこそ、
ゲスト...じゃなくて「参加者」が楽しめる。

だからこそ、
「彼らにこそ楽しんでもらいたい」
という想いがありました。

その甲斐あってか、
Twitterでは、
「フェスおもしろかった!」
「一年で一番楽しかった!」
なんてツイートも(^^。
DBFluteフェス2014のまとめ | Togetter

キャストもゲストも、
思い出に残る良いイベントになるといいな。

また、当日手伝いに来てくれたビズリーチの面々、
レイハウオリのメンバー、Luxaのメンバー、本当にありがとう。
こんなに多くの人が手伝いに来てくれたってのが本当に嬉しい。

そして、当日は来れなかったけど、
前日の買い出しを手伝ってくれた方、
エールをくれた方々、本当に本当にありがとう。

ちなみに、連休の初日ってやっぱり用事があるもんだね、
って思い知らされましたが、それでこれだけの人が参加して
くれたってのは、今でも信じられません。

会場提供、ウォーター感謝

そして、いつも素敵な会場を貸してくれる竹内さん、
本当にありがとう。
超絶多忙な中にも関わらず毎年顔出してくれて、
そして、ビズリーチウォーターの参加者へ提供、
本当にありがとうございます。

ちょうど、会場Bが予想外の日光でめっちゃ暑くなって、
参加者に暑さを我慢してもらうしかないって状況、
ばっちしのタイミングでの気遣いに脱帽です。
助かりました。

この会場があるからこそ、
最高のDBFluteフェスが演出できるわけで。
あまり面と向かって言う機会が少ないですが、
本当に感謝しています。

おしまい

DBFluteフェス2014のjfluteの集中力ソングは、
Billy Joel の「The Entertainer」

I'm the entertainer
And I know just where I stand...♪

そんな気持ちで、ガーデンに入りました。

ブログに書いたこと以外の奇跡がたくさん起きました。
「奇跡のDBFluteフェス2014」が終わりました。

...
...

では、最後においしいところ持っていってください。
司会のライトくんです。