僕は発展途上技術者

続・僕が Ruby on Rails を絶賛する理由

» 僕が Ruby on Rails を絶賛する理由 : 僕は発展途上技術者


にいくつかコメントをいただき、


» Ruby on Rails を導入して成功するには - yuum3のお仕事日記


でも反応をいただきました。


現在の時点で Ruby on Rails を導入し成功するには、


以下のような「文化」を持っている必要があると思います。


* 進んで技術を勉強する。

* 英文のドキュメントでも読む。

* (判らない部分は、)ソースコードを読む。

* 自分の習得したのものを公開/共有する (Blog、Wiki)。

* コミニュティに積極的に参加する。

* プログラミングを愛している。


「英文のドキュメントでも読む」は、確かにそうで、いまのところある程度つっこんだことを調べようとすると日本語の情報がほとんどないと言えます。英語の情報はその代わり非常に良質なものが充実しているので、ネットの最新情報を探すときはそうしていますが、とくに RoR に関して調べ物をするとき、僕ははじめから google.com の方で検索してしまいます。あるいは http://www.railsbrain.com/ からダウンロードした補完機能付き API ドキュメントをまっさきにあたったほうが早いです。


また、yuum3 さんの日記に挙げてあるスライドで触れられているのですが、Rails は本番環境へのデプロイが結構やっかい、というのが注意すべき点だと思います。開発の早い段階で、デプロイを試みて、直面する問題をあらかじめかたづけてから本格的に開発するようにした方が安全。と思ってたら、さすが「Rails によるアジャイル Web アプリケーション開発 第2版」のデプロイの章で、ちゃんとそのようにアドバイスされていました。


あと、僕のスタンスとして、「ある意味動けばOKというスタンス」と書いたのですが、はてなブックマークコメントでつっこみを入れられていました。確かにこのまま読めばちょっと乱暴に聞こえてしまいますね。


実装がものすごい綺麗、セキュリティもものすごい完璧、負荷対策もばっちり、でもちっとも使えないアプリを作ってしまう前に、まずは動かしてみて、そのアプリが使えるかどうか、これから手をたくさん入れるに十分なものなのかを見極めたほうがいいというのが僕の言いたかったことです。


ことあるごとに RoR とともに絶賛している Getting Real の以下の章が僕に刷り込まれているのだと思います。


It's a Problem When It's a Problem


Don't waste time on problems you don't have yet


Do you really need to worry about scaling to 100,000 users today if it will take you two years to get there?


Do you really have to hire eight programmers if you only need three today?


Do you really need 12 top-of-the-line servers now if you can run on two for a year?


僕が Ruby on Rails を絶賛する理由

» GOGA - doodle開発記: Ruby on Railsをめぐる二つの見解


を受けてのエントリー。


人の価値観とか何が誰にとってぴったり合うかなんてことはケースバイケース。「この映画がすごくいいよ」とか「この本絶対面白いから、読んでみて」と人に薦めたって、「絶対」なんてことはありえないというのが僕のスタンスです。だから自分の価値観を人に押し付ける人を見ると「何言ってんだか」と思ってしまう。


でも、自分と境遇が似ていたり、他の面での趣味趣向が同じ場合には、薦めたもの薦められたものが一致する可能性はかなり高い。だから、自分の好きなブログを読んでいて、そこで薦められていた本を手に取ってみたらばっちりはまることが多いのである。


で、Ruby on Rails の話に戻るのだが、



ちょうどMAの輪でも前日の呑み会でRails入門開催決定なるほどの盛り上がりをみせ、ついにジュンヤさんが本当にRoR解説サイトまで作ってしまったり、Skypeでの講義まで始まっているようなのだが、かつて私がPerl/CGIからPHPに移行したときのような凄まじい生産性の向上と魅力的な感動がRoRにはあるのか尋ねたところ、彼は「それ以上だ」と答えた。


とある通り、最近会う人会う人に「Ruby on Rails いいよ!」と薦めてきたのだけれど、多少考えなしで、自分が「自分の価値観を人に押し付ける人」になっていたんではないかと思ってしまった。


人にものをすすめるときには、ちゃんと自分の場合にはこうこう、こういう理由でぴったりはまったんだけれど、あなたの場合にはわからないが、僕の考えと多少共感する部分があるのなら、ぴったりとあう可能性は高いですよ、ということをある程度伝えながら薦めたほうがいいなと思うのでした。


