問題タブ [modularization]

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.

0 投票する
3 に答える
723 参照

c++ - スパゲッティ コードのモジュール化

私はまだ C++ の初心者であり、与えられたスパゲッティ コードをモジュール化しようとしています。これまでのところ (git の使い方を学んだり、rarray ライブラリをインストールして自動配列をそれらに置き換えたりすることは別として)、物事をモジュール化し、それを make でコンパイルする方法について、ちょっと困惑していました。

ヘッダーでプロトタイプを作成し、関数からオブジェクト ファイルを作成し、それをすべて「ドライバー」コードでコンパイルする必要があることを理解しています。メイク ファイルの実行/書き込みは私の関心事ではありませんが、このようなコードのモジュール化を開始する方法です。配列を変更する関数の作り方がわかりません!

正しい方向への指針は素晴らしいでしょう。必要に応じて、さらに明確にすることができます。

0 投票する
0 に答える
804 参照

angularjs - 大規模な AngularJS アプリケーションのベスト プラクティス

現在、JSP + JS ページで構成され、カスタム サーブレットによって提供される、かなり巨大なアプリケーションの新しいバージョンを開発しています。アプリケーションが大量のデータを処理する場合、ほとんどのビジネス ロジックはストアド プロシージャとしてデータベースに実装されます。このアプリケーションの主なセールス ポイントは、保存されたデータの視覚的な表現です。基本的に何でもモデル化して視覚化できます。現在のバージョンは Silverlight で視覚化されています。Silverlight は IE で最適に動作し、そのプラグインを必要としますが、これは明らかに悪いことです。私たちの目標は、可能な限りブラウザーに依存しないようにすることであり、主な問題は図の描画です。そこで、AngularJS+SVG を試してみることにしました。開発は、まったく新しいプロジェクト、Spring MVC REST バックエンド、単一ページの AngularJS アプリケーションから始まりました。数か月後、それが良い選択であることがわかりました。すべての機能を実装できます。次のメジャー バージョンをできるだけ早くリリースするために、古い JSP フォーム (ビジュアライゼーション以外の部分) を今のところ保持し、ビジュアライゼーションを Angular で書き直すことにしました。したがって、視覚化コンポーネントは、jsp または html での実行から独立している必要があり、フレームワークから独立している必要があります (iframe としてタブがあります: 1 つのダイアグラム エディター画面は iframe 内の jsp であり、現在は完全な angular アプリです。バックエンドはサーブレットベースであり、多くの機能が JS 関数で実装されています)。私の質問は、アプリケーションをできるだけ効果的にモジュール化するにはどうすればよいかということです。私はこれに触発されました したがって、視覚化コンポーネントは、jsp または html での実行から独立している必要があり、フレームワークから独立している必要があります (iframe としてタブがあります: 1 つのダイアグラム エディター画面は iframe 内の jsp であり、現在は完全な angular アプリです。バックエンドはサーブレットベースであり、多くの機能が JS 関数で実装されています)。私の質問は、アプリケーションをできるだけ効果的にモジュール化するにはどうすればよいかということです。私はこれに触発されました したがって、視覚化コンポーネントは、jsp または html での実行から独立している必要があり、フレームワークから独立している必要があります (iframe としてタブがあります: 1 つのダイアグラム エディター画面は iframe 内の jsp であり、現在は完全な angular アプリです。バックエンドはサーブレットベースであり、多くの機能が JS 関数で実装されています)。私の質問は、アプリケーションをできるだけ効果的にモジュール化するにはどうすればよいかということです。私はこれに触発されましたAngularJS+SVG のフローチャート アプリに関する記事で、Snap.SVG を使用して SVG 操作を行っています。

現在、これらは主要な部分です (個別の .js ファイル内):

  • コントローラーで基本的なイベント処理を行うダイアグラム ディレクティブ。これには、DiagramViewModel への参照が含まれます。
  • FlowChart アプリと同様に、指定された DiagramDataModel (バックエンドから受信した JSON オブジェクト) から構築された DiagramViewModel JS クラス
  • ダイアグラムを編集するためのメソッドを含むDiagramEdit JSクラス(読み取り専用ユーザーがいます)、それが行うことは何でも、DiagramViewModelを含むため、それへの参照があります
  • 基本的なナビゲーション (ズーム、パンなど) を行う DiagramNavigation JS クラス
  • バックエンドとフレームワークの JS メソッド (ファクトリー) をラップするための angular モジュール
  • 別のファイルの他のサービス (ロガー モジュール、エラー ハンドラー モジュールなど)

