RubyフレームワークのSinatra の作者である Blake Mizerany 氏のインタビュー記事を見つけたので、翻訳してみました。タイトルは "How do I learn and master Sinatra?" 直訳すれば「Sinatra をマスターする勉強方法」です。
今回はRL blog 連載"Sinatraをマスターする方法" の最終回です。この連載は、有名なSinatra開発者の方々にRubyビギナーがどのように Sinatra を学習していけばよいかをインタビューします。
Satish>> Blake Mizerany, 自己紹介していただけますか? あなたのバックグラウンドに関して。
Blake>> 私は Heroku のマッドサイエンティストの一人です。Sinatra プロジェクトを2007年の9月に始めました。使えなかったり、使えそうなものが出来上がったりしました。Ruby, Erlang 時々 C で書きました。
Satish>> Sinatra を学び始める前に知っておいた方が良い事柄はありますか?
Blake>> 大きいフレームワークがあなたに教えたものを捨てるように用意してください、そして、それらがあなたから隠すものを学ぶように用意してください。難しいことじゃないよね。
Satish>> Ruby on Rails を学ぶ前に Sinatra を学ぶべきなのですか?何故?
Blake>> 絶対にそうだね。まず始めに大きなフレームワークを学ぶとき、君はアイディア、制限、そして魔法の過多に取り入れられてしまう。一番ひどいのは、ひとつのパターンに当てはめて考えてしまうこと。Rails の場合では、それはMVCです。 MVC は始めからほとんどのウェブアプリケーションに全く合いません。これから学び始めるのは苦行です。決してこれから始めないでください。100万円のゴルフクラブセットを買ったから、ゴルフで勝てるとは限らない。;)
Satish>> Sinatraのどんな特徴が素晴らしいとお考えですか?
Blake>> Sinatra の素晴らしい所は
1. コミュニティ。私はメーリングリスト、IRCで沢山の素晴らしい人たちに出会いました。彼らと一緒に今Herokuで働いてます。
彼らはいつも手助けをしてくれる。彼らはいつでもひょいと現れるんだ。
2. halt と pass READMEを見てね :)
3. Sinatra::Base
Satish>> どのようにSinatraの勉強を始めるべきでしょうか?
Blake>> READMEを読んで。 始めるのに必要な全てのものはREADMEに書いてあるよ。そして、Herokuを使ってdeployする。その後にRackを学んで、Rackがどのように動くのかを理解する。基本的なアプリケーションをRackで書いてみて。そして,ミドルウェアのシンプルで小さいコードを書いてみて。
Satish>> Sinatraを学ぶ初心者が注意すべきところは??
Blake>> これは CRUD に君を巻き込む MVC フレームワークではないんだ。彼らのようなMVCフレームワークが必要な方法を採らないでほしい。あなたはSinatraをMVCフレームワークのように使うことが出来ます。しかし、MVCといった抽象概念が必要になるまで、Sinatraをシンプルに使っていくことが良いでしょう。
Satish>> Sinatraのオフィシャルドキュメントで初心者は十分学べますか?追加や修正が必要な部分はないですか?
Blake>> はい。十分です。あのREADMEは素晴らしいね。
Satish>> Sequel, DataMapper, ActiveRecord の中でSinatraと一緒に使うならばどれがお勧めですか?その理由は?
Blake>> どれでも。今はあまりないけど、SQLデータベースを使うときは、Sequelを使うね。なぜならメモリに負担がかからないし、あとは、依存性かな(http://github.com/rtomayko/sinatra-sequel/tree/master 参照) CRUD的なことをするときはActiveRecord を使う。この場合、ActiveRecord は素晴らしいね。
Satish>> Sinatraを学ぶとき、Rackの理解は重要ですか?何故?Rackのどの部分が重要要ですか?
Blake>> Sinatraを学ぶのにRackの理解は必要でないでしょう。Sinatra以上のことをやろうとするなら、必要でしょう。RackはSinatraの基礎です。
Satish>> Sinatraを使用する際、スキルを磨くときにどうすべきですか?
Blake>> ソースコードを読んでください。行数は1200行にも満たないです。沢山の人々の貢献のおかげで、ソースコードはとても素晴らしい例だよ。小さく、綺麗で、素敵なRubyコードの例が詰まっています。
Satish>> Sinatraのスキルを磨くために、初心者はどんな種類のプロジェクトに参加すべきですか?
Blake>> JSON のweb サービスを開発するといいよ。他にも小さなblogシステム、url短縮サービスなんていいと思う。これらのどんなものでも君は試してみることになるだろう。そして、君はSinatragの速さの秘密がわかるでしょう。
ありがとうBlake 疑問・質問がある場合は、blogのコメントにポストして下さい。Blakeが喜んでお答えします。
元の記事はこちらです。
http://rubylearning.com/blog/2009/08/11/blake-mizerany-how-do-i-learn-and-master-sinatra/