私は自分の仕事のためにソフトウェア テストを自動化する必要があり、現在は groovy を使用してこれを行っています。しかし、Rubyをレパートリーに加えようと考えています。主な理由は、将来、Rails プロジェクトに取り組むことができるからです。
Ruby でスクリプトを作成するのに比較的習熟するには、どれくらいの時間がかかると思いますか? 私は主に、webdriver/webrat を使用して DOM をナビゲートし、プログラムでテキスト/ファイルの変更作業を行うことについて話しています。
学ぶのに 1 分間…習得するのに一生。
激しい献身の週末。
真剣に、それはあなたがどれだけの時間を手にしたか、そしてあなたの以前の経験が何であるかの問題です. Perl や Python を少し使ったことがある人は、Java を使ったことがある人よりも、Ruby を習得しやすいでしょう。
他のプログラミング言語の使用経験に応じて異なります。Ruby の基本的な構文を午後に学習できるはずです。そして、テスト用ライブラリの学習に取り組み、それらをいじってみると、さらに数日かかる場合があります。あなたは確かに Ruby の専門家ではありませんが、いくつかのテスト スクリプトをすぐにハックできるはずです。
ここから始めることができます - Ruby in Twenty Minutes
次に、ここにアクセスしてください - 基本的な Ruby テクニックをカバーする 17 のビデオ
プログラミングの経験があれば、2 週間集中的に Ruby に集中すれば、99% の方法を習得できると思います....他のスクリプト言語と区別される Ruby の主な機能は、イテレータを本質的に使用することです (コードを書くことはほとんどありません)。または while ループ) および関連するコード ブロック。これらに慣れると、残りの部分はうまくいきます。
Ruby には、優れた HTML/XML パーサーであるNokogiriがあります。CSS アクセサーと XPath アクセサーの両方をサポートしているため、解析された HTML ファイルの DOM を簡単にナビゲートできます。
Nokogiri の上に構築されているのは、Perl の WWW:: Mechanizeに基づいた Mechanize です。Web サイトのページのナビゲート、フィールドの抽出、フォームへの入力と送信、Cookie とセッションの追跡などを簡単に行うことができます。 Mechanize は Nokogiri の上に構築されているため、基盤となる DOM にアクセスして同じ CSS とXPath アクセサー。
Ruby にはいくつかの異なるテスト環境があります。Test::Unit は Ruby に付属しており、使いやすいです。他にも、Autotest、RSpec、Shoulda、Cucumber などがあります。自動テストは、ディレクトリを監視し、ファイルを変更するとテストを実行するので便利です。
私は Perl と Java のバックグラウンドから Ruby に来ました。その前は C/C++ でした。私にとって、Ruby は Java と Perl の子のようなものです。なぜなら、Java と Perl にはいくつかの類似点があるからです。しかし同時に、両方の言語で厄介だったことが、Ruby ではうまく回避されています。あたかも、Ruby が他の 2 つの論理的な成長、または次世代であるかのようです。これは、Ruby を機械ではなくプログラマーのための言語にしたいという Matz の意図と、後知恵のおかげでもあると思います。
Ruby と並行して Rails を学習してみましたが、v1 から v2 に変わるにつれて Rails をキャッチしました。すべての本は古くて間違っていて、ほとんどの Web サイトは間違っていて、良い情報を見つけるのは大変でした。最終的に、私は混乱がドキュメントにあることに気付き、Rails から 6 か月離れて、Ruby に集中し、仕事で毎日使用していました。Perl よりも簡潔にアイデアを表現できたので、ほぼ独占的に使い始めました。Perl でもっと簡潔に書くことはできましたが、読みやすくはありませんでした。これは、コードを保守しやすくするのに役立つため、私にとって重要なことです。
数年後の今、私は今まで使ったどの言語よりも Ruby を好みます。私はまだ Perl でプログラミングしていますが、職場では Ruby を伝道しており、Sequelのためにデータベースに触れるものを書く必要があるとき、またはRails、Sinatra、またはPadrinoをHAMLと組み合わせて使用してデータベースに Web フロントエンドを作成する必要があるときはいつでも Ruby を使用しています。
それまで技術的な経験がなかったので、Ruby、html、css などを同時に学び始め、実際に何が起こっているのかを理解するまでに 2 年かかりました。もちろん、Rails を使用するとこれらすべてが高速化されます。他のプログラミング言語を既に知っている場合は、基本に取り組み、6 か月で機能するようになります。
場合によっては、他のスクリプト言語を使用していますか? Ruby は一部の人にとっては非常に単純です。一般的なメソッド名のほとんどは簡単に覚えられることがわかりました。ある程度他の言語を使ったことがあれば、その言語を深く楽しむのに 1 週間もかからないはずです。プログラミングが初めての場合は、オブジェクト指向プログラミングを十分に理解して真価を発揮する必要があります。