Hatena::ブログ(Diary)

moroの日記 このページをアンテナに追加 RSSフィード

2013-02-05

SQLアンチパターン -- 苦い経験を思い出させる良書

献本いただきました。ありがとうございます。

本書は、データベース設計や、そのDBアプリケーションから利用する際によく見られるアンチパターンを、簡潔かついきいきとまとめた書籍です。もちろん、単なる「べからず集」ではありません。そのアンチパターンの背景である現実の問題の説明と、アンチパターンを回避した解法もしっかり紹介されています。さらに、それでもアンチパターン採用する場合のメリットデメリットもしっかり提示されています。

特に気に入ったところとして、2013年書籍(原著2010年)にふさわしく、ORMの存在をしっかり意識した内容になっている点が印象的でした。たとえば、全テーブルにサロゲートキーを貼る(IDリクワイアド: とりあえずID)のアンチパターンも、避けるべきではあるが、ORMの規約であればしたがってよいと紹介するなど、

全体として現場寄り、実践的なノウハウの紹介になっています。

いっぱんに、データベーススキーマデータアクセス部分は、アプリケーションの中でも『長生き』する箇所です。それだけに、ある程度以上の経験があるプログラマであれば、紹介されているアンチパターンに悩んだ経験があるはずです。ベテランにはそういった経験のまとめとして、若い人たちは予防の知識として、ぜひおすすめしたい一冊です。

なお、パターン名が英語そのままカタカナ表記であるのは、目次を見ただけではビックリするポイントですね。ただ、チーム内で相談するときなどに目立つ名前が付いているのはむしろありがたいですし、何よりなんかカッコよくておもしろかったです!

SQLアンチパターン

SQLアンチパターン

2012-10-13

オブラブ収穫祭で発表してきました

オブラブイベントオブラブ収穫祭」で新人教育のトピックを話す機会があったので、ここ一年ほど一緒に仕事している(もうそんなになるんだなぁ) id:akiinyoの事例を中心に「仕事をするにあたって若手に伝えたいこと」を話してきました。

これまでいろんな方々と一緒にお仕事をさせていただきながら、仕事をきちんと終わらせる大事さというのを日々かんじているので、それを話す機会があってよかったです。コレは別に真面目くさってやれということではなく、スライド中にもあるように自分の特長を発揮していく時の基盤として、若い人達の役に立てばいいなあと思っております。

今日は、私がソリッドに実感できることを話すために「受託開発」スコープで話したんですけれど、自社サービスに取り組んでいるみなさんも"お客様"をプロダクトオーナーや企画の人やその他ビジネスを見ている人に読み替えて、なにか役立つものを持ち帰っていただけたら何より嬉しく思います。

参加者の皆さんや他の講演者の皆さん、スタッフをやってくれた永和の同僚たちにとてもとても感謝いたします。

2012-09-24

attr_hash_accessorというのを作った

Plain Old Ruby Objectなんだけど、まあActiveModelぽく振舞わせたくて、そうするとよくあるHashでnewしたくなり、eachしてsend("#{key}=", v)するという、Railsを使っている人ならよくあるケースにもう何度も遭遇しまくったのでgemにまとめました。

https://github.com/moro/attr_hash_accessor

プロジェクトでのアリモノを、別の某プロジェクトの人に渡すために作ったのでまだ自分が満足する程度の機能しかありませんが、よろしければお試しください。

2012-09-18

札幌Ruby会議2012に参加して、友情出演とTDDネタで発表してきました

札幌Ruby会議は、約一年ぶりに記事を書くのにふさわしいビッグトピックですね :-)

9/14..9/16に行われた札幌Ruby会議に参加しました。おかげさまで発表の機会もいただけたのでいくつか発表してきました。

まずは2日めの友情出演枠で、Rails3の闇レシピを紹介しています。ちょっと話題が複雑だったので分かり辛かった方も入るかと思いますが、もう少ししたらgemにしますのでよろしければどうぞ。

3日めは自分の発表でTDDについて発表してきました。

書籍インターネット上にTDDのトピックがたくさんあって、いろんなテクニックが紹介されていますが、私の見た範囲では「なにを考えながらTDDをしているか」についてはあまり触れられていないように見えたので、それをできるだけ丁寧に説明できないかと思ってのセッションでした。

Railsが出始めの頃のチュートリアル記事に対して「『まずこのテーブルがあります』、じゃねーよ。何でそういうスキーマにしたんだよ」とid:habuakihiroさんがおっしゃってたのを覚えています。それの私にとってのTDD版ということでこういう観点もあったらよいのかな、と思った次第です(「まずこういうテストがあって、境界値なんかを列挙します。これをグリーンにします」)。そういう話題をふられたときはイマでもTDD by exampleを紹介しているので、もう少し若きRubyistに距離の近い話があればいいなーと思います。GOOSはいま読んでいます。

自分の発表もさることながら、他の方々の発表や、運営スタッフの皆さん、会場で同席したりすれ違ったり乾杯した参加者の皆さんみんながとてもniceで、楽しいKaigiでした。ご飯もおいしかったし! 舟盛りも作戦どおりに倒せたし!! 夜間休日にあまり外出できなくなって疎遠だった知己にたくさん会えてお話できて、ほんと楽しかった。

みなさまありがとうございました。

またきょうから現実に戻ってきたので、次のKaigiの発表応募ネタを考えながらコードを書いていきたいと思います。また会いましょう!

2011-11-04

【宣伝】Rails3レシピブックのPDF版セール、本日11/05までです

すでにご存じの方も多いと思いますが(お買い上げいただいた方も多いと思います!! ありがとうございます!!)、Rails3レシピブックのPDF版が発売されています。発売記念セールということで、本日11/05まで1,800円でご購入いただけます。ふだんは2,800円なので、気になっている方はこの機会にぜひどうぞ。

f:id:moro:20111105014532j:image

http://bookpub.jp/books/bp/198

Twitterなどでも何度か宣伝いたしましたが、実際に手元にちゃんと検索できるPDFがあるのはとても便利です。Macを使っているおかげでPDFの取り回しが楽なこともあり、なにか調べたいことがあればすぐ検索できるのがいいです。おもむろにメソッド名とかオプション名のSymbol(:partialとか)で検索してちゃんと出るのは便利ですね。

同僚や後輩から質問された時も、とりあえずPDF版を検索して、出てきたページを紙の本で示しながら説明できたりしていい具合です。

ものすごい宣伝エントリではありますが、実際に自分自身も役立てていますので自信を持っておすすめします。前著183の技のほうも好評でしたが、こちらの190の技のほうでも、紙・PDFともに皆様の開発のお役に立てれば幸いです。

繰り返しますが、11/05いっぱいは1,800円で購入できますので、検討中の方はぜひどうぞよろしくおねがいします。