Powered by
Movable Type 3.35

メイン

カテゴリー:Ruby

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

続きを読む "Ruby on Rails を使ってひとりでサービスを作ってみよう" »

ひとりサービスの雛型をつくる(リキッドレイアウト、GetText、Acts as Authenticated)はてなブックマークに追加 livedoorクリップに追加 Yahoo!ブックマークに追加 del.icio.usに追加 イザ!ブックマーク ニフティクリップに追加

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

ひとりで Web サービスを作る過程を記録していく2回目です。前回、ログイン機能を作っただけ(と言ってもプラグインを導入しただけなのですが。。。)で終わってしまい、2週間が経ってしまいました。こんなペースでやっているといつまで経っても出来上がらないので、前回より少し飛ばしていきます。

そういえば、まだどんなサービスを作るかも決まっていませんでした。

1) みんなで情報を共有できる、2) 世界に発信できる、というのが Web のすばらしい特徴だと思っています。なにかをみんなで共有する、というのと、まずは英語版でも展開できるサービスというのを考えてみました。

前からあたためていたアイデアなのですが、「OSを入れた後にインストールする10のアプリケーション」をみんなで共有できるサービスなんていうのはどうでしょう?筆者は、他人がどんなアプリケーションをインストールしているのかって結構興味があります。共有することによって、誰のリストにも入ってくる定番のアプリケーションがわかったりするかもしれません。コメントや点数評価、タグ付けといったいわゆる Web 2.0 的な機能も付け加えたいですね。

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

続きを読む "ひとりサービスの雛型をつくる(リキッドレイアウト、GetText、Acts as Authenticated)" »

Rails で楽々ソーシャルブックマークの仕組みを作るはてなブックマークに追加 livedoorクリップに追加 Yahoo!ブックマークに追加 del.icio.usに追加 イザ!ブックマーク ニフティクリップに追加

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

前回に引き続き、ソーシャル「OSを入れた後にインストールする10のアプリケーション」(仮)を作っていきます。以降、サイトの名前は 10 Best Application on New Install から取って 10best とします。

これまでのエントリーはこちら↓

  1. つくるぶガイドブログ: ひとりサービスの雛型をつくる(リキッドレイアウト、GetText、Acts as Authenticated)
  2. つくるぶガイドブログ: Ruby on Rails を使ってひとりでサービスを作ってみよう

10best では、アプリケーションをダウンロードできる場所のURLを登録して、みんなで共有していきます。いわばソーシャルブックマークの、ブックマーク先をアプリケーションのダウンロードページに限定したものです。

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

  1. モデルの作成
  2. フォームのエラー処理
  3. ブックマーク作成の処理を整える
  4. データが空のときの画面デザイン

続きを読む "Rails で楽々ソーシャルブックマークの仕組みを作る" »

Rails プラグイン acts_as_taggable_redux でタグクラウドを作ろうはてなブックマークに追加 livedoorクリップに追加 Yahoo!ブックマークに追加 del.icio.usに追加 イザ!ブックマーク ニフティクリップに追加

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

ソーシャル「OSを入れた後にインストールする10のアプリケーション」(仮)の開発の続きです。

今回は登録したアプリケーションに対してタグ付けできるようにして、タグクラウドを作ることを目標にします。

初見の方、よろしくお願いいたします。これまでのエントリーの一覧はこちらです ↓

  1. つくるぶガイドブログ: Ruby on Rails を使ってひとりでサービスを作ってみよう
  2. つくるぶガイドブログ: ひとりサービスの雛型をつくる(リキッドレイアウト、GetText、Acts as Authenticated)
  3. つくるぶガイドブログ: Rails で楽々ソーシャルブックマークの仕組みを作る

それでは、さっそく作っていきます。

続きを読む "Rails プラグイン acts_as_taggable_redux でタグクラウドを作ろう" »

ドラッグアンドドロップで並べ替え(Rails + Ajax)はてなブックマークに追加 livedoorクリップに追加 Yahoo!ブックマークに追加 del.icio.usに追加 イザ!ブックマーク ニフティクリップに追加

Ruby(とRails)を担当している石原です。

ソーシャル「OSを入れた後にインストールする10のアプリケーション」(仮) を作る過程をレポートしています。

これまでのエントリーはこちら ↓

  1. つくるぶガイドブログ: Ruby on Rails を使ってひとりでサービスを作ってみよう
  2. つくるぶガイドブログ: ひとりサービスの雛型をつくる(リキッドレイアウト、GetText、Acts as Authenticated)
  3. つくるぶガイドブログ: Rails で楽々ソーシャルブックマークの仕組みを作る
  4. つくるぶガイドブログ: Rails プラグイン acts_as_taggable_redux でタグクラウドを作ろう

今回は、登録した10のアプリケーションをベスト1からベスト10まで並べ替えたい、ということで、ちょっと趣向を凝らしてそれをドラッグアンドドロップで出来るようにしたいと思います。

