問題タブ [jruby]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - JRuby/Windows と (ネイティブ) 拡張機能を区別するにはどうすればよいですか?
JRubyでEventMachineなどを使ってみました。ネイティブ拡張に関するエラーが発生します。これはJavaの制限によるものだと思います。私が Windows を使用しているという事実が、問題をさらに複雑にしていると思います。いくつかの明確化をいただければ幸いです。JRuby で使用できる拡張機能と使用できない拡張機能は何ですか? どうすればわかりますか?ありがとう。
java - Java スクリプトによるセキュリティ (JRuby、Jython、Groovy、BeanShell など)
検証されていないスクリプトをいくつか実行しようとしています (まだ決定されていない言語で書かれていますが、Java ベースである必要があるため、JRuby、Groovy、Jython、BeanShell などがすべて候補です)。私は、これらのスクリプトがいくつかのことを実行できるようにし、他のことを実行できないようにしたいと考えています。
通常は、Java の SecurityManager を使用するだけで済みます。これは非常に単純で、ファイルとネットワークへのアクセス、JVM をシャットダウンする機能などを制限できます。これは、ブロックしたい高レベルのものにはうまく機能します。
ただし、許可したいことがいくつかありますが、提供しているカスタム API/ライブラリを介してのみです。たとえば、直接のネットワーク アクセスで yahoo.com への URLConnection を開くことを許可したくありませんが、MyURLConnection でそれが行われていれば問題ありません。つまり、許可したい一連のメソッド/クラスがあり、それ以外はすべて立ち入り禁止にしたいということです。
この種のセキュリティは、標準の Java セキュリティ モデルで実現できるとは思いませんが、おそらく実現できるでしょう。スクリプト言語自体のパフォーマンスや柔軟性に関する特定の要件はありません (スクリプトは、基本的なループ/分岐を使用した API への単純な手続き型呼び出しになります)。したがって、すべてのリフレクション呼び出しでセキュリティ チェックをチェックする「大きな」オーバーヘッドでさえ、私には問題ありません。
提案?
java - Ruby は BigNum を認識しているのに、なぜ JRuby は BigNum を認識しないのですか?
この大きな整数を入力すると:
ruby 1.86 でコンパイルすると、次のように報告されます。
一方、JRuby (Netbeans では 1.1.4) は驚くべきことに次のように報告しています。
Java には、Ruby の BigNum クラスに対応する BigInteger クラスがあると思いました。もしそうなら、JRuby と ruby が同じ出力を生成することを期待していたでしょう。
ruby-on-rails - Warbler を使用して、バンドルされている gem から Active Record を除外するにはどうすればよいですか?
config/warble.rb
Warbler を使用する場合、バンドルされた gem に Active Record が含まれないようにするには、どの行を追加する必要がありますか? 以下に示すように、既に Active Record を除外していconfig/environment.rb
ます。
config.gems
inのみを使用して同じことを試みましたconfig/warble.rb
が、役に立ちませんでした。
ruby - RSpecGemは依存関係をインストールしていないようです
$> jruby -v
jruby 1.1.4(ruby 1.8.6パッチレベル114)(2008-08-28 rev 7570)[x86-java]
$> gem install rspec
JRubyリミテッドオープンがロードされました。gem install jruby-opensslを使用すると、完全にサポートされます。
http://wiki.jruby.org/wiki/JRuby_Builtin_OpenSSL
正常にインストールされたrspec-1.1.121gemがインストールされまし
たrspec-1.1.12
のriドキュメントをインストールしています...rspec-1.1.12
のRDocドキュメントをインストールしています...
$> spec --help
... / jruby / 1.1.4 / lib / ruby / site_ruby / 1.8 / rubygems.rb:578:in `report_activate_error':RubyGemキュウリが見つかりませんでした(> = 0.1.13)(Gem :: LoadError)
from ... / jruby / 1.1.4 / lib / ruby / site_ruby / 1.8 / rubygems.rb:134:in activate'from
... / jruby / 1.1.4 / lib / ruby / site_ruby / 1.8 / rubygems.rb :157:in
from ... / jruby / 1.1.4 / lib / ruby / site_ruby / 1.8 / rubygems.rb:157:in gem'from
... / jruby / 1.1.4 / bin / spec:18activate'
from .../jruby/1.1.4/lib/ruby/site_ruby/1.8/rubygems.rb:158: ineach
activate'
from .../jruby/1.1.4/lib/ruby/site_ruby/1.8/rubygems.rb:49: in
$>gemインストールキュウリ
(インストールされたキュウリ-0.1.16および依存関係の用語-ansicolor-1.0.3、polyglot-0.2.5、treettop-1.2.4、diff-lcs-1.1.2)
$> spec --help
... / jruby / 1.1.4 / lib / ruby / site_ruby / 1.8 / rubygems.rb:578:in `report_activate_error':RubyGem hoeが見つかりませんでした(> = 1.8.0)(Gem :: LoadError)
from ... / jruby / 1.1.4 / lib / ruby / site_ruby / 1.8 / rubygems.rb:134:in activate'from
... / jruby / 1.1.4 / lib / ruby / site_ruby / 1.8 / rubygems.rb :157:in activate'from
... / jruby / 1.1.4 / lib / ruby / site_ruby / 1.8 / rubygems.rb:158:in each'
from ... / jruby / 1.1.4 / lib / ruby / site_ruby /1.8/rubygems.rb:157:in activate'from
... / jruby / 1.1.4 / lib / ruby / site_ruby / 1.8 / rubygems.rb:157:in activate'
from ... / jruby / 1.1.4 /lib/ruby/site_ruby/1.8/rubygems.rb:158:in each'from
... / jruby / 1.1.4 / lib / ruby / site_ruby / 1.8 / rubygems.rb:157:in gem' from
.. .. /jruby/1.1.4/bin/spec:18 activate'
from .../jruby/1.1.4/lib/ruby/site_ruby/1.8/rubygems.rb:158: ineach'
from .../jruby/1.1.4/lib/ruby/site_ruby/1.8/rubygems.rb:157: inactivate'
from .../jruby/1.1.4/lib/ruby/site_ruby/1.8/rubygems.rb:157: inactivate'
from .../jruby/1.1.4/lib/ruby/site_ruby/1.8/rubygems.rb:158: ineach'
from .../jruby/1.1.4/lib/ruby/site_ruby/1.8/rubygems.rb:157: inactivate'
from .../jruby/1.1.4/lib/ruby/site_ruby/1.8/rubygems.rb:157: inactivate'
from .../jruby/1.1.4/lib/ruby/site_ruby/1.8/rubygems.rb:49: in
$> gem install hoe
(インストールされたhoe-1.10.0および依存関係rubyforge-1.0.3)
$> spec --help
使用法:spec(FILE | DIRECTORY | GLOB)+ [options]
(etc.、etc.、etc.)
「geminstallrspec」は依存関係をインストールしないようです。
Windows上のJRuby専用かどうかはわかりません...他のOSはテストされていません。
ruby - SAPのRubyの新しい実装のRubyプログラマーにとっての重要性は何ですか?
SAPは、ABAP仮想マシン内で実行されるRubyのバージョンであるBlueRubyを発表しました。
これにより、Ruby言語の信頼性が高まるようですが、SAP開発者を除いて、これは他のRubyコミュニティにも適用できますか?
私はこれが他にどのような重要性を持っているのか疑問に思っています。おそらく、Ruby開発者を雇ってSAPプロジェクトに取り組むための追加の仕事の機会はありますか?
Rubyプログラマーにとって他に潜在的なメリットはありますか?
また、私がはっきりしていないこと:MRIとJRubyの他に、いくつの異なる実装があり、RubyプログラマーとしてMRI以外の実装が必要なのはなぜですか?Javaライブラリと統合したい場合は、JRubyが必要になる可能性があることを理解しています。MRIやJRuby以外に実装を検討する必要があるかもしれない他の時間はありますか?
BlueRubyがコンパイルされていることに気づきました。これは大きなメリットであり、これがRubyの最初のコンパイル済みバージョンになるのでしょうか。
申し訳ありませんが、質問が多すぎるかもしれませんが、なぜ/本当にそうなのかわからない場合を除いて、これは大したこととして議論されています。私よりもRuby(およびIT)をよく理解している人々からフィードバックをいただければ幸いです。