Powered by
Movable Type 3.35

« Test::WWW::Declareで宣言的にWebアプリをテスト | メイン | 「Zooomr」の「写真の上に別の写真のレイヤーを配置する」部分をクラスライブラリ化してみました »

Ruby on Rails を使ってひとりでサービスを作ってみようはてなブックマークに追加 livedoorクリップに追加 Yahoo!ブックマークに追加 del.icio.usに追加 イザ!ブックマーク ニフティクリップに追加

こんにちは。
Ruby(とRails)を担当している石原です。

Ruby on Rails を使ってなにか Web のサービスを作っていく過程を実況中継しつつ、毎回いくつか役に立つ Tips を盛りこんでいけたらと考えています。

ひとりでサービスを作ってみよう

Web のサービスを一人で作ることをおすすめします。

一人で作ると何がいいか?

サービスを作るためのすべてのスキル、つまりインフラ、プログラミング、デザインはもとより、企画、宣伝、サポート、などの力も身につけることができます。

自分で全部好きなように決めることができて楽しいですし、いざリリースして、使ってくれたユーザーからの反応が得られたときには変えがたい喜びが得られます。

もしこのブログがひとりでサービスを作るきっかけになってくれたらうれしい限りです。リリースの暁にはぜひご報告ください。つくるぶには作品のお披露目コーナーがあります。

僕もひと月ワンサービス(最近さぼってしまっていますが。。)を宣言して、いくつか作ってきました。ぜひとも、ひとりサービス仲間になりましょう。

さて、そのサービスを作る道具をお持ちでしょうか?

もしまだなら、筆者が断然おすすめするのが Ruby on Rails です。こんなサービス作りたいというアイデアをサクッと形にできる最も開発効率が高い道具だと思っています。

15分でブログアプリケーションを作るというスクリーンキャストがその開発スピードをアピールし、Rails を一躍有名にしました。

すでに PHP や Perl など他の道具を持っているなら、これからの説明では Ruby on Rails に関連する部分を自分の得意とする言語に読みかえてください。プログラミング言語に関わらないサービス作りの話も織りまぜていこうと思っているので、よかったら参考にしてみてください。そして言語特有の話題については、他のガイドのみなさんがそれぞれお届けしますから、そちらもどうぞよろしくお願いいたします。

サービス作りの教科書 「Getting Real」

では、さっそく作り始めましょう、と行きたいところなのですが、その前にぜひ目を通しておいていただきたいのが、

Getting Real(日本語版はこちら)

という本です。

本といっても Web 上で無料で読むことができます。

シンプルで使いやすい便利サービスをいくつか提供していて、Ruby on Rails の開発元でもある 37signals がそのノウハウを惜しげもなく披露しています。

これを僕は、サービス作りの教科書と呼んでいるのですが、気にいったところからで良いのでぜひ読んでみてください。どの章から読んでもきっと目からウロコだと思います。

教科書ですから、今後このブログでも何回か引用しながら、では実際のケースはどうなのかといった話もしていきたいと考えています。

まずはログイン機能

前置きがすっかり長くなってしまいました。それでは始めます。

Ruby on Rails の環境を整えて。。といった話は省きます。必要なら Rubyまとめノートを参照してください。環境構築系の情報へのリンクは「情報・Tips」の項目あたりにまとめてあります。

最初ですからできるだけ端折らないで行きます。

rails alpha

で rails プロジェクトを作成します。プロジェクト名はぜひかっこいい名前をつけましょう。

次に

mysql -u root

で mysql にログインし、

mysql> create database alpha_development;

でデータベースを作成します。ちなみに筆者の環境は Ubuntu です。

白状しますと、まだ何を作るのか決まっていません。とりあえずどんなサービスにも必要そうなログインやユーザー登録の機能を作るとします。

Ruby on Rails には Acts as Authenticated という便利なプラグインがあります。

これをインストールしてサクッと作ってしまいます。

script/plugin install http://svn.techno-weenie.net/projects/plugins/acts_as_authenticated              

でインストール、

script/generate authenticated user account

を実行すると、マイグレーションスクリプトを始め、モデル・コントローラー・ビューなど必要なファイルを生成してくれます。

rake db:migrate

でマイグレーションを実行したら、

script/server

でサーバーを起動します。

http://localhost:3000/account/index

にアクセスすれば、以下のとおりユーザー登録画面ができあがっています。

あっという間ですね。

signup.png

ためしに登録してみましょう。必要な情報を入力し、Sign up を押すと

In the Caboose.

というタイトルの謎のページに遷移します。

ご心配なく。これはサンプルのページでちゃんとログインできていることを示しています。

http://localhost:3000/account/logout

でログアウト。

http://localhost:3000/account/login

から、作ったばかりのアカウントでログインすれば、さきほどのサンプルページへ。

もう一度ログアウトしてみて、パスワードをわざと間違えてみてください。サンプルのページへは遷移せずログイン画面にとどまったままになるはずですから、ちゃんと認証機能が働いています。

次回はメールでの認証、パスワードリマインダーなどを追加していきます。

コメント (4)

yuki:

「Getting Real」いいですよね、僕も大好きです(まだ、RoR使いではありませんが・・・)。あと、RoRとはあまり関係ないですけど、37signalsの「Signal vs. Noise」もよく読んでるブログです。
連載がんばって下さい!

junya:

yuki さん、
コメントありがとうございます。
やっぱり一人でサービスを作っている人たちで Getting Real を読んでいる人は多いですね。

ryu:

おや、マジでUbuntuに乗り換えたんですか。
どうですか使い心地は?今度聞かせてください。

junya:

Ubuntu なかなか快適ですよ。
Linux とは思えないくらいデスクトップ環境が整っています。

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

お名前

※本名など個人が特定できる情報を入力しないでください

コメント

※必ずプライバシポリシーおよび利用規約をお読みいただき、同意の上、投稿してください。