Rolling with Ruby on Rails - Japanese Translation - p1

by tanabe on June 05, 2005

見知らぬ極東のRubyistへ丁寧で親切な対応をしてくれたCurtONLamp.comへ最大級の感謝を込めて。

元記事はこちら(You can read the original article from here!)

  • nak2kさんからのご指摘で、リンク先を修正しました。'Seeing is Believing'の箇所の表記を修正してみました。どうもありがとうございました。
  • kdmsnrさんからの情報で、リフレクションによるRailsの自己解析の辺りの話が理解できました。文章修正しました。どうもありがとうございました。
  • おおやさんからのご指摘で、ideaに関する訳を修正しました。どうもありがとうございました。
  • 匿名希望さんからのご指摘で、本家でのedit.rhtmlのコードへの修正を反映しました。どうもありがとうございました。

2008.7.28 追記

Rolling with Ruby on Rails は Rails 登場当初のすばらしい内容のチュートリアルでしたが、Rails も Ver2.0 系に入った今、この内容を参考にしながら入門しようとするとかえって混乱することになると思います。

これまで、かわりに紹介すべき優れた内容のチュートリアルに思い当たらなかったため、問題を感じながらそのままにしていましたが、現在の環境に対応ししかも非常に優れた内容の書籍が出版されているのでここで紹介いたします。

進化の早い Rails ですから、この内容も直に時代遅れにはなるでしょうが、当面の基礎とするにはよい内容が網羅されていると思います。

Rails of Ruby on Rails ~Case of LOCUSANDWONDERS.COM~
Plan de Sens 清水 智雄
毎日コミュニケーションズ
売り上げランキング: 76302

Rails Ver2.1 で「バリデーションと日本語対応」のサンプルコードどおりには動作しなくなっています。「Rails2.1にしたらgettextがエラーになってしまう場合の対処方法」の対応を入れると動作します。

追記の最後に、私と Rails を出会わせてくれた Rolling with Ruby on Rails にあらためて感謝します。

2008.7.28 追記ここまで

Pages: 1, 2, 3, 4, 5

Rolling with Ruby on Rails

by Curt Hibbs
01/20/2005

Ruby on Railsはとんでもない生産性を誇るWebアプリケーション作成フレームワークだ。

きっとRuby on Railsって名前を聴いたことはあると思う。ひょっとすると試してみたいと思ったこともあるかもしれない。でも、具体的なことはまだ知らないはずだ。

これからの話の中で、Railsを使ってWebアプリケーションを開発していく。この中ではRubyでのプログラミングについては触れないけれど、他のオブジェクト指向言語を知っている人なら、きっと問題なく読み進められると思う。(最後にRubyを学ぶためのリンクも貼っておいた。)

さて、Webアプリケーションを作り始める前に、いくつかの大事な疑問へ答えておこう。

Rubyって?

Rubyは純粋なオブジェクト指向言語だ。とてもきれいな構文を持ち、プログラミングをエレガントで楽しいものにしてくれる。Smalltalkのように整然として美しく、Pythonのように使うのも学ぶのも簡単で、それでいてPerlのように実用的だ。Rubyは1990年代の始め頃に日本で生まれ、ここ数年で英語での解説書やドキュメントが豊富に利用できるようになるにつれ、世界的にも人気の言語と成りつつある。

Railsって?

Railsは、データベースを使ったWebアプリケーションを作るための、オープンソースのフレームワークだ。何か他と違って特別なんだろうか?すでにたくさんのフレームワークがあって、そのほとんどはRailsよりもずっと歴史がある。なんだっていまさら新しいフレームワークのことを気にしなくちゃいけないんだろう?

『Railsを使ってWebアプリを作れば、一般的なJavaフレームワークを使うよりも、少なくとも10倍速く開発できるかもしれない』と言ったとしたら、あなたはどう思うだろうか?

それが実際にできるんだ − それも品質を犠牲にすることなしに。いったい、どうやっているんだろう?

その答えの一つはRubyというプログラミング言語にある。色々な他の言語では簡単にはできないようなことが、Rubyではとても簡単にできたりする。RailsはこのRubyの強力さの恩恵をたっぷり受けている。

そして残りの答えは、Railsの二つの考え方にある。二つの考え方とは、『省ソフトウェア』、そして『設定の共通ルール化』だ。