僕が Ruby on Rails と出会ったのは、まだ Web プログラミングを本格的に始めて約一年経ったときでした。PHP 歴一年だったのですが、別段 PHP を使いこなしているほどってわけでもなく、PEAR のライブラリはあまり使ったことがなく、フレームワークもほとんど触ったことがありませんでした。


なので、言ってみたら、失うものがほとんどない状態だったのです。


自分のスタイルというのが確立されていなかったので、変数の名前だとか共通で使う関数はどこに置くのかといったことを型どおりにはめてくれる RoR は非常に都合がよかったのです。


また、SQL を書かずに DB にアクセスできる ActiveRecord やページネーションがわずか数行で書けるといったところに魅せられました。PEAR ライブラリを駆使すれば、PHP でも同等のことができるのかもしれないのですが、当時そういう知識がほとんどありませんでした。


デフォルトでそういった便利機能が使えるというところも気に入りました。migration やテスト機能は、すでに PHP で独自にそうした機能を実装してしまった PHP ハッカーの方々には RoR のそれは別段魅力的には見えないのかもしれませんが、インストールした先からいきなり使えてしまうというのは僕にはとても便利だったのです。


僕は自分は文系プログラマーなんじゃないかということを最近思い始めました。ものがどういう風に動いているかということには正直あまり興味がないのです。ある程度ブラックボックスで考えて、これとこれをこう組み合わせたら、自分の望む機能が実現できて、つかってくれる人が「おおこれは便利!」と喜んでくれそう、という思考を持つのです。


だから、


Screencasts of Ruby on Rails


の Creating a weblog in 15 minutes (15分でBlogアプリを作ってしまう) の動画をみたとき、これはもうまさに僕の欲しかったものだ、と思ったものでした。


実際に僕がやった場合には、まあその10倍かかったとしても、150分で頭の中にあるアイデアをこんなに素早く形にできたら最高だ、と考えたのです。


まとめると、僕のように


1. PHP で築いた資産があんまりないよという方

2. 自分でフレームワークとか作っちゃう、あるいは、世の中で使われているライブラリなんか使えない、自分でそれよりも効率よいものを作ってしまうぜ、というハードコアなエンジニアでない方

3. ある意味動けばOKというスタンスで自分のアイデアを素早く形にしたいという方


には断然 Ruby on Rails がおすすめです。


あと、RoR をすすめるとき、セットで「RailsによるアジャイルWebアプリケーション開発」を教科書として薦めておきます。


この本がなかったら、Rails もここまで広まらなかったんじゃないかと言えるほどの最高の良書だと思っています。


最近、第2版が出版されたのですが、まわりの Rails エンジニアで第1版を持っていたんだけれど第2版も買ってしまったと言う人を何人も知っています。僕もたまらず買ってしまいました。


dscn0855.jpg


実際には内容がかなり書き換えられて良くなっているというのはあるのですが、版が新しくなったから買った本なんて初めてです。



RailsによるアジャイルWebアプリケーション開発 第2版



Dave Thomas David Heinemeier Hansson Leon Breedt Mike Clark Andreas Schwarz James Duncan Davidson Justin Gehtland 前田 修吾
オーム社 (2007/10/26)
売り上げランキング: 2372


おすすめ度の平均: 5.0

5 1日に少しの時間で成果が分かる1冊
5 Ruby on Rails 入門の決定版!






SaaS World 2007 に集結

来週の水曜・木曜(11/28・29)に開催される SaaS World 2007 にて、リクルートが出展するMashup Award のブースで、受賞作品をデモすることになりました。


» 音声認識でハンズフリーレストラン検索 「声探」


or/and


» しゃべって覚える単語学習サイト「英声(ええこえ)」


をデモします。


音声認識の部分はどうやっているのか、よく聞かれることなので、そのあたりの秘密(ってほどでもないのですが)も披露できればと思っています。


Mashup Award 3rd で最優秀賞を受賞した ONGMAP.COM の yuki さんのブログで他の参加者が紹介されています。


» blog@ongmap.com » SaaS Worldに集結しませんか?

» blog@ongmap.com » SaaS Wolrd続報


マッシュアップサイト開発者ならだれでもデモを行う側として参加できるようです。


» SaaS Worldでマッシュアップをアピールしませんか? : お知らせ一覧 : MASHUPEDIA - マッシュペディア - : Web API x Mashup


より参加表明できます。