続きを読む "ドラッグアンドドロップで並べ替え(Rails + Ajax)" »

Rails + rcov でテストカバレッジを調べるはてなブックマークに追加 livedoorクリップに追加 Yahoo!ブックマークに追加 del.icio.usに追加 イザ!ブックマーク ニフティクリップに追加

Ruby(とRails)を担当している石原です。

ソーシャル「OSを入れた後にインストールする10のアプリケーション」(仮) を作る過程をレポートしています。

これまでのエントリーはこちら ↓

  1. つくるぶガイドブログ: Ruby on Rails を使ってひとりでサービスを作ってみよう
  2. つくるぶガイドブログ: ひとりサービスの雛型をつくる(リキッドレイアウト、GetText、Acts as Authenticated)
  3. つくるぶガイドブログ: Rails で楽々ソーシャルブックマークの仕組みを作る
  4. つくるぶガイドブログ: Rails プラグイン acts_as_taggable_redux でタグクラウドを作ろう
  5. つくるぶガイドブログ: ドラッグアンドドロップで並べ替え(Rails + Ajax)

今回は少し話題を変え、テストとカバレッジツールを取り上げます。

アプリケーションにバグがないかどうかを調べるのがテストなわけですが、フォームにテキストを入力したり、ボタンをクリックして実際にアプリケーションを触って確かめるのが手動テストです。でも、手動テストは面倒なものですから、何度も何度も繰り返したりすることはできません。

操作と、その操作の結果が正しいかどうかの判定を自動でおこなうプログラムを書けば、テストを何度でも繰り返し実行可能になります。これがテストコードを書くということで、Rails で「テスト」といった場合は一般的にはこちらを指します。

テストコードを書くことは面倒なことです。書けば確かに品質の確保につながりますが、それをやることによって直接の開発が進むわけではないので、なかなか「テストコードを書こう」という気が起きないものだと思います。

この点、Rails にはあらかじめテストの仕組みが用意されており、テストコードの雛型まで用意されているので、最初の一歩を非常にスムーズに踏み出せるようになっています。

続きを読む "Rails + rcov でテストカバレッジを調べる" »

capistrano で本番環境にデプロイはてなブックマークに追加 livedoorクリップに追加 Yahoo!ブックマークに追加 del.icio.usに追加 イザ!ブックマーク ニフティクリップに追加

Ruby(とRails)を担当している石原です。

ソーシャル「OSを入れた後にインストールする10のアプリケーション」(仮) を作る過程をレポートしています。

これまでのエントリーはこちら ↓

  1. つくるぶガイドブログ: Ruby on Rails を使ってひとりでサービスを作ってみよう
  2. つくるぶガイドブログ: ひとりサービスの雛型をつくる(リキッドレイアウト、GetText、Acts as Authenticated)
  3. つくるぶガイドブログ: Rails で楽々ソーシャルブックマークの仕組みを作る
  4. つくるぶガイドブログ: Rails プラグイン acts_as_taggable_redux でタグクラウドを作ろう
  5. つくるぶガイドブログ: ドラッグアンドドロップで並べ替え(Rails + Ajax)
  6. つくるぶガイドブログ: Rails + rcov でテストカバレッジを調べる

まだ開発途中ではありますが、今回はアプリケーションを本番環境にデプロイしてしまおうと思います。

開発環境で開発したアプリケーションを本番環境に移すデプロイの作業は、それぞれの環境によって千差万別なやりかたがあるため、ときにはかなりてこずることがあります。

リリース間際ではなく、なるべく早い段階で本番環境でも開発環境と同じように動くことを確認しておくと安心です。

capistrano はデプロイの作業を楽にしてくれるおすすめのツールです。

» Capistrano: Home

本番環境には筆者が契約している VPS(Cent OS 5) を例に、capistrano のデプロイ作業の流れを紹介します。

アプリケーションサーバーには Mongrel Cluster、Web サーバーには Apache という定番の構成をとることにします。

続きを読む "capistrano で本番環境にデプロイ" »

Rails で Yahoo 検索 API + Widgets Tabnav でタブナビゲーションはてなブックマークに追加 livedoorクリップに追加 Yahoo!ブックマークに追加 del.icio.usに追加 イザ!ブックマーク ニフティクリップに追加

Ruby(とRails)を担当している石原です。

ソーシャル「OSを入れた後にインストールする10のアプリケーション」(仮) を作る過程をレポートしています。