省ソフトウェア』は、実際にアプリケーションを作るときに書かなくちゃいけないコードが少ないことだ。コードが少なくて済むということは、開発期間が短いということだし、バグが少ないということでもある。そして、コードを読みやすく、メンテしやすく、変更に強いものにしてくれる。早い話が、Railsは君のコードからいらないものを取り除いてくれるんだ。

設定の共通ルール化』は、あのわずらわしいXMLによる設定ファイルがいらないってことだ。RailsではXMLの設定ファイルはまったく使われていない。その代わりにRailsで作ったアプリケーションは、いくつかの単純なプログラム上の決め事がある。この決め事は、Railsがリフレクションやその結果を通じて必要なことをすべて自分で明らかにできるようにしてくれる。Railsが知らなければならないようなことはすべて、あなたのアプリケーションのコードやデータベースの中にあるんだ。

'Seeing is Believing' − 百聞は一見にしかず −

ぼくたち開発者は、新しいものには付きもののもっともな売り文句をもう聞き飽きている。ぼくのあやしげな主張を聞いていぶかしむ君の顔が見えるようだ。

でも、本当に十倍速く開発できるんだ。

とはいえ、なにも目をつぶってとにかく信じろと言ってるわけじゃない。どうやって信じてもらうか、ちょっと説明しよう。まず、ぼくが必要なソフトウェアをインストールする。そして、Webアプリケーションを開発する様子を見てもらうとしよう。

ソフトウェアのインストール

今回はWindows 環境を想定してアプリケーションを作成する。LinuxやMacintoshのユーザーも同じように進められると思うけど、スクリーンの見た目はここで使われている画像とはちょっと違っているだろう。それから、環境にあったソフトウェアをインストールする必要もある。他のソフトウェアへのリンクについては、記事の最後にリソースの項としてまとめたので、そちらを参照してほしい。

これから作るWebアプリケーションのために、次のソフトウェアをインストールしていく。

  • Ruby
  • Rails
  • MySQL(およびそのGUI フロントエンドのMySQL-Front)

Step 1: Rubyのインストール

Ruby Windows installer
Figure 1. Windows版Rubyインストーラ

Rubyのインストールはとても簡単だ。

  1. 最新のOne-Click Ruby Installer for Windowsをダウンロードする。(Figure 1.を参照) 執筆中の現在、最新はruby182-14.exe だ。 (訳者注:2005年5月現在はruby182-15.exe が公開済み)
  2. ダウンロードしたexeファイルをダブルクリックしてインストーラを起動し、手順のとおりにインストールをする。特に指定したい項目がなければ、デフォルト設定のまま進めてOK。

注)LinuxやMacintoshユーザーの場合は、Rubyをインストールし、さらにRubyGemsをインストールする必要があるだろう。Windows版のインストーラにはRubyGems が含まれている。

Step 2: Railsのインストール

installing Rails through RubyGems
Figure 2. RubyGemsによるRailsのインストール

さぁ、それではRubyGemsを使ってRailsをインストールしよう。(チュートリアルで使用するバージョンは、0.9.4。Figure 2.を参照。)

  1. コマンドプロンプトから gem install rails --remote を実行する。
  2. RubyGemsがRailsの依存する他のライブラリもインストールしてくれる。依存ファイルのインストールの度に、インストールするかどうかを確認されるので、"y"(yes)と入力する。

訳者注)原文には特に記載がありませんが、ネットワーク環境によってはremoteオプションでのインストールでこけます。firewall の設定などネットワークの管理者へ確認して解決してください。RubyGems の--local オプションで回避することもできます。

Step 3: MySQLのインストール

MySQL Server setup wizard
Figure 3. MySQL Serverのセットアップウィザード

