このサイトは ie6 ie7 ie8 ではみられません。

2012-01-31
category: Ruby
P4D(デザイナー向けプログラム部)第4回へ行ってきた

2012年1月29日に開催された、@satococoaさんが主催するP4Dの第4回へ行ってきました。

第4回 P4D

写真は@satococoaさんのブログからお借りしました。開始時間前の写真だそうです。
KDDIウェブコミュニケーションズさんの開発者支援制度 - CloudCore VPSの制度を利用して借りた立派な会場で、写真には写ってないですが後ろにはソファスペースもありましたよ。

イベントの趣旨

イベントの趣旨はプログラムを覚えたいデザイナに、プログラマが開発環境の整備をお手伝いしたり、解らないこと聴きたいことなど持ち寄ったデザイナに実際に手を動かしながらプログラムを教えるといった感じのものです。

この「プログラムを覚えたいデザイナ向けのイベント」、実際に自分がそうだったのですが、自分の専門としている分野とは毛色の違う知識を得ようとするのはなかなかにエネルギーを必要とするので、そのきっかけ作りや最初の一歩を手助けしようという趣旨、本当に素晴らしいですよね。

教わりたかった事

さて、普段僕はデザイナとして活動していますので、もちろんデザイナ枠での参加です。そして、今回僕が教えて欲しいと持ち寄ったお題は「SQL/ActiveRecordで出来る事を知りたい」でした。

何でこのお題になったかというと、この自分のブログをpadrinoで作ったときにActiveRecordを使用してDBからデータを取得しているのですが、実際に使っておきながらDBから戻ってきているデータの状態がイマイチ解っていないし、取得時の条件の種類も不明でした。※SQLの事をなにも知らないって事ですね…

最終的にはなんとか最低限のブログとしての体裁は保っているものの、おかしな動作をしてしまっていた部分もあるし、とっても危うい状態なのは自分でも感じていたので、ここらでSQL/ActiveRecordの基礎的な部分を学んでおきたいなと思っていました。

もちろん「自分で勉強して覚えればいいじゃん」って事ではあるのですが、一人だとどうしても後回しになっちゃうし、壁にぶつかったときに早い段階で諦めてしまうんですよね。
その点、決まった時間内で集中的に詳しい方とコミュニケーションをとりながら勉強できると、頭にも残りやすいし、中心の話題から派生した内容が応用力を付けてくれたりと良い事が凄く多いと思っています。

教わった事

さて、今回のこのお題についてですが、当日は@ikmさんにとても丁寧かつじっくりと教えていただくことができました。教えていただきながら何度も実際に言っていたのですが、いろいろとSQLでモヤモヤとしていた部分が「すっきり」「クリア」になって気持ちがよかったです。直接質問しながら教えていただけるメリットですよね。とても丁寧に教えていただいた@ikmさんに感謝、感謝です。

進め方は、テキスト上でpeopleテーブルを作成して、そこに対してActiveRecordで問い合わせる方法、SQL文で問い合わせる方法のコードを別に書き、さらに結果の戻り値を書くという方法でした。この方法だと、それぞれの問い合わせ文の違いと類似性がくっきりと見えてくるのでとても解りやすかったですし、戻り値もあるので結果も明快でした。

あと、リレーションについての考え方も教えていただけました。今後、DBで関係を作る時の指針にできそうで良かったです。僕が作ろうとするレベルの構造ならば十分カバーできるんじゃないかと思います。

教えていただいた内容はこちらから見ることができます。

テキストは以下のような感じで構成されています。
=====
Title: SELECT系SQLでできることとかActiveRecordでできること
・サンプルDBの値
・ActiveRecordでの問い合わせ
・SQL文での問い合わせ
・戻り値
=====
※前半はテーブル名peopleをサンプルに進んでいますが、途中から僕が具体的にブログのDBを参考に話をしてしまったので、サンプルがpostsに変化しています。

今回のP4D参加のおかげで謎だったSQL部分が随分とスッキリして、基礎的で単純な呼び出しであれば自分でも十分に可能な気がしてきました。ありがとうございました!

さっそく家に帰ってから自分のブログのコードを確認してみると、無駄なSQLが結構発行されていて、「ああ、やっぱり」な感じでした。今回教えていただいた事で無駄なSQLの発行は抑えられそうで良かったです。

おわり

他の方達が教わった「第4回P4D」の内容はこちらから見られます。第4回 - GitHub

あとは、毎回教えていただいてばかりでは申し訳ないので、僕が提供できる範囲でのデザイン的な事でお返しをしなければいけませんよね。

そして、次回を2012/2/26(日)に開催予定だそうです。
プログラムを覚えたいと思っていても、なかなかその一歩を踏み出せないデザイナさんや、やってはみているものの、見えない壁にぶち当たって前に進めない状態のデザイナさんにはとてもピッタリだと思いますよ。

まだ第5回の募集自体は開始していないようですが、後々こちらに告知されると思います。