問題タブ [trinidad-gem]
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 - ハッシュから値を取得する
私は宝石を使用していtwitter_oauth
ます。トークンを入れると、access_token
. このハッシュの情報にアクセスしたいのですが、何らかの理由でアクセスできません。私ができる最善のことは、それを調べることです:
私は次のように値にアクセスしようとしました:
そして、これらすべてが内部サーバー エラーを引き起こしました。エラーが報告されたとき、他の情報は提供されませんでした。
JRuby 1.7 RC2 と最新の Trinidad Web サーバーを使用しています。WEBrickでもこれを試しましたが、同じエラーが表示されます。
session - セッション値は保持されません
背景情報として、トリニダード サーバーで JRuby(最新、1.7 RC2)/Sinatra ミックスを使用しています。
私が出力として期待するのは(コメント付き):
しかし、私が本当に得るのは次のとおりです。
そして、投稿後、/signed_in
実際に出力する必要があるときに、まだ出力する値がありませんtrue
。
これらの値が保持されないのはなぜですか? いいえ、私は Shotgun を使用していません。セッションを有効にしており、セッション シークレットを設定しています。
jsp - JRubyを使用してJavaEEサーブレットWebアプリケーションでJSPを置き換える
私は新しいtorquebox(JBOSS)アプリサーバーで遊んでいますが、これまでに見たものと同じように、rubyアプリはjavawebappsから分離されているようです。セッションを共有できると読んだのですが、それらが別々のWebアプリとしてサイロで実行され、それらをブレンドすることはあいまいであるようです...これはすばらしいことです。
Java EEサーブレットJSPスタイルで構築された従来のWebアプリがあり、使用されているJSPの代わりにプレゼンテーション層ロジックとしてrubyを使用できるようにしたいと考えています。
Webリクエストコンテキストからrubyリソースを実行できるはずです。apache mod_rubyがrhtmlを処理するために開始するのと同じように...(目標:tomcatまたはJBossにこれを実行させるためにトリニダードまたはトルクボックス)
たとえば、HelloWorld.jsp(Javaパッケージを呼び出すことができます...)をHelloWorld.rhtmlまたは.rbに置き換えることができますか?また、JRubyであるため、Javaクラスを呼び出すこともできます。
今のところ、RoRアプリを個別にsinatraで作成できますが、ルビーWebアプリのJavaではなく、JavaWebアプリのルビーが必要です。
私が求めていることがTorqueboxまたはTrinidadで現在可能かどうか誰かが知っていますか?
ruby-on-rails - RailsとTrinidadのデバッグ
私はトリニダードを使用するRails3アプリに取り組んでいます。私はRubyMine(4.5)を使用していますが、アプリをデバッグする方法を一生理解できません。非デバッグモードのIDEからは正常に実行されますが、デバッグしようとすると、トリニダードアプリをデバッグできないと表示されます。なぜこれを言うのですか?
また、コマンドラインからtrinidadとrdebugを実行し、リモートデバッグ構成を使用してRubyMineから接続してみました。アタッチすることはできますが、ブレークポイントを設定できません。また、rubyコードへの変更は、再起動しないと有効になっていないようです。
RubyMineからデバッグするときにWebrickを使用することで、これらの問題をほとんど回避できたと思いました。その場合、ブレークポイントを設定してヒットすることはできますが、それでも何らかの理由で、サーバーを再起動するまで、rubyコードに加えた変更は有効になりません。実際、ルビーコードをオンザフライで変更できる唯一の方法は、アプリを非デバッグモードで実行しているときです。
ですから、私がやりたいのは、RubyMineのトリニダードを使用してデバッグし、その場でルビーコードを変更できるようにすることです。または、それが不可能な場合は、RubyMineのWebrickを使用して、コードをオンザフライで変更することもできます。
助けてくれてありがとう!
jruby - Trinidadのjruby/railsのJarを含める
トリニダードでjrubyアプリケーションを実行しようとしています。
readmeに続いて、トリニダードgemをgemfileに含めて、実行しました。
rails server -e production -p 80 -d trinidad
ブラウザでサーバーにアクセスすると、データベースドライバの正しいクラスが見つからないというエラーメッセージが表示されます。これは、lib/odbc6.jar
WEBrickを使用してプロジェクトを実行すると正常に機能します。エラーメッセージは次のようになります。
私は何が間違っているのですか?
ruby-on-rails - Setting Public folder with Trinidad Gem
I'm running a rails application using the trinidad gem. I'm using the method that lets me use it with the Rack handler:
However, it gives me a bunch of 404 errors whenever I try to access something in the rails public/
folder. The readme seems to suggest that I add the --public PUBLIC_DIR
option so that the server knows what to treat as a public folder, but when I add it to my call:
it gives me this error:
Everything else in my views and asset pipeline are being served just fine, so I suppose I can just stick everything in an asset folder but I'd like to do it right if possible. Also, it would appear that since the public folder isn't being served properly, any precompiled assets would also not be found.
trinidad-gem - Trinidad への MIME 定義の追加
jruby アプリケーションをホストするために trinidad gem を使用しています。
ただし、.woff
または.ttf
フォント ファイルの要求には、400 Bad Request
.
プロジェクトをwarbler
jar ファイルに入れ、通常の Tomcat インスタンスに jar ファイルをダンプしていたとき、これらの拡張子の MIME タイプ定義をweb.xml
.
ただし、トリニダード宝石が使用するTomcatのインスタンスに対してこれを行う方法がわかりません。ドキュメントにはそれがリストされていないようです。web.xml
Webアプリケーションのデフォルトとして使用するファイルを指定することについて言及していますが、それはフォルダーに配置されているようで、TomcatのファイルWEB-INF
を入れてもサーバーは起動しません。conf/web.xml
また、次の行を に追加しようとしましたconfig/initializers/mime_types.rb
。
しかし、これはフォルダーに影響を与えるようには見えませんpublic
(もしそうなら、私は驚くでしょう...)。
これを行う方法はどこにありますか?
jruby - Trinidad と Jruby on Rails アプリで Apache を構成する
トリニダードのドキュメントには、Jruby on Rails アプリを起動して実行する方法が詳細に記載されていますが、トリニダード サーバーを使用するように Apache を構成する方法について、誰かが教えてくれたり、良いチュートリアルを教えてくれたりできますか?
sinatra - jrubyでのsinatraアプリのパフォーマンス
私はsinatraアプリを持っていますが、これは私が望むよりもかなり遅いパフォーマンスです。私の最初の疑いは、ボトルネックとなっているのは自分のコードであるということです。そこで、スタンドアロンのベンチマークスクリプトにそれを抽出しました。
make_callsが自分のコードを呼び出す場所。100スレッドに達するまでに、すべてのスレッドでのmake_callsの累積時間は0.6秒であり、これは私の目的には十分な速さです。上記のスレッドでmake_callsメソッドをラップしている理由は、自分のコードがスレッド(java.concurrent.FixedThreadPool(500)を介したJavaネイティブスレッド)/ ExecutorServiceを使用しており、これが次のような環境で正常に動作することを確認したかったためです。他のスレッドモデルを使用する可能性があります。jrubyがウォームアップすると、1つのスレッドでの1回の反復は約0.02秒で実行されます。
したがって、上記は適切ですが、これをsinatraWebサーバーに次のように追加すると次のようになります。
このエンドポイントへのリクエストの応答時間は約0.5秒です-同時リクエストの数を増やすと、応答時間は直線的に増加します。Linuxとsolarisの両方でjruby1.7を使用して、jetty-rackupとtrinidadの両方を使用してこれを試しました。
トリニダードインスタンスを無駄に最適化しようとしました(最大/最小ランタイムなど)。私たちが見た中で最高のパフォーマンスは、いずれかのサーバーをスレッドセーフで実行することです。モードであり、両方のサーバーがこのモードで比較パフォーマンスを示します。
誰かが私に時間を費やしている場所やこの設定を改善する方法を説明できますか?
jruby - トリニダードを jruby-rack の代替バージョンに依存させる最も簡単な方法は?
現在の Trinidad gem は jruby-rack 1.1.0 に依存しており、アセットごとに開発ログにいくつかのエラーが表示されています。
/Users/bijan/.rvm/gems/jruby-1.7.3/gems/rack-1.4.5/lib/rack/utils.rb:399 warning: multiple values for a block parameter (2 for 1)
これは、現在の jruby-rack (1.2) マスター ブランチで明らかに解決されている問題であり、trinidad をこれに依存させたいと考えています。
Gemfile 内からこれを行う方法はありますか? または、Trinidad gem を fork して別のバージョンの jruby-rack を指定するよりも簡単な別の解決策 (そして、動作しない可能性があるため動作することを望みます)。