問題タブ [scalatra]
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.
scala - Akka、Scalatra、および Web 状態に関する質問
これは 2 つの部分からなる質問です。1 つは実装方法よりも設計に関する問題であり、もう 1 つは Akka の実装に関する問題です。
私は Scalatra を使用して、呼び出されたときに複数のソースから画像を取得し、操作して返す REST サービス エンドポイントを構築しています。これは潜在的に非常に長時間実行されるプロセスであり、単一の http 要求/応答サイクルで許容されるよりも長くなる可能性があります。
これについての私の考えは、呼び出しが行われると、一連の akka アクターを起動して画像リソースをプルし、結果を画像処理アクターに渡してスケーリングなどを行うというものです。最初のリクエスト自体は、何らかの種類の処理中の結果を返す別のエンドポイントへの後続のポーリング呼び出しを行うために使用できる処理 ID と、ポーリングを停止するようにクライアントに知らせるために利用可能な結果が他にあるかどうかを判断するためのフラグ。
私の質問は次のとおりです。
- これはデザインの観点から意味がありますか?
- このアプローチを使用する場合、処理された画像を取得するための後続の各リクエストは、クライアントが既に受信した画像を知るために、何らかの状態認識を備えている必要があります。この状態をどのように管理しますか?
- 私はこれを見たことがありませんが、長時間実行されるコメット スタイルの HTTP 要求は、この状況でポーリングするよりも理にかなっているでしょうか?
実装部分
上記のような設計になると仮定すると、私は Scalatra と Akka (または任意の Actor パラダイム) に非常に慣れていないため、いくつか質問があります。
わかりました、最初の 1 つは Scala/Scalatra 固有の質問だと思います。わかりました、私は akka http://www.scalatra.org/guides/async/akka.htmlの Scalatra ドキュメントを見ました。この例では、次のようにアプリケーションのブートストラップをセットアップしました:
scalatra のブートストラップはアプリケーションの起動時に 1 回行われると想定しているため、system.actorOf(Props[MyActor]) は単一のインスタンスを作成しますか、それともリクエストごとに 1 つ作成しますか?
次に、MyActor クラス (またはより適切な名前) が次のことを行ったとします。
この場合、画像を取得する場所が複数あるため、複数のアクタがこのデータを取得します。適切な画像が見つかると、複数のアクターが画像の処理に使用されます。私のデザインを使用する場合、特定の ProcessingId に対して使用可能な処理済みの画像がこれ以上ないことをどこかにフラグする必要があります。これは、特定の ProcessingId に対してすべての画像検索および画像処理アクターがいつ終了したかを知る必要があることを意味します。どうすればいいですか?
それは多くの質問でした。消費する情報が理にかなっているといいのですが。
乾杯。クリス。
pug - JavaScript 内での Jade 補間
(注意してください、これは Scalate Jade です。それが違いを生む場合)
私は次のルートを持っています:
そして、このfruity.jade
テンプレート:
次のようにレンダリングされます。
fruit
JavaScript 部分の値は補間されません。javascriptで解決するにはどうすればよいですか?
scala - Dispatch Databinder 0.10 を使用して xml を処理するときに文字セットを設定する
アップストリーム API を Scalatra アプリケーションでラップし、Dispatch を使用して非同期リクエストを作成しています。しかし、上流の XMLxml.Elems
を Dispatch の組み込み XML 処理サポートを使用するように変換するのに問題があります。
Dispatch ドキュメントにあるものとかなり似たようなことをしようとしています。つまり、上流の XML を取得して再処理を行います。問題の関数は次のようになります。
これにより、次の結果が得られます。
上流の API は文字セットを送り返しておらず、それを取得するとき、Dispatch は XML が始まる前にバイト オーダー マークでそれを表示しています: <?xml version="1.0" encoding="utf-8"?>
.
Dispatch の以前のバージョンでは、次の方法でこの問題が解決されていることがわかります。
ただし、現在、Dispatch 0.10 でこれを機能させる方法がわかりません。返されたものを解析できるように、この応答に文字セットを設定するためのヒントはありますか?
web-services - Scala で外部 Web サービスをモックする最も軽量な Web サービス フレームワーク
Play WS ライブラリからアクセスする外部 Web サービスに依存するコンポーネントをテストしようとしています。このコンポーネントは、Web サービスの URL を受け取ります。
コンポーネントを偽の Web サービスに接続して、コンポーネントを単体テストしたいと考えています。
この目的により適した scala Web フレームワークはどれですか?
scala - Scalatra アプリケーションの「webapp」ディレクトリの場所を変更するにはどうすればよいですか?
デフォルトでは、Scalatra は「webapp」ディレクトリが にあると想定していますsrc/main/webapp
。それをどのように変更できcontent/doc-root
ますか?
sbt では、次のようなものを使用してデフォルト ディレクトリをカスタマイズできます。
したがって、使用する正しい「構成キー」を知っているだけの問題だと思います...
scala - Scala: Google/Facebook 資格情報を使用して、Heroku の openID を介してアプリケーションのアクセス制御を提供する方法
Heroku で Scala を使って趣味のプロジェクトを書いています。現在、http 基本認証を使用する独自の認証メカニズムがあります。代わりに、Google や Facebook などの既存の資格情報を使用できるようにしたいと考えています。Rubyには、トリックを行うはずのomniauthがあることを知っています。Heroku で動作する Scala の同等のソリューションはありますか? Web スタックとして Scalatra を使用しています。
scala - Scalatra はオブジェクトを JSON にシリアライズしますが、その関係はシリアライズされません
私は Scalatra と Squeryl を使用してシングル ページ アプリケーションの例を作成しているため、常に JSON を返す Scalatra サーブレットが必要です。関係のないオブジェクトをシリアル化するときに完全に機能します。
クラス City と ManyToOne 関係を持つクラス Address があります。
そして、それは私のサーブレットです:
サーブレットがオブジェクト Address をシリアライズするとき、すべての属性をシリアライズしますが、関係はシリアライズしません。結果は次のとおりです。
そして、私が受け取りたいのは:
この方法でjsonを作成するにはどうすればよいですか?