2013年4月24日水曜日

SQLアンチパターン読書会 「ジェイウォーク」 に参加してきました #sqlap

SQLアンチパターン読書会 「ジェイウォーク」
http://sqlap.doorkeeper.jp/events/3416

はじめに

SQLアンチパターンの読書会が開催されるとのことでしたので、申し込みました。
自分が経験していなかった話を聴いたり、逆に自分が経験したパターンについて他の人がどういう対処をしてきたのか知りたいと思ったのがきっかけです。

ジェイウォーク



読書会とは言うものの読んでくる前提でしたので、ディスカッションが主な内容でした。

ジェイウォークに陥る要因として上げられたのが、以下の通りでした。
  • そもそも、交差テーブルを作るということを知らない。
  • テーブルを追加するには、いろいろと手続きが必要。
一対多から多対多へ変更が生じた場合は、キーとなる属性同士で関連付けるので、ジェイウォークのようにしてしまうと、検索時にインデックスを利用しないため、遅くなりがちです。
なので、そういう匂いを感じたら、交差テーブルを導入するのが正しいということを知りました。


解決策の交差テーブルを導入するのが望ましいのですが、既にジェイウォークになっていた場合は、どのように解決したら良いかという疑問については、@t_wadaさんがデータベース・リファクタリングの本を用いて解説したくださいました。
トリガーを用いて新しい交差テーブルへデータを同期して、アプリケーション側で経過措置を講じ、最終的に交差テーブルを利用するように変更するといった内容でした。
DB周りについて体系的に学習したことがなかったので、こういった対応が出来るということ自体知りませんでした。
また、交差テーブルについても、関連付けられた日付などキー以外の項目が必要になってきたりして単なる交差テーブルからエンティティへ変化してしまうこともあるので、テーブルを設計するのはやはり難しいと感じました。

おわりに

今以下のジェイウォークは、本の始めの方にあるので容易に感じてしまいそうですが、解決策の先がまだあり奥深いものだと実感しました。
また、@t_wadaさんにSQLに関して参考になる書籍を教えていただいたので、一つづつ取り寄せて見たいと思います。
次回は、ナイーブツリーということで、自分の経験した内容でもあるので、楽しみです。

主催の@natsu_nananaさん、参加者の皆様、会場を提供してくださった株式会社アルティネット様ありがとうございました。
次回もまたよろしくお願いします。

2013年4月16日火曜日

『JUnit実践入門』写経・実践会 in 横浜 #5 に参加してきました #junitbook

『JUnit実践入門』写経・実践会 in 横浜 #5
http://connpass.com/event/1962/

2013/04/14 『JUnit実践入門』写経・実践会 in 横浜 #5 #junitbook
http://togetter.com/li/465948

はじめに

前回の写経・実践会のレポートはこちら→『JUnit実践入門』写経・実践会 in 横浜 #4 に参加してきました #junitbook

今回は、振舞駆動開発についての回でした。

外からみた振る舞いに着目して開発を進めるというのは、現状のプロジェクトと利用しているフレームワークを鑑みると難しいと感じています。
プロトタイプやモックアップを上手く利用して受け入れ条件に一致するものを作り上げていくのは、チーム、個人のスキルセットに依存していくのかなとも思いました。
受け入れ条件を顧客と話し合って決めていくのも丸投げが多い現状では難しく、開発者の視点が占めてしまって、本当に顧客が欲しかったものとはズレてしまいがちになってしまうのも当然なのかなと思います。

こういったプロセスを取って実際に開発されている方の話しを聞く機会があればいいなと思いました。

Spock! Spock!

実践では、Spockを初めて使われる方々のサポートをしていました。
皆さんIntelliJ IDEAを使っていらっしゃったので、Gradleのインストール、build.gradleのファイル作成からideaプロジェクトの生成までをしてもらって、始めて頂きました。
お題は、以前にも紹介した、@pocketberserkerさんの「TDD 序破Qの世界へようこそ!」です。
個人的には、Javaのプロダクトコードに対してSpockで書いていくには最適な教科書だと思います。



写経が始まって手伝う機会が減ったので、自分もSpockを触っていました。

今回は途中までやっていたLTSVのお題を2枚目までやってみました。

LTでも、Spockの発表にかこつけてGradleの布教活動してました。

おわりに