これまでのエントリーはこちら ↓

  1. つくるぶガイドブログ: Ruby on Rails を使ってひとりでサービスを作ってみよう
  2. つくるぶガイドブログ: ひとりサービスの雛型をつくる(リキッドレイアウト、GetText、Acts as Authenticated)
  3. つくるぶガイドブログ: Rails で楽々ソーシャルブックマークの仕組みを作る
  4. つくるぶガイドブログ: Rails プラグイン acts_as_taggable_redux でタグクラウドを作ろう
  5. つくるぶガイドブログ: ドラッグアンドドロップで並べ替え(Rails + Ajax)
  6. つくるぶガイドブログ: Rails + rcov でテストカバレッジを調べる
  7. つくるぶガイドブログ: capistrano で本番環境にデプロイ

今回は API との連携、マッシュアップをおこなってみたいと思います。

手前味噌ではありますが、筆者が以前作成した

» Rails で Yahoo 検索 API を使うためのプラグイン YahooSearchApi : 僕は発展途上技術者

を使います。

ソーシャル「OSを入れた後にインストールする10のアプリケーション」(仮) は、みんながOSを入れた直後にどんなアプリケーションをインストールするのかを、そのアプリケーションの Web ページをブックマークすることで共有するサイトです。

アプリケーション名をキーワードに、API を使って Yahoo 検索の結果を表示することで、そのアプリケーションの関連情報を表示してみます。

後半では Widgets というプラグインの Tabnav 機能を使って、タブナビゲーションを実現します。

続きを読む "Rails で Yahoo 検索 API + Widgets Tabnav でタブナビゲーション" »

ひとりサービスをリリースするまでやっておくこと10個はてなブックマークに追加 livedoorクリップに追加 Yahoo!ブックマークに追加 del.icio.usに追加 イザ!ブックマーク ニフティクリップに追加

Ruby(とRails)を担当している石原です。

ソーシャル「OSを入れた後にインストールする10のアプリケーション」(仮) を作る過程をレポートしています。

今回は、開発はひとやすみにして、サービスをリリースする前にやっておくべき細々としたことを紹介したいと思います。

これらは筆者がひとりサービスをリリースするときに、毎回なんとなく思い出しながらやってきたことで、サービスによっては忘れてしまっているものもあります。

ですから、次からはこれをチェックリスト代わりに使おうと思っています。

Rails に限った話とWebサービス一般の話が混ざっています。ほかの言語やフレームワークを使っている方にも、Rails に限った話を自分の使っている環境に読み替えれば、いくらか参考になるかもしれません。

参考までにこれまでのエントリーはこちらです ↓

  1. つくるぶガイドブログ: Ruby on Rails を使ってひとりでサービスを作ってみよう
  2. つくるぶガイドブログ: ひとりサービスの雛型をつくる(リキッドレイアウト、GetText、Acts as Authenticated)
  3. つくるぶガイドブログ: Rails で楽々ソーシャルブックマークの仕組みを作る
  4. つくるぶガイドブログ: Rails プラグイン acts_as_taggable_redux でタグクラウドを作ろう
  5. つくるぶガイドブログ: ドラッグアンドドロップで並べ替え(Rails + Ajax)
  6. つくるぶガイドブログ: Rails + rcov でテストカバレッジを調べる
  7. つくるぶガイドブログ: capistrano で本番環境にデプロイ
  8. つくるぶガイドブログ: Rails で Yahoo 検索 API + Widgets Tabnav でタブナビゲーション

続きを読む "ひとりサービスをリリースするまでやっておくこと10個" »

失敗しない Rails が動かせるホスティングサービス選びと環境構築はてなブックマークに追加 livedoorクリップに追加 Yahoo!ブックマークに追加 del.icio.usに追加 イザ!ブックマーク ニフティクリップに追加

Ruby(とRails)を担当している石原です。

ソーシャル「OSを入れた後にインストールする10のアプリケーション」(仮) を作る過程をレポートしてきましたが、10回目の今回をもって終わりとさせていただきます。

最後は、いよいよリリースしようという段階で必要な、ホスティングサービス選びと環境構築について書きたいと思います。

参考までにこれまでのエントリーはこちらです ↓

  1. つくるぶガイドブログ: Ruby on Rails を使ってひとりでサービスを作ってみよう
  2. つくるぶガイドブログ: ひとりサービスの雛型をつくる(リキッドレイアウト、GetText、Acts as Authenticated)
  3. つくるぶガイドブログ: Rails で楽々ソーシャルブックマークの仕組みを作る
  4. つくるぶガイドブログ: Rails プラグイン acts_as_taggable_redux でタグクラウドを作ろう
  5. つくるぶガイドブログ: ドラッグアンドドロップで並べ替え(Rails + Ajax)
  6. つくるぶガイドブログ: Rails + rcov でテストカバレッジを調べる
  7. つくるぶガイドブログ: capistrano で本番環境にデプロイ
  8. つくるぶガイドブログ: Rails で Yahoo 検索 API + Widgets Tabnav でタブナビゲーション
  9. つくるぶガイドブログ: ひとりサービスをリリースするまでやっておくこと10個

続きを読む "失敗しない Rails が動かせるホスティングサービス選びと環境構築" »