問題タブ [stateless]
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.
ajax - 私のRESTガンに固執するか、無国籍を破りますか?アドバイスが必要
私はRESTfulサーブレットを作成しましたが、UI開発者はログイン状態をサーバーに保存したいと考えています。
彼はこの奇妙な主張をしました:「私は純粋なRESTである本番REST実装に遭遇していません。私が見たものはすべてサーバーにセッションを維持させました。」
これを受け入れるのは難しいと思います。まず、純粋にRESTfulなプレーンHTTPページがたくさんあるという技術があります。第二に、はい、「ゴールド」とラベル付けされた真ちゅうがあるのと同じように、RESTfulとラベル付けされた非RESTful実装があります。第三に、他のみんなが橋から飛び降りたからといって、私がそうすべきだという意味ではありません。
背景:HTTPSと基本認証を使用するJavaScriptAjaxWebアプリケーションです。通常の(カスタマイズできない)ブラウザログインポップアップボックスを回避するために、アプリケーションは、製品ロゴと名前とパスワードのテキストボックスを含むログイン画面を表示します。名前とパスワードはドキュメントに保存され、リクエストごとにAuthorizationヘッダーで送信されます。ページを更新すると、名前とパスワードが失われるため、ユーザーはそれらを再入力する必要があります。これはバグと見なされます。UI開発者は、パスワードを再度入力せずに更新ボタンを押すことができるようにしたいと考えています。
そのため、開発者はCookieまたはJSPセッションを使用したいと考えています。アビー、結局のところ、すべてのREST実装がサーバー上でアプリケーションの状態を維持しているというのは本当ですか?または、この問題を解決し、RESTfulな純度を維持する方法はありますか?
java - TopLinkでの自律トランザクション
私は問題に直面しています。TopLinkで自律トランザクションを実装したいのですが、それが可能かどうかについてはあまりよくわかりません。ステートレスセッションがあるので、休止状態にも取り組んでいます...TopLinkにも同じものがありますか...助けてください。
nhibernate - Nhibernate: バッチ処理と StatelessSession
構成ファイルにバッチ値を設定するだけで試してみました.25000エントリを挿入すると、バッチ処理を行わない場合よりも時間がかからないため、それを使用すると目に見える利点があることがわかります. 私の質問は、カウンターの兆候は何ですか、またはバッチ処理を使用する危険性は何ですか? 私が見ているように、バッチ値を設定して有効にすることだけにメリットがあります。
別の質問は、StatelessSession に関するものです。私もこれをテストしていて、scope.Insert を実行すると、通常のセッションの scope.Save を実行するよりも時間がかかることに気付きましたが、コミットすると非常に高速です。StatelessSession からの挿入に通常のセッションからの保存よりも時間がかかる理由はありますか?
前もって感謝します
java - 主にステートレスな Web アプリケーションを Wicket で作成するのは難しいですか?
ここ 1、2 か月間 Wicket を使って簡単な Web アプリケーションを作成し、モデルなどに慣れてきました。ここから先に進み、これまでに学んだことを使用して中規模/大規模の Web アプリケーションを作成できるかどうかを確認したいと思います。ただし、ページをステートレスにする方法についてはあまり考えていませんでした。
私の理解が正しければ、ページをブックマーク可能にし、ステートフルなコンポーネントがページに追加されないようにすることで、ステートレスなページを作成できます。
私が作成しているWebサイトでは、「ページの期限切れ」メッセージを回避し、ユーザーがCookieを介してログインできるようにし、ログイン/セッションの作成を必要とせずに多くのコンテンツを利用できるようにし、ページネーションなどの機能を有効にしたいステートレスでブックマーク可能。
これは PHP などでは問題ありませんが、便利な Wicket コンポーネントの多くがステートフルであるように私には思えます。ステートレスなコンポーネントの独自のセットを作成するなど、大量の作業が必要ですか、それとも大したことではありませんか?
誰かが私を正しい方向に向けて助けてくれることを願っています。
編集:ブログを作りたいとしましょう。ユーザーが 2 時間記事を読むことを決定し、ページネーションなどを介してさらに移動しようとすると、ページが期限切れになることを心配することなく、投稿、カテゴリなどを閲覧できる必要があります。ユーザーが一度に 1 か月間ログインしたままにできるようにしたいのですが、セッションを 1 か月間保存したくありません。
Wicket を使用して、今説明したことをどのように達成できるかについて、助けていただければ幸いです。
session - テラコッタは専門的に使用されていますか?
今日、職場で同僚や上司とステートレス/ステートフル Bean について話し合いました (JSF を使用したプロジェクトを終了したばかりで、この会社で JSF 関連のことをしたのはこれが初めてでした)。セッションスコープのBean(または会話/キープアライブスコープのBean)はあまり好きではありません。彼の議論の 1 つは、たとえば 4 つの Tomcat があり、ユーザーからの要求がある場合、毎回同じ Tomcat によって「キャプチャ」されるかどうかは確かではなく、問題は、初めてリクエストが来て、セッション Bean が作成されると、その 1 つの Tomcat でのみ作成され、他の Tomcat はそれを知りません。
彼が言及した解決策の 1 つは、特定のユーザーからの要求を毎回同じ Tomcat で処理するよう強制する、いわゆる「スティッキー セッション」でした。彼によると、2番目の解決策はすべてのデータを「ビュー」に保存することですが、それは状態全体をPOSTに保存することを意味します.どういうわけか私はその考えがあまり好きではありません. 次に、状態をDBに保存し、それを必要とするリクエストが届いた場合にクエリを実行することについて言及しました。私はそれが非常に大きなパフォーマンス ヒットになると思っていましたが、DB はそのようなタスクに対して準備されている必要があるため、実際には問題にはならないと彼は言いました。
私が興味を持っている最後の解決策は、Terracotta Server でした。彼の話によると、すべての Tomcat のセッション Bean を格納することになっています (Tomcat と同期され、リクエストが来ると、内部でセッション Bean を探します)。テラコッタ)。クールでスケーラブルなように見えますが、大規模なプロ用システムで使用されたことは実際には見たことがないと彼は言いました。そうですか? いくつかの情報を試してみましたが失敗しました。Terracotta に何か問題があり、人々がそれを使用できなくなっていますか?
api - ステートレスRESTAPIを実装する方法
私は、モバイルアプリを作成する開発者が使用するRESTAPIに取り組んでいます。ユーザーはサードパーティのサービス(Google、Twitterなど)を使用して自分自身を認証できます。これは主にOAuthによって処理されます(問題のサービスによって異なります)。クライアントアプリケーションとAPIサーバーの間で2本足のOAuthを使用します(コンシューマーキー/シークレットがアプリ固有である場合、開発者はアプリが登録されたときにサイトから取得します)。
私の問題は、ステートレスな方法でユーザー認証を追跡する方法です。各リクエストで送信するユーザーの資格情報がありません。ユーザーがログインしたときに一意のsession_idを作成し、RESTAPIへの各リクエストでそれを要求することができます。私の問題に対する他の解決策はありますか?一意のsession_idを使用してユーザーを識別すると、ステートレスREST APIの観点から問題が発生しますか?
asp.net - ASP.NETを使用して、ユーザーがページを離れるときに常にサーバー側のコードを実行する方法はありますか?
ユーザーがASP.NETでページを離れるときに、サーバー側のコードを常に実行する方法があるかどうか疑問に思いました。ページのアンロードイベントは、誰かがリンクをクリックしても呼び出されないため、適切ではありません。理想的には、ユーザーがブラウザーを閉じてもコードを実行したいと思います。
私が求めていることは不可能だと思いますが、尋ねても害はありません
java - Java Persistance Application ステートレスとステートフルの比較
私はJPAを初めて使用し、ステートレスとステートフルの使用と違いを理解できません。
経験はありますか?
よろしく、ヘイザム
terminology - ステートレス vs ステートフル
プログラミングにおけるステートレスおよびステートフル設計に関する具体的な情報を含む記事に興味があります。詳しく知りたいので興味はありますが、良い記事がなかなか見つかりません。私はウェブ上で主題について漠然と議論している記事を何十も読んだことがあります。または、ウェブサーバーとセッションについて話している記事を読んだことがあります. . 例: BL クラスは設計上ステートレスであり、エンティティ クラス (または少なくとも私はそう呼んでいます - Person(id, name, ..) のように) はステートフルである、などと聞いたことがあります。
理解することができれば、より良いコードを書くことができると信じているので、知ることは重要だと思います (たとえば、粒度を念頭に置いて)。
とにかく、本当に短いですが、ステートフルとステートレスについて私が知っていることは次のとおりです。
ステートフル (WinForms など): 後で使用するためにデータを保存しますが、CPU またはメモリの制限によって制限されるため、アプリケーションのスケーラビリティが制限されます。
ステートレス (ASP.NET と同様 - ASP は ViewStates でステートフルになろうとしますが): アクションが完了すると、データが転送され、インスタンスがスレッド プールに戻されます (アモルファス)。
ご覧のとおり、かなり曖昧で限られた情報です (そして、サーバーとのやり取りにかなり焦点を当てています)。そのため、もう少し有益な情報を提供していただけると本当にありがたいです :)
asp.net - 「ステートレス」に移行し、スクリプトを動的にロードする
私が知りたいのは、これに直角からアプローチしているかどうかです。
作成しているasp.netアプリがあります。アプリの全体的な外観にマスターページを使用しています(以下にコードを示します)。
メニューシステムにjQueryの.load()
関数のような動的ロードを使用してコンテンツをロードしてもらいたいのですが。それは大丈夫です、そして私はそれを持っています。この.load()
関数はinnerHTML
、そのコンテンツをページに送り込むために使用します。これは、そのページでモジュール固有のスクリプトとスタイルをロードする場合に問題になります。
私の質問は、このような環境で、これらのモジュールのスクリプトをどのようにロードするのですか?アプリの初期ロード時にすべてのスクリプトをロードする必要がありますか?このアプリは決して「それほど大きく」なることはありませんが、万が一に備えて正しく実行するようにしたいと思います。
マスターシート
Contentタグ内のモジュールの例
div
私のアイデアは、「includeScripts」のIDを持つ各モジュールにを設定し、このようなマスターシート内のメソッドからそれらをロードすることでした。この方法は機能しますが(明らかに多少の調整が必要です)、ユーザーがモジュールをクリックし続けると、最終的にすべてのファイルがロードされます。その場合は、それらすべてをマスターシートにロードすることもできます。
MasterPageがロードされたときに実行されるJS