問題タブ [pluggable]
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.
.net - プラグ可能なコンポーネントをローカライズする方法
個別の dll からいくつかのコンポーネントを動的にロードするアプリケーションがあります。これらのコンポーネントには固定名がありますが、ローカライズされた名前をユーザーに表示したいので、名前をローカライズする必要があります。
名前をローカライズする必要があるという事実は、コンポーネント自体の問題ではないため、コンポーネントのモデルを DisplayName や LocalisedName などのプロパティで汚染したり、コンポーネントのリソースをコンポーネントのdll。しかし、これらのコンポーネントはプラグ可能であるため、表示名のリソースをアプリケーションにライブにすることはできません。新しいコンポーネントを追加したときに、アプリケーションのリソースを更新する必要があり、コンポーネントをプラグ可能にするポイントが無効になります。 .
この問題の一般的な解決策はありますか? 考えられる解決策は次のとおりです。
1\ 名前を表示するために GUI コードが呼び出す表示名というプロパティがあります。これは、コンポーネントを含むアセンブリと同じ dll (またはサテライト dll) に存在するリソースで問題なく動作します。しかし、これはコンポーネントが気にするべきではない情報でモデルを汚染しているようです。
2\ GUI を備えたアプリに、名前付きコンポーネントのリソースを独自のリソース ファイルから検索させます。これは、動的に読み込まれた新しいコンポーネントを含む新しいアセンブリが追加されたときにアプリのリソースを更新する必要があるため、失敗します。
3\ コンポーネントのローカライズされた名前について、コンポーネントの元となったアセンブリのリソースをアプリで調べます。ローカライズされた名前がコンポーネントのアセンブリに存在するため、コンポーネントと共に配布されるため、これは適切に思えますが、プレゼンテーション レイヤーを使用するアプリは、コンポーネント dll からローカライズされた文字列のルックアップを開始するため、コンポーネントはその名前について何も知る必要がありません。ローカリゼーションとそのモデルが汚染されていません。
オプション3は可能ですか?考慮していない他のオプションはありますか?
乾杯...
.net - これは、プラグ可能なコンポーネントのローカライズに適したソリューションですか?
以前、答えが 1 つしかない質問をしました。私は今これをいじって計画を立てる時間がありましたが、それが良いアイデアであるかどうかについてのフィードバックが欲しい.
問題:
コンポーネントのモデルを DisplayName 属性で汚染することなく、名前 (コンポーネントを識別するために使用される不変) を持つコンポーネントの名前を、それを消費するアプリケーションでローカライズする必要があります。コンポーネントは別の dll に存在し、実行時に動的にロードされる場合があります。
私の感じでは、コンポーネント dll はローカライズされた名前を提供する責任があるべきですが (これは良いカプセル化のようです)、コンポーネントを消費するアプリケーションはローカライズされた名前を取得/使用する責任があるはずです (コンポーネントが別の名前を持っているという事実)。表示目的はコンポーネントの問題ではなく、そのコンポーネントを使用する「ビュー」の問題です)
ソリューション:
コンポーネント クラスが含まれるファイルと同じ名前のコンポーネント dll にリソースを追加します。コンポーネントの名前であるキーを使用して文字列をリソースに追加します。
アプリケーションで、次のようにローカライズされた名前を取得します。
このコードはおそらく Localiser クラスにカプセル化されますが、ポイントを伝えます。これはうまくいくようですが、それは良い考えですか、それともこれを行うためのより良い/より標準的な方法はありますか?
編集:このソリューションでよくわからないことの1つは、クラスが含まれているファイルと同じ名前の.resxファイルにリソースが含まれている必要があることです。これにより、機能します。タイプ名からリソースファイルを識別できるためです。これは、フォームのローカリゼーションが機能しているように見えるのと同じで、Visual Studio に .cs ファイルの「サブコンポーネント」として .resx を配置させます。しかし、このファイルを編集しようとすると、Visual Studio は (別のプロジェクト アイテムの一部であるリソースの編集に関する) 警告をスローします。
java - Java でプラグ可能な非同期プロトコルを使用する HTTP リクエスト
Java で「xy:index.html」のようなリソースに HTTP リクエストを行う必要があります。
HTTP の実装は、洗練されている必要はありません。サーバー側のHTTPリクエストを「xy」プロトコルに転送することにより、GWTアプリの開発モードで実行するときに同じオリジン違反を回避するために、これを実行できる必要があります。
どうすればこれを行うことができるかについての手がかりは非常に高く評価されます. 私はこれで私のリーグから少し外れているように感じます;)
python - プラグ可能な Python プログラム
プラグインをサポートする PyQt4 プログラムを作成したいと考えています。基本的に、ユーザーが PyQt4 で QWidget サブクラスを記述し、GUI を介してメイン アプリケーション ウィンドウから追加/削除できるようにしたいと考えています。特にプラグインメカニズムはどうすればいいですか?
asp.net-mvc - プラグ可能なASP.NETMVCフレームワーククエリ
プラグ可能なASP.NETMVCフレームワークを作成しようとしています。私はPrism(SilverlightのCAB)を幅広く使用しており、大ファンであり、プラグイン可能なASP.NETMVCフレームワークに次のアイテムを実装したいと考えています。
フレームワークには、ユニティコンテナや、ロギングサービスなどの他のインフラストラクチャアイテムをロードするためのホストがあります。
プラグインは独立したMVC2アプリケーションになります。すべてのアプリケーションには、UnityでControllers / VIEWS(これは可能ですか!!!)タイプを初期化して登録するIModuleインターフェイスが実装されますか?
このIModuleは、プラグインごとにカスタムルートを登録し、それをホストのルートコレクションに追加します。
アプリケーションが起動すると、プラグインリストがデータベース/外部ファイルから読み込まれ、プロジェクトのIModuleが呼び出され、Unityコンテナに上記のアイテムが読み込まれます。
リクエストが行われるたびに、コントローラーがユニティからロードされ、ビューがロードされます(dllにリソースを埋め込むのではなく、物理パスを指すカスタムビューエンジンをユニティに登録することは可能ですか)
これは可能ですか。質問は少しばかげているように聞こえるかもしれません...:)
perl - プラグ可能/動的データ処理/変更/変換 perl モジュール?
perlmonks からの相互投稿:
$work にある大雑把で古いコードをクリーンアップする必要があります。新しいモジュールを作成する前に、適切なものを誰かが知っている場合は、既存のモジュールを使用したいと思います。
実行時にファイルを解析して、一連のデータに対してどのような処理を行う必要があるかを判断します。
もし私がモジュールを書くとしたら、もっと一般的に (DBI 固有ではない) しようとしますが、私の正確なユースケースは次のとおりです:
SQL ファイルを読み取って、データベースに対して実行するクエリを決定しました。上部のコメントを解析し、
- 列 A には as/// を適用する必要があり、
- 列 B は、指定された形式の日付のように変換する必要があります。
- 列 C は一種の tr/// を取得します。
- さらに、列 D が s/// になるように連鎖させることができ、1 または 2 でない場合は 3 に設定します。
そのため、データベースからフェッチするとき、プログラムはデータを返す前にさまざまな (おそらくスタックされた) 変換を適用します。
現在、コードはひどく大きくて難しい一連の if 句を処理しており、命令の配列を読んだり維持したりするのが非常に困難です。
したがって、私が想像しているのは、おそらくこれらの行を解析し (さらに機能的なインターフェイスを公開し)、適用するプロセッサのリストを積み重ね、渡されたデータに対してそれを実行できるオブジェクトです。
必要に応じて、名前/カテゴリ オプションを指定して、1 つのオブジェクトを動的に使用して、特定の名前/カテゴリ/列のプロセッサのみをスタックすることができます。
伝統的に考案された例:
各プロセッサ (gsub、date、exchange) は個別のサブルーチンになります。プラグインは、名前でさらに追加するように定義できます。
当然の最初の質問は、私が使用できるモジュールを知っている人はいますか? これまでに見つけることができたのは [mod://Hash::Transform] だけですが、実行時にどの処理を動的に行うかを決定するため、常に「複雑な」オプションを使用することになります。パーサー/スタッカーをビルドする必要があります。
私が利用/ラップしたい同様のモジュール、またはわずかに関連するモジュールを知っている人はいますか?
公共の消費のための一般的なものが何もない場合(確かに私のものだけが暗いパンではありません)、覚えておくべきことやインターフェイスの提案、またはDBIからのデータの戻り値を変更する以外の他の可能な用途について、誰かアドバイスがありますか?テキスト::CSVなど?
新しいモジュールを書くことになった場合、名前空間の提案はありますか? Data:: の下の何かがおそらく適切だと思います... 私のユースケースは PAM を思い起こさせるので、「プラグ可能」という言葉が頭に浮かび続けますが、本当に良いアイデアはありません...
- データ::プロセッサ::プラグイン可能?
- Data::Munging::Configurable ?
- 私::噛む::データ ?
authentication - PAMモジュールからいくつかの情報を求める方法
ssh用のプラグゲーブル認証モジュールを書いています。ユーザー名とパスワードの確認後、ユーザーにアクセスを許可する前に、いくつかの追加情報の入力を求めるプロンプトを探しています。誰かが私がこれをどのように行うべきかを提案できますか?
実際、SSHの後で、他のいくつかのサービスにも同じように拡張したいと思います。だから私はいくつかのPAMモジュールレベルの提案を見ています。
[編集]解決策:PAMが提供する会話機能を使用しました。これは、PAM対応アプリケーションとモジュール間の通信に使用されます。
ありがとう、GG
wordpress - ヘッダー情報を変更できません - ヘッダーは既に送信されています... Wordpress の問題
このエラーが発生しています。そして、私はこれを扱う考えがありません。
ヘッダー情報を変更できません - /home/ben213/public_html/wp-includes/pluggable.php の (/home/ben213/public_html/wp-content/themes/Bendaggers/functions.php:9 で開始された出力) によって既に送信されたヘッダー934行目
私のFunctions.phpファイルの行番号9は次のとおりです。
私のpluggable.php#934は
function wp_redirect($location, $status = 302) { global $is_IIS;
私はプログラマーではないので、これを理解するのに苦労しています。何が間違っているようですか?どうか私を助けてください...
java - Maven から Pluggable Annotation API Processor を実行するには?
Maven から javax.annotation.processing.Processor 実装を実行するにはどうすればよいですか? aptではなく、 Java 6 Pluggable Annotation APIを本当に使いたいです。
asp.net-mvc-3 - ServiceStackのASP.NETMVCのプラグインアーキテクチャ
ServiceStackモジュールはとても興味深いものです。IpluginインターフェースはRESTサービスにも非常に適しています。しかし、プラグ可能なMVCはどこにありますか?:)何か計画はありますか?私がプラガブルMvcと言うとき、私はプラガブルエリアを意味します!