問題タブ [catalyst]
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.
perl - Catalyst::Plugin::Authentication::Store::DBIC および Class::DBI の例
Catalyst::Plugin::Authentication::Store::DBIC で Class::DBI を使用しようとしています。CPAN で与えられた例は、Class::DBI では機能しません。たとえば、構成が正しくありません: role_class => 'DB::Role' を role_class => 'MyApp::Model::DB::Role' に置き換える必要があります。単純な DBI を使用して認証を機能させましたが、むしろ使用したいと思いますClass::DBI は私のアプリケーションの残りの部分と同様です。
Class:DBI を使用した Catalyst 認証の完全な例は見つかりませんでした。そのようなチュートリアルを知っていますか?
ruby-on-rails - 多くの依存関係を持つフレームワークを使用することの何が問題になっていますか?
私は最近、友人に Catalyst (Perl) を学び始めていると話しました。彼は、Catalyst には非常に多くの依存関係があるため、代わりに Rails のようなものを使用する必要があることをかなり強く強調しました。
依存関係が多いのは良いことではないでしょうか。これは、多くのコードが再利用されていることを示していませんか? フレームワークのインストールに手間がかかることは承知していますが、他にデメリットはありますか?
有益な回答が得られるまで、 Catalyst チュートリアルを再開します。:-)
perl - Content-LengthまたはMIME-Typeに基づいてCatalystのアップロードを中止するにはどうすればよいですか?
http://search.cpan.org/~flora/Catalyst-Runtime-5.80007/lib/Catalyst.pm#ON-DEMAND_PARSERに示すように、parse_on_demandを使用しようとしました。
ただし、アップロードを停止できないようです。すぐに終了するアクションを作成するだけでこれをテストしていますが、ブラウザーは、アクションに到達する前に、選択した非常に大きなファイルをアップロードしているようです。
これは、アップロードの検証に取り組む正しい方法ですか?
perl - Template Toolkitの「より高度なWebツールキット」はどこにありますか?
私はTemplateToolkitが本当に好きで、 Catalystでどのように機能するかが好きですが、もっと「WebAdvanced」ツールキットが欲しいです。
Selector、Selector_DateTime、Menu、Data_TableなどのWebオブジェクトの*.ttファイルのパッケージである可能性があります。
Webのどこかにそのようなものはありますか?そうでない場合は、なぜですか?
perl - Catalystのすべての応答にCache-Controlヘッダーを設定するにはどうすればよいですか?
Cache-Control:
デフォルトでは、Catalystはヘッダーなどを出力しないようです。私はこれらを次のような特定のコントローラーメソッドで出力できることを知っています。
ただし、それぞれの方法でそれを行うのはかなり苦痛になります!私が好むのは:
- デフォルトのヘッダーセット(現在有効期限が切れ、最終変更は現在、cache-control:no-cache、pragma:no-cache)
- メソッドごとに、デフォルトをオーバーライドする方法。
これを達成するための良い方法はありますか?
perl - CatalystでCache-Controlヘッダーを使用しているときにCookieを送信できないのはどうすればよいですか?
Session
、、、Session::Store::DBIC
およびを介してCatalystアプリでセッションを使用していますSession::State::Cookie
。
ヘッダー付きのデータを送信するコントローラーとメソッドがいくつかあるので、ヘッダーがそれらの応答とともに送信されないCache-Control: public
ようにすることが重要です(そうしないと、Set-Cookie:
ヘッダーがキャッシュされて他のクライアントに送信され、セキュリティ上の問題が発生する可能性があります)。私はこれを達成するための良い方法を見つけていません。
特定のリクエストに応じてCookieを送信するかどうかをSession
指定するにはどうすればよいですか?Session::State::Cookie
perl - Catalystアプリケーションの再起動が遅いのはなぜですか?
Catalystアプリケーションをビルドするたびに、アプリケーションの(再)起動が非常に遅くなるまでになります。遅延は約10秒です。今日、私は遅延が次の行によって引き起こされていると考えました:
これらの行はサーバーでのみ必要です。これは、サーバーにrootアクセス権がなく、Perlモジュールがの下にインストールされているため~/opt
です。(ApacheのSetEnv
モジュールは、ホスティング業者がサポートしていないため使用できません。したがって、ライブラリパスをに入力する必要がありますApp.pm
。)ひどい遅延を示す開発マシンには、パスが存在しません。
私の質問:(1)なぜ回線が非常に多くの遅延(約7秒)を引き起こすのですか?(2)これを解決するための良い方法は何ですか?ナイーブ条件use
は機能しません:
どういうわけか私はできると思いeval
ますか、それとももっと良い方法がありますか?
perl - モデルから Catalyst 呼び出しを行いますか?
私はCatalystを使用してCatalyst::Plugin::Authentication
おり
Catalyst::Plugin::Authorization::Roles
、モデルに属性を追加するためのより良い方法があるかどうか疑問に思っています。
各ユーザーは 1 つまたは複数の会社にアクセスできますが、一度に 1 つのプライマリ (現在の) 会社が常に存在します。許可リストはデータベースに保存され、データベースへのアクセスは主に を通じて行われDBIC
ます。
私の最初の傾向は、現在の会社を持っているのはユーザーであり、したがってそれをユーザーモデルの一部として置くことです: ユーザーパッケージに " sub company { … }
" を与えて、ユーザーの現在の会社を取得/設定します。データベースのチェックはかなり簡単です。$self->search_related
" " (ユーザー モデルによって継承される DBIC メソッド) を使用するだけです。
私が遭遇する問題は次のとおりです。
- 現在の会社はリクエスト間で保持する必要がありますが、データベースには保存したくありません (このセッションの間のみ保持する必要があります)。自然な場所はセッションです…</li>
- データベース内のリストを無視して、任意の
root
会社として行動できる、 Unix の に似た役割があります。この役割の確認はデータベースを介して行うことができますが、アプリ内の他のすべての場所で 友人が使用されています。$c->assert_user_role
モデルを可能な限り Catalyst に依存しないようにするのが最善であると聞いています。モデルが を操作するのもかなり奇妙に思え
$c->session
ます。
もちろん、これらのチェックをコントローラーに移動して、コントローラーが送信するものをモデルに受け入れるようにすることもできますが、それは DRY にかなり違反しており、チェックの 1 つをどこかに忘れるとセキュリティ上の問題が発生するだけです。
助言がありますか?それとも肩をすくめて先に進み、モデルでそれを行いますか?
ありがとうございます。いいタイトルが思いつかなくてすみません。
perl - Catalyst の一部を従来の Web アプリケーションに統合するにはどうすればよいですか?
私は古典的なレガシープロジェクトに苦労しています.手動のURL解析と構成、手動ルーティングなど.少しのCatalystを知っているので、少なくともいくつかの概念、たとえば適切な(透過的な)URLルーティングとパラメータ解析などを切望しています. 理想的には、Catalyst をそのまま使用して終了するのが理想ですが、これがレガシー プロジェクトであることを考えると、次の 2 つのオプションしかないと思います。
- どういうわけか、私のプロジェクトで Catalyst の一部を使用しますが、それが可能かどうかはわかりません。それは...ですか?
- Catalyst のフレームワークの一部を実装する単一のモジュールを使用します。どのような経験がありますか?どのモジュールを推奨できますか?