その際のポイントは、ディレクティブのコントローラーを薄くすることでした。そのため、ロジックは ViewModel クラスと DiagramEdit クラスで分離されています。このアプローチに関する私の主な関心事は、ViewModel または Edit クラスのいずれかのメソッドがフレームワーク呼び出しを必要とする場合、ViewModel のコンストラクター内の Controller によって ViewModel に与えられる参照を通じてそれを行う必要があるということです。したがって、基本的に角度の依存性注入を手動で行っています (フレームワーク/バックエンド ラッパー ファクトリはディレクティブのコントローラーに注入され、ViewModel コンストラクターへの参照を渡しています)。すべての魔法を実行する ViewModel を 1 つだけ持つ必要があります (たとえそれが非常に大きく、3K 行を超える場合でも)? または、AngularJS ファクトリを ViewModel として使用して、bakcend とフレームワークを使用する必要があります。のファクトリを ViewModel ファクトリに注入できますか? 機能グループごとに個別の Angular モジュールを使用する必要がありますか? もしそうなら、彼らはどのようにDiagramオブジェクトを共有できますか? $scopeで共有するだけですか?

私の懸念の非常に良い例: ツールバーにオートコンプリート入力フィールドがあります。変更されると、DiagramEdit はバックエンド呼び出しを行い、オブジェクトを検索します。呼び出しが戻ると、編集モジュールは結果を繰り返し処理し、SVG 表現をオブジェクトに追加します。そのためには、Angular によって挿入された $sce モジュールが必要です。次に、このリストは ng-repeat で視覚化され、編集モジュールの変数にバインドされます。

このリリースの後、他のページとフレームワークの開発を継続し、バックエンド側で Spring に切り替えます。したがって、このダイアグラム モジュールには、バックエンド呼び出しやクライアント アプリケーションの他の部分から独立した、明確に定義されたインターフェイスが必要です。

大規模な Angular 開発に関するもう 1 つの優れた記事は、これです。

0 投票する
1 に答える
2055 参照

jboss - ModuleClassLoader シングルトン

私はこの状況を持っています:

  • JBOSS インスタンス
  • アプリケーション client.war
  • アプリケーション server.war
  • インターフェイスのみを含む、適切にインストールされた jboss モジュール。

server.war アプリケーションは jboss モジュール インターフェイスを実装し、これらの実装を JNDI バインドで公開します。ルックアップを伴う client.war アプリケーションは、server.war の実装を使用します。

ランタイム client.war は、server.war によって公開された実装を呼び出すことができますが、休止状態のトランザクションを開始しようとするとすぐに、次のエラーが発生します。

エラー [stderr] java.lang.IllegalStateException: JBAS016071: Service Module Loader からのモジュール "client.war:main" の ModuleClassLoader にシングルトンが設定されていません。これは、デプロイメントに関連付けられていない Thread Context ClassLoader を使用して、Weld デプロイメントにアクセスしようとしていることを意味します。

そこで何日も頭をぶつけましたが、何が問題なのか理解できません。誰かが私を助けることができますか?

0 投票する
2 に答える
631 参照

javascript - Javascript を C/C++ のように簡単にモジュール化する方法

私は完全にJavaScriptで構築された大規模なプロジェクトを持っています。サイト全体のエンジンである、順序付けられた「モジュール化された」5k行の.jsファイルがあります。

ここで、多くのコードを繰り返さなければならない他のサイト (このサイトの拡張) を作成する必要があります。私の質問は、Browserify、CommonJS などを使用して多くの可能性を見てきました。 m 検索中、C/C++ のように JavaScript をモジュール化して、関数または機能のファイルに #include を作成し、そのようなコードを再利用します。HTMLの他のJSファイルを含めてすでにこれを行っていますが、そのJSファイルは変数といくつかの配列にすぎず、サイトの機能ではありません。

私は jQuery も使用します。5,000 行の大きな .js ファイルでは、ほとんどすべてが jQuery の document.ready イベント内にあり、すべてのファイルに対して document.ready イベントを作成する必要があるため、これも問題を引き起こしています。

オリエンテーションが必要です

0 投票する
1 に答える
1160 参照

copy - プログラム COPY 中に INCLUDE はコピーされません。

プログラム SAPBC414T_BOOKINGS_01 を新しいパッケージ ZBC400_01 の新しい名前 ZSAPMZ_BOOKINGS_01 にコピーします。

INCLUDE を含むすべての項目を選択します。SAP からインクルードの名前を変更するように求められ、次のように名前を変更します。

ここに画像の説明を入力

しかし、コピーした後ZSAPMZ_BOOKINGS_01、パッケージ内のプログラムを開くZBC400_01と、すべての INCLUDE がソース プログラムと同じ名前であることに驚きました。なんで?

ここに画像の説明を入力

0 投票する
1 に答える
840 参照

cocoa - 複数の XCTestCase クラスを使用した UITesting

プロジェクトの UITest ケースを作成しています。したがって、複数のファイルを XCTestCase にサブクラス化するか、その他のテスト クラスにサブクラス化する必要があります。そのようなファイルを作成するたびに、次のエラーが発生します。

次のことを試しましたが、何も機能しません。

MainFile.m

セカンダリファイル.m

複数の File UITesting クラスをモジュール化/作成する方法を教えてください。