回答:
Rubyの大きな利点の1つは、DSLを非常に簡単に作成できることです。Rubyでは、通常、ビジネスアナリストが使用するのに十分簡単な自然言語の方法で「ビジネスルール」を作成できます。この目的のために、Web開発以外の多くのRubyアプリが存在します。
私はいくつかの優れた読書のためにグーグル "ruby dsl"を強くお勧めしますが、特に1つの投稿を残しておきたいと思います。Russ OlsenがDSLに関する2部構成のブログ投稿を書きました。私は彼がDSLについてプレゼンテーションをするのを見ました、そしてそれはとても良かったです。これらの投稿を読むことを強くお勧めします。
Obie FernandezによるRuby DSLに関するこの素晴らしいプレゼンテーションも見つけました。強く読んでください!
私の仕事ではRubyを多用しており、どれもRails(またはWeb)ベースではありません。
私のドメインは通常、クライアント側のWindowsアプリケーション(wxRuby GUI)とスクリプトであり、Excel、Internet Explorer、SQL Serverクエリ、およびレポート生成(win32ole COMオートメーション)を自動化しています。また、さまざまなデータの変更とグラフ生成タスクのために、sqlite、pdf-writer、およびgruffライブラリを使用しています。
Railsの成功はRubyにとって素晴らしいものでしたが、Railsが非常に注目を集めており、Webを超えたRubyの価値がしばしば見過ごされていることに同意します。
私たちは主にC ++ショップですが、Rubyが非常に有用であることがわかっているいくつかの領域を見つけました。ここにいくつかあります:
Rubyは基本的に、意味のある場所に行くためのツールです。そして、それは多くの場所で理にかなっています。
Watir(Rubyライブラリ)を使用して、.net Webアプリケーションをテストします。
または、Rubyを使用してGiles BowkettのArchaeopteryxで音楽を作ることもできます。始祖鳥についてのジャイルズによるこのプレゼンテーションは、史上最高のプレゼンテーションの1つです。私はそれを強くお勧めします。
私は去年、Rubyをたくさん使った美術館プロジェクトに取り組みました。(http:// http://ourspace.tepapa.com/home)
私がほとんどの時間を費やした部分は、インタラクティブなフロアマップでした。床のマップにはセンサーが付いているので、人が歩くとライトがトリガーされ、壁のディスプレイに画像またはビデオとオーディオトラックが再生されます。
展示のこの部分の制御コードはすべてルビーです。私はルビーラッパーを使用してCインターフェースを記述し、フロアセンサーや照明コントローラーと通信しました。システムは、表示するメディアファイルをMYSQLデータベースに照会し、壁のコンピューターにUDP経由でメディアを再生するよう指示します。
展示全体の中で最も信頼できる部分です。
展示の他の主要部分であるウォールにはRubyが使用されましたが、私はそれとはあまり関係がありませんでした。ほとんどのグラフィックは、OpenGL、Cocoaの一部、および物理ライブラリーへのインターフェースを使用してRubyでプロトタイプ化された後、純粋なObj-Cに移植されました。
人形やシェフについての言及はありませんでした到着する前の30の回答には、。Rubyは、クラウドオートメーションにおける現在の作業を支配しているようであり、これら2つの大手企業のベース、拡張、およびテンプレート言語です。これらは主に、サーバーアレイと一般的なITワークステーションの管理のためにシステムとアプリケーションの構成情報を配布するために使用されます。
DevOpsチームのフィールドはかなりRubyの認識です。今日、Perlには競合相手がいます。本当に単純なスクリプトは、依然としてsh(1),
複雑なタスクのためにしばしば直接書かれているかもしれませんが、今ではPerlではなくRubyで行われるかもしれません。
私が仕事でRubyを使って行った唯一のサイトはRailsを使用していますが、Merbを試してみたいと思います。
それ以外にも、Rubyで多くの小さなユーティリティプログラムを実行しています。たとえば、RSSフィードを読み取り、新しい投稿をデータベースにインポートするアプリです。
それは楽しいので、それがとても速いからといって、私はいくつかのばかげたものも書きます。昨日、モンティホールの問題を 10万回再生するアプリを書いて、友人が教授に切り替えが正しい戦略であることを説得できるようにしました。
ルビーはレールのことだと、私はほとんど侮辱します。CGIが最新のトレンドであり、perlを知っているならCGIアプリをプログラムしたからといって、それをしなければならないと誰もが思ったときのようです。Rubyは私にとっては単なるスクリプト言語ですが、Pythonほど成熟していないので、そのフープと最近の変更のいくつかを飛ばさなければならなかったことを少し後悔していますが、それでも気に入って使用しています。私はJavaショップで働いているため、スクリプト言語にはgroovyが理想的ですが、自宅ではルビーを使用し、職場で共有する必要のないスクリプトを捨てます。
私はあらゆる話題からRoRに入るのを検討していましたが、それがどれほど速く/簡単であるかを考えていましたが、レールを調べた後、他のどの開発よりも驚くべき、または少し革新的であるか、開発が急速に進んでいるものは何もありませんでしたフレームワーク。私が見た唯一の利点はルビーでコーディングできることでしたが、それは良いことですが、初期設定、サーバーのメンテナンス、スケーリングがより困難であり、ルビーでのコーディングの楽しさを再相殺しました。
ラックベースのWebアプリケーションについて説明するために、プレゼンテーション(偶然にもOff The Railsという名前)を作成しました。
https://github.com/alexch/Off-The-Rails
gitリポジトリには、Markdown形式のスライドとサンプルコード(実行中のアプリケーションとミドルウェアの形式)が含まれています。ここに要約があります:
Ruby on Railsは、Rubyで最も人気のあるWebアプリケーションフレームワークです。しかし、それだけではありません!Railsが大きすぎる、または独断的すぎる、または何でもあると思われる場合は、Rack上に構築されたいわゆるマイクロフレームワークの新世代について学ぶことができます。また、Rails 3はそれ自体がRackアプリであるため、SinatraルートやGrape APIのメリットを得るためにRailsをあきらめる必要はありません。
そしてここにいくつかの参照があります:
お役に立てば幸いです。
私は主にWeb開発者であり、RubyでRailsを使用することを学びましたが、JRubyとMonkeybarsを使用してRubyでデスクトップSwingアプリケーションの開発を始めたので、この言語が好きです。私はJavaに長けていますが、それを使うのはあまり好きではなく、Swing APIは恐ろしいので、Rubyを上に置くことは大きな勝利でした。
私たちは主にRailsを使用していますが、他の多くのRails以外のRubyのものもあります。たとえば、ユーザーを集中認証するためのスタンドアロン認証デーモンのものや、任意の数のRubyプロセスを実行して並列に画像を処理する「画像処理サーバー」などです。
ああ、古き良き熊手を忘れないでください:-)
Rubyを使用してテスト自動化ソフトウェアを実装します。これには、Selenium RC、WATIR、AutoITのテストフレームワークとドライバーコードが含まれます。
Rubyは、SeleniumやWATIRなどのテストツールとやり取りできる包括的なアプリケーションを作成すると同時に、データファイルからの読み取り、リモートのWindows UIとの対話、およびほぼ透過的なネットワーク通信の実行に十分強力です。すべてWindowsまたはLinuxで実行中。
整然とした構文は、初心者および未経験のプログラマーが読むのに理想的です。その完全なオブジェクト指向の性質により、同じプログラマーが最初から優れた(最近学んだ)オブジェクト指向の手法を簡単に適用できるようになります。
Rubyの構文の柔軟な性質により、DSLの使用と作成もはるかに簡単になります。これにより、技術にあまり詳しくない人でも、独自のテストを実行したり、読んだり、場合によっては作成したりできます。
要件が不安定なプロジェクトで、C#およびT-SQLストアドプロシージャのコード生成にRubyを使用しました。データモデルはYAMLファイルにエンコードされ、クラスとストアドプロシージャには.erbテンプレートが使用されました。また、コードジェネレーターで繰り返しコードを単一のメソッドに分解できるため、ストレートC#で可能なものよりもはるかに多くのDRYソリューションが可能になります。
私はwebdriverユーザーです。rubyは、rakeのおかげでビルドプロセスを自動化するためにwebdriverによって使用されます。詳細については、http://code.google.com/p/webdriver/を参照してください
ええ、素晴らしい質問です。
パイロット用のアプリを作成しているときに、Rubyを使用してExcelスプレッドシートの空港施設データをAndroid電話プラットフォーム用のsqlite3に変換しました。
RubyとRailsよりもはるかに簡単なSinatraを使用しています。私はRailsを使用しましたが、RailsはJavaで使用可能なWebフレームワークと比較してまだ素晴らしいですが、それが少し怪物に変わっていることに気づきました。
ただし、Rubyの主な機能は「eval」と「method_missing」です。これは、Railsが実際にたとえばActiveRecordで使用しているため、驚くべき「find_by-field-name-」クエリを使用できます。
ボルダーには、毎月会う優れたRubyユーザーのグループがありました。この点は、RubyはRailsでの使用以外にも存在するということです。単純なRubyユーザーは存在し、注意を求めており、見栄えの良いものを持っていて、ユーザーグループ会議でお互いを見つけることができます。
彼らはまた、その月の同じ日に会ったPythonグループよりも良いピザを食べました。1つだけ選択できます...