つくるぶガイドブログ: Rails で楽々ソーシャルブックマークの仕組みを作る

» つくるぶガイドブログ: Rails で楽々ソーシャルブックマークの仕組みを作る


を書き終えました。



今回は以下のような流れで基礎となるソーシャルブックマークの仕組みを作っていきます。


1. モデルの作成

2. フォームのエラー処理

3. ブックマーク作成の処理を整える

4. データが空のときの画面デザイン


毎回長文になってしまうのですが、それでも結構はしょって書かざるをえません。


もしわかりにくい部分があれば、つくるぶのブログの方に遠慮なくコメント or トラックバックをいただければと思います。


BlogNation Japan Launch Party に行ってきて、決意したこと

7ns.jp の yuki さんに誘われ、blognation Japan の Launch Party に行ってきました。


blognation は元 TechCrunch の人が立ち上げたブログメディア。ユニークな点は、各国に特派員がいて、それぞれの国の最新テック事情を伝えていくというところ。Japan は Launch したばかりということで、これから日本のニュースを英語で伝えていくようだ。


以前、ウノウ時代に似たようなコンセプトで jspy.us というブログを立ち上げたのだけれど、残念ながら半年ほどでサービスを終了した。コンセプト自体は面白いと思ってはじめたものだったので、blognation Japan にはぜひ期待したい。


パーティは、日本人が半分、外国人が半分ほど。yuki さんが Mashup Award で最優秀賞に輝いた ongmap.com をデモしていたのだけれど、ちゃんと英語版が用意されていてさすが。


パーティであまり話せなかったんだけれど、参加していた Serkan Toto さんの Web 2.0 Expo に関するレポートを読んで、うちのめされました。Web 2.0 Expo、僕も15日に展示を見ましたが、VERY low level of internationalization という言葉はまさにその通り。パンフレット、スライド、そして説明に立つガイドも、海外から展示会を見に来る方々をまったく意識していないと言わんばかりで、ほとんどすべての情報が日本語のみ。


あとで行く」など、いままで自分が作ったサービスを、まずは英語版をちゃんと用意しないと、と決意するのでした。


MAの輪のみ会と Rails 入門 on Skype

MA(Mashup Award)の輪、


ONGMAP.COMのyukiさん

出張JAWSの黒田さん

バスでお出かけMAPセールスガジェッツみんなの水遊びMAPのCALTA Projectさん

authrのuchiyama2000さん

doodle(ドゥードゥル)の株式会社ゴーガ(GOGA, Inc.)諏訪研究所さん

フォト蔵 for Skypeののどぐろさん


というそうそうたるメンバーの集まりに混ぜていただきました。


歴代最優秀作品受賞者の yuki さん、黒田さん、CALTA Project さんが並んで座っていて圧巻。


この三人を含めた集まったメンバー達で次の Mashup Award に出品しよう、なんてすごい話がでたりして、もし実現したらそりゃファミスタのメジャーリーガーズ級の反則だろ、と思ったりしました。


メンバーがメンバーなだけに、非常に刺激を受けた楽しい時間を過ごしました。みなさんありがとうございます。


これだけの人たちを集め、幹事役をつとめられたのどぐろさんには特に感謝です。


そののどぐろさんが最近 Rails を始めたというので、応援する意味で、のどぐろさんの質問に Skype で答え、その会話をそのままブログにするという


» Rails 入門 on Skype


というコーナーを別ブログに設けました。


» MVC ってどういうことよ?


が最初のエントリー。


Skype の会話がそのままブログのネタになって楽ちん。


つくるぶガイドブログ: ひとりサービスの雛型をつくる

» つくるぶガイドブログ: ひとりサービスの雛型をつくる(リキッドレイアウト、GetText、Acts as Authenticated)


を書き終えました。



今回は、基本的なレイアウトを決め、英語版もすぐリリースできるよう多言語化の用意もしておき、ログイン機能を整えた上で、ひとりサービスの雛型として次のサービスを作るときにも再利用できるものを作ります。


サイトも作りながらなので、えらい時間がかかります。まあ、楽しみながら書いているので、いいのですが。。


プロフィール

株式会社まちクエスト代表、つくる社LLC代表。

Raspberry Piではじめる どきどきプログラミングを書きました。

Amazonから図書館検索 Libron、iPhoneアプリ ひらがなゲーム かなぶん を作っています。

Twitter @jishiha

最近のエントリー

アーカイブ