さて、あとはデータベースをインストールしなければいけない。Railsは様々なデータベースを利用できるが、ここではMySQLを使うことにする。

  1. 最新の"essential"バージョンのMySQLをダウンロードする。(今はWindows Essentials (x86) 4.1.7が最新だ。)
    (訳者注:2005年5月現在のバージョンは4.1.11。)
  2. ダブルクリックでインストーラを起動し(Figure 3.参照)、デフォルト設定のまま手順を進る。ただし、mysql.com アカウントへのサインアップは、スキップする。
    (訳者注:"MySQL.com Sign-Up"というタイトルの画面で、"Skip Sign-Up"を選択します。)
  3. 最後のパネルまで手順を進め、Finish ボタンを押すと、設定ウィザードが開始する。
  4. 設定ウィザードでもほとんどはデフォルト設定で手順を進ていく。ただし、security パネルにある"Modify Security Settings"のチェックは必ず外すこと。(Figure 4.参照)MySQLはバージョン4.1.7から新しい認証アルゴリズムを採り入れており、現バージョンのRails を含む古いクライアントソフトウェアと互換性がないためだ。チェックを外しておけば、パスワード認証を経ずにMySQLへアクセスできる。

訳者注)

  • データファイルの格納先を変更する必要があれば、"InnoDB Tablespace Settings"の"Modify"ボタンから変更します。不要ならそのまま"Next>"です。
  • 日本語をデフォルトで格納したい場合は、"Please select the default character set."で"Best Support For Multillingualism"を選択します。これでデフォルトのcharacter setがUTF8になります。ここをデフォルトにチェックをした状態で飛ばしても、データを定義する時にUTF8を指定すれば日本語データの入力は可能です。

MySQL configuration wizard
Figure 4. MySQLの設定ウィザード

Step 4: MySQL-Frontのインストール

MySQL-Frontは、MySQLデータベースのGUIフロントエンドだ。MySQL-Frontは安価な商用アプリケーションだが、30日の試用期間がある。この記事では、MySQL-Frontを使ってデータベースを構築していこう。好みによっては、コマンドラインからSQLコマンドを発行してもいい。

  1. 最新のMySQL-Frontをダウンロードする。(現在、バージョン3.1)
    (訳者注:2005年5月現在、バージョン3.2Build6.0。)
  2. インストーラを起動し、特に必要がなければデフォルト設定でインストール手順を進める。
    (訳者注:MySQL-Frontは日本語に対応しており、インストーラも日本語です。)

訳者注)

MySQLサーバーはCommand Line Clientが付属するため、こちらからSQLによる操作も行えますが、MySQL-Frontを使う方が簡単です。また、MySQLにはphpMyAdminというWebアプリケーションもあるので、PHP環境のある方やMySQL-Frontの試用期間が切れて困った方はこちらを利用してみても良いでしょう。

MySQL-Front installer
Figure 5. MySQL-Frontのインストーラ

Pages: 1, 2, 3, 4, 5



この記事へのトラックバック
vous parlez japonais? et comprennez kanji (pas comme moi) et voil .. http://blog.livedoor.jp/zep716/archives/24182409.html je prefere qu'il y a les livres de ruby ou bien rails en Indonesie. Le temps dirait .. on attend pour rails 1.0
Nihongo no rolling with RoR【Blognya Arie Kusuma Atmaja】at July 07, 2005 10:12
メモ。ヒマが出来たらやってみようと思う。 Rolling on Ruby on Rails - Japanese Translation - p1
Rolling on Ruby on Rails - Japanese Translation【fusalog】at July 10, 2005 02:05
http://blog.livedoor.jp/zep716/archives/24182409.html vous parlez japonais? et comprennez kanji (pas comme moi) et voil .. je prefere qu'il y a les livres de ruby ou bien rails en Indonesie. Le temps dirait .. on attend pour rails 1.0
Nihongo no rolling with RoR【Blognya Arie Kusuma Atmaja】at July 19, 2005 08:11
ホスティングサービス上でRailsがMySQLで動きましたのでご報告。 depo
ruby on rails(3)【katsu95i】at November 08, 2005 20:36
Ruby on Rails 2日目です。 Rubyレシピブック 268の技後藤 裕蔵 高橋 征義 まつもと ゆきひろ by G-Tools アマゾンに注文していたRuby本が届きました。RoRの勉強もはかどるかと思いきや、いきなり壁にぶちあたりました。文字化けです。んで、やっとのことで答えを探し当て...
[blog] Ruby on Rails その2【SAM2's Bliki】at November 09, 2005 00:09
Rolling with Ruby on Rails MySQL環境での開発サン...
Panther で Ruby on Rails (3)【花染人和クリエイション::MACなDTPと開発::トラブル記録】at October 17, 2006 23:20
Rolling with Ruby on Rails MySQL環境での開発サン...
Panther で Ruby on Rails (3)【花染人和クリエイション::MACなDTPと開発::トラブル記録】at October 17, 2006 23:22
Rolling with Ruby on Rails MySQL環境での開発サン...
Panther で Ruby on Rails (3)【花染人和クリエイション::MACなDTPと開発::トラブル記録】at October 17, 2006 23:40
この記事へのコメント
ちょっとしたことですが「元記事はこちら」のリンクが
ミスしているようです。(URL手修正すれば飛べますけど^^;)
Posted by nak2k at June 07, 2005 10:42
'Seeing is believing' は、「百聞は一見にしかず」らしいです。
http://www.jedo.jp/proverb.htm
Posted by nak2k at June 07, 2005 10:46
nak2kさん、ご指摘x2どうもありがとうございます。