今回印象に残ったのは、Jnarioでした。
簡単なシナリオを書いてみて体験してみたいと思います。

次回は、コードカバレッジと継続的テストということで、Gradleでjacocoを使う方法、drone.ioとGitHubまたはBitbucketを連携するのを紹介してみたいと思います。

主催の@shinyaa31さん、参加者の皆様、横浜タネマキさんありがとうございました。
次回もまたよろしくお願いします。

2013年4月7日日曜日

アジャイルサムライ読書会 横浜道場 「アジャイルな意思疎通の作戦」 に参加してきました #agilesamurai #横浜道場

アジャイルサムライ読書会 横浜道場 「アジャイルな意思疎通の作戦」
http://yokohama-dojo.doorkeeper.jp/events/3267

はじめに

今回は、久しぶりの通常回です。
イテレーションの運営に入ってきており、実践している方がチームにいらっしゃらない場合のことも考えていかないといけないのかなと思います。

ディスカッション


イテレーション計画ミーティングとストーリー計画ミーティングの違いについて疑問が始めの方に出て来ました。
それぞれのミーティングでやることが似ている部分があったりして、どのように違いを付けて行なっているのか気になったりしました。
その後の方に、チームの合意が取れれば一緒にやっているという話も出てきていたので、実践している方は分けているとしたらどう区別をつけているのか、一緒にやっている場合でもどのようにしてやっているのか疑問に思いました。
ミニ振り返りもあまり時間をかけずにするということがあったのですが、長くなりがちな振り返りをどのようにしたら短く出来るのかいい方法があれば、実践してみたいなと思います。

朝会の話についても、マンネリ化したり形骸化したりするパターンがあったりして、どのように改善していければいいのかといったこともまとめの発表で出て来ました。
今日一日に対するコミットメントを発表するだけでもその人の一日の目的がはっきりするので、完了したかどうか個人で見直せることが出来ればある程度目的に沿っているのではないかと感じました。
その習慣が良い結果をチームにもたらしているのであれば、続けるか続けないかはチームの合意が取れればいいですし、何も生み出さすただの時間潰しであれば、別のことに時間を割り当てるべきかなと思います。

おわりに

まとめの発表でタイムボックスがキッチリし始めたので、そろそろ古参の人たちが率先してまとめの発表の計画をしっかり立てていく段取りをしなければならないのかなと思いました。
次回はまた特別編ですが既に予約が一杯の模様です。

参加者の皆様、横浜道場のスタッフの皆様、会場を提供してくださった株式会社アットウェア様ありがとうございました。
次回もまたよろしくお願いします。

2013年4月4日木曜日

横浜道場 特別編「Domain-Specific Language としての魔法少女まどか☆マギカ入門」 に参加してきました #agilesamurai #横浜道場

横浜道場 特別編「Domain-Specific Language としての魔法少女まどか☆マギカ入門」
http://yokohama-dojo.doorkeeper.jp/events/2912

2013/03/19(#agilesamurai)横浜道場 特別編「Domain-Specific Language としての魔法少女まどか☆マギカ入門」
http://togetter.com/li/474247

はじめに

今回は、告知された際にいろいろな箇所で話題になっていたおかげか、初めて横浜道場に参加された方が多かった気がします。

砲火後ティータイム



Domain-Specific Language、略してDSLは、特定の領域にのみ通じる言語ということで、今回は「まどか☆マギカ」を題材にした内容でした。
全話視聴済みの方がほとんどだったので、ドメインの共通知識は持っているということが確認できました。
私達のグループには全く知らない方がいらっしゃったので、キャラクターの概要やイメージから連想してもらったりしてもらいました。
個人的には、「杏子」派だったのですが、「ほむら」の生き様が開発者によく似ているというお話を聞いて、納得いくようなこともありました。

特に印象的だったのが、リーンスタートアップで有名な言葉も「ほむほむ」という単語で置き換えが出来るということでした。

同じドメインにいても考え方が違っていたり、見え方が違っていたというのも、興味深かったです。

おわりに

今回の開催のいきさつを聴いたり、懇親会での状況を見て、道場主巻き込み力の凄さを感じました。

講師の@hageyahhooさん、横浜道場のスタッフの皆様、参加者の皆様、会場を提供してくださった株式会社アットウェア様ありがとうございました。
次回の通常回もよろしくお願いします。