「元記事はこちら」のリンク修正しておきました。
これは大変なミスですね(^^;
ONLamp.comからの邦訳公開の条件が原文へのリンクだったのに
危ないところでした。深謝です。

>'Seeing is believing' は、「百聞は一見にしかず」らしいです。

そうなんですよね。
これ、実は公開前に一度「百聞は一見にしかず」で訳してみたのですが、
なんとなく前後の文章の印象から浮いてしまって、
原文の表現をそのまま残してみました。

たしかにそのまま残っているとそれはそれで違和感があるんですよね。
カッコ書きで百聞は…を入れてみたりした方がいいのかも。
もうちょっと試行錯誤してみます。

こちらもご指摘ありがとうございました!
Posted by tanabe at June 07, 2005 18:45
> through reflection and discovery

これは、Rubyのリフレクション機能を使って(参照テーブルなどを)見つけ出す、みたいな意味かと思います。違ってたらごめんなさい。
Posted by kdmsnr at June 08, 2005 11:23
kdmsnrさん、情報どうもありがとうございます。

おっしゃるとおり、リフレクションのようです。
discoveryの方は並列する機能というよりもreflectionの結果扱いなんですね。なるほど。

週末にでも解析してどの辺りのことを指しているのか、探してみます。
&文章の方も頭の中を整理してから修正かけておきます。

ここの点が一番読みながら気にかかっていたので、とても勉強になりました。
あらためて、どうもありがとうございました。
Posted by tanabe at June 09, 2005 03:50
はじめまして。

Rolling with Ruby on Railsの日本語訳、とても参考になりました。ありがとうございました。ところで、この記事のPart 2がまだ誰にも翻訳されていないようだったのでやってみました。RubyについてもRailsについても決して詳しいわけではないので、品質については少々不安な部分もありますが、一応、お礼とお知らせまで。

http://www.yohasebe.com/translation/RwRoR2/index.html
Posted by yohasebe at April 15, 2006 19:01
>yohasebeさん

はじめまして。
Part2の翻訳良訳すぎます!

Rails記事へのアクセスを見ていると、まだまだ
日本語によるRails情報を必要としている人は増加中のよう
なので、きっとたくさんの人に参考にされると思います。

お疲れさまでした。
Posted by tanabe at April 15, 2006 21:56
こんにちは。
この記事を見ておもしろそうだと思いインストールしたときに
proxy経由でのインターネット接続環境で gem install rails --remote によるインストールが
環境変数 HTTP_PROXY を定義することで問題なく行えました。
(ruby185-21.exeでインストールしたWindows2000 SP4環境です)

具体的には

1. コマンドプロンプトでHTTP_PROXY環境変数を定義
> set http_proxy=http://プロキシサーバのアドレス":"ポート番号"
例) set http_proxy=http://proxy.example.com:8080
2. コマンドプロンプトで gem install 実行
> gem install rails --remote

ですんなりいきました。
参考までに。
Posted by arasi at August 30, 2006 14:14
yohasebeさんの、
Rolling with Ruby on Rails, Part 2 日本語訳
のリンク先が、下記に変更になっているようです。
http://yohasebe.com/files/translation/RwRoR2/index.html
yohasebeさんのサイトがno commentsですので代理記入しました。
Posted by くろき まさゆき at September 19, 2008 10:53
くろき まさゆきさん、情報どうもありがとうございます!

Posted by tanabe sunao at September 20, 2008 21:48