問題タブ [project-structure]
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.
maven - バージョン プラグインは子モジュールを更新せず、親だけが更新されます
次のように定義されたモジュールを持つ親 pom があります。
親 pom.xml
子モジュールの pom ファイルは次のとおりです。
proj2 pom.xml
proj1 pom.xml
しかし、バージョン プラグインを使用すると、モジュールではなく、親のバージョン番号が設定されるだけです。これが私が使用しているコマンドです:
出力は次のとおりです。
サブモジュールはスキップされています。親だけでなく、サブモジュールも更新できるようにするにはどうすればよいですか?
更新:子モジュールからバージョンタグを削除しようとしたため、子モジュールは次のようになりました:
ただし、子 pom ファイルではバージョン番号が更新されていません。
更新:これが私がこのプロセスがどのように機能すると思うかです。お気軽に改訂を提案してください:
理論的には (私はこれをテストしていません)、ネストされたファイル構造で Maven は、ゴール 'ons:set -DnewVersion=1.0.2-SNAPSHOT' が実行されると、各子モジュールの個々のバージョン番号を更新します。
ただし、フラット ファイル構造では、親モジュールのバージョンが同じ場合、子モジュールでバージョン番号を指定する必要はありません。これは、子のバージョン番号が設定されていない場合、親のバージョン番号が使用されるためです。したがって、親モジュールのすべての子モジュールを更新するには、親モジュールのバージョン番号を更新するだけです。すべての子モジュールにバージョン番号が設定されていない場合、親モジュールと同じバージョン番号になります。
makefile - CMakeはサブプロジェクトをビルドできますか(利点あり)?
CMakeでコンパイルされている巨大なプロジェクトがあります。それはかなり長い間開発されており、8000以上のソース/ヘッダーファイル(500Mバイト以上、500以上のCMakefile.txtファイル)があります。
彼らはこのようなディレクトリ構造を使用しています
次のように、外部ソースでビルドします。
次に、1つのBIGバイナリとしてビルドされます(詳細は重要ではありません)。
私は他に何も触れることができず、コンテンツだけですMY_SPECIFIC_DIR
-それはソースファイルとCMakeファイルです。だから、私はどういうわけかMY_SPECIFIC_DIR
微調整されたCMakefile.txtファイル にソースコードを持っていて、それを次のように構築したいと思います:
これにより、他のサブプロジェクトへのいくつかのリンクを使用して、物事MY_SPECIFIC_DIR
を単一のバイナリに組み込む必要があります。しかし、(明らかに)プロジェクト全体のコンパイル方法については何も変更しないでください。
私の質問は:
CMake
を使用して希望のセットアップは可能ですか?
ルートプロジェクトであることをテストしCMakeFile.txt
て、全体としてビルドする場合とは異なる方法でビルドすることはできますか?
そうでない限り、私は別の手段に頼り、make
これに標準を使用する必要があります。私はCMakeを知らないので、YES / NOの答えを期待しています。これを実現するためのテクニックとしても、望ましいです。そして、CMakeを学び、それを実行します。
また、CMakeバージョン2.6を使用する必要があります。
ありがとう
version-control - VCSとPythonのプロジェクト構造:PYTHONPATHを自動的に設定する方法は?
Pythonプロジェクトの構造は、Web上に多くの提案があります。たとえば、Pythonアプリケーションに最適なプロジェクト構造は何ですか。。
Pythonの世界では、「src-dir」と「proj-dir」が等しい(または非常に似ている)ことを好む人が多いようです。ただし、スクリプトとテストは確かにsrc-dirからいくつかのモジュールをインポートする必要があるため、どちらかをインポートする必要があります。
- proj-dirが現在の作業ディレクトリである場合、すべてのスクリプトとテストを実行します。
- PYTHONPATHにはproj-dirが含まれている必要がありますよね?
または、私が今見落としている他の可能性はありますか?
私がそのような構造を持っていて、PYTHONPATHを正しく設定したとしましょう。次に、プロジェクトをVCSにコミットし、別の開発者がプロジェクトをチェックアウトします。彼のマシンでは、PYTHONPATHが正しく設定されず、スクリプトおよびテストでのインポートが機能しません。
- PYTHONPATH定義をプロジェクトの一部にして、バージョン管理の一部にする可能性はありますか?
- PYTHONPATHを変更せずにチェックアウトしてプロジェクトの使用を開始できる別のプロジェクト構造はありますか?
- ここで解決策を提案しますか:Python-複雑なディレクトリ構造でPYTHONPATHを実行する方法は?(つまり、すべてのスクリプトとテストに短いsys.path変更スニペットを含める)正しいものですか?
- サイトモジュールhttp://docs.python.org/2/library/site.htmlは役に立ちますか?
- 同様の構造のプロジェクトを開発するときのワークフローは何ですか?
javascript - 別ファイルの AngularJS サービス
私の app.js には
サービスは次のようになります
そして、コントローラーで私は持っています
それらはすべて別のファイルにあります。問題は、エラーが発生することです
Unknown provider: MyServiceProvider <- MyService
私は何か間違ったことをしているようです。
wpf - 複数のWPFアプリケーションを含むソリューションに「リソース」プロジェクトを追加するWPF
WPF で 3 つのキオスクのようなアプリケーションを開発しています。これらは似たようなルック アンド フィールを共有するので、すべてのプロジェクトを同じソリューションで作成したいと考えていました。私がやりたいことは、フォントや画像などの共有リソースを保持するだけのプロジェクトをソリューションに追加することです。
私の質問は、アプリケーション間で埋め込みフォントなどのリソースを共有することは可能ですか?もしそうなら、この用途に適したプロジェクトの種類は何ですか? (クラス ライブラリ? WPF ユーザー コントロール?)
java - C ++ / C#からJavaへ-「クラスごとに1つのパブリックタイプ」ルールを使用してコードを適切に構造化する
大学時代からJavaに触れていなかったので、Javaで開発を始めました。これまでのところ、私は多くのことを思い出し、たくさんのことを読むことができましたが、これはまだ私にはわかりません...
私が抱えている問題は、多くの本/例/チュートリアル/ SEの投稿が、この種の質問が発生しない、より単純で小さな問題に焦点を合わせていることです。
1000種類のタイプ(クラス、インターフェイス、またはその両方)のプロジェクトがある場合...タイプごとに新しいファイルを作成するのに最適なプロジェクト構造/レイアウト規則はありますか?C ++ / C#のバックグラウンドから来ているので、プロジェクトの残りの部分で使用されるインターフェイスを定義するファイルが1つ、または少数あることに慣れているので、(まだ?)うまくいきません。また、小さな関連クラスは1つのファイルに実装されることがよくあります。
より具体的な例として、私は現在、15の異なるイベントタイプをすべて1つのクラスで処理している「Event」クラスをリファクタリングしています。クラスが定義されているパッケージには、リーダー、ライター、パーサーなどの他のイベント処理クラスも含まれています。
基本イベントクラスと15の派生クラスを作成する場合、それぞれがわずかに異なる属性/動作を持っているため、これらは私のオプションです。
- 15個の新しいファイルがすべて既存のパッケージに追加されました。ファイルの数が6から21になり、直交性が失われるため、そのパッケージを「汚染」しているようです。
- すべてのイベントクラスを独自のパッケージに移動し、それらをまとめます
- 「Events.java」という名前のファイルを1つ作成し、15のクラスすべてをその1つのメインクラスのネストされた静的クラスとして配置します(基本的に「classEvents」は単なる名前空間になります)。Googleはプロトコルバッファを使用してこれを行っているようです。
Javaの経験が十分でないため、どのアプローチが標準として受け入れられているかを判断できません。1つのディレクトリに数千のファイルがあっても大丈夫ですか?さらにパッケージを作成する必要がありますか?(他のライブラリ/フレームワークを見ると、パッケージの数を最小限に抑えているようです)
他の場合、特に戦略パターンを実装するときは、静的ファクトリメソッドを使用して1つのパブリックベースクラスを作成し、1つのファイルに保持できるようにいくつかの非パブリッククラスを作成します。これらの「設計」の選択は、クラスルールごとにこの1つのパブリックタイプのみに基づいて行っているようです。それを行うたびに、この質問が返ってきます...たぶん私はそれを正しく行っていません。
php - PHPStorm とモジュールのリファレンス
PHP プロジェクトに次のファイルがあります。
このようにindex.php
参照module1.php
します:
次に、module1.php
requiresmodule2.php
であるため、次の行があります。
動作させるには、ルートからの相対パスを通知する必要があります。これは、 require_onceコマンドが、たまたま index.php である現在のドキュメントからのパスを想定しているためだと思います。問題は、PHP Storm がこの参照を管理できないことです。たとえば、文字列private/module2.php
をハイパーリンクに変換したり、実際の参照として認識したりしません。
これを解決するには?
maven - ライセンス プラグインを使用した Maven マルチモジュール プロジェクト
すべてのライセンスを管理するライセンス プラグインをセットアップしようとしているマルチモジュールプロジェクトがあります。プロジェクトのセットアップは次のとおりです。
各 pom.xml は、transfuse プロジェクトの pom.xml から継承されます。プロジェクト pom.xml で、関連するファイルに NOTICE を適用するライセンス プラグインをセットアップしました。
この構成は、ルート (transfuse-project) から直接ビルドすると機能します。この問題は、integrationTest のサンプルまたは API を直接ビルドすると発生します。Maven は、プロジェクト ルートで提供した NOTICE ファイルを見つけることができません。
さらに悪いことに、別の依存関係の NOTICE ファイルが見つかります。mvn license:format
サブモジュールで実行すると、モジュールのすべてのヘッダーが依存関係の NOTICE ファイルに置き換えられます。
各サブモジュール内に NOTICE ファイルを追加してこの問題を修正し、各サブモジュール pom を独自のライセンス プラグインで構成できると思いますが、可能であればその重複を避けたいと思います。私のプロジェクトのセットアップで動作する構成またはセットアップはありますか?
eclipse - Eclipseでwebdriverプロジェクトを整理するには?
Eclipse Juno でいくつかの WebDriver プロジェクトを開始しましたが、自分の構造に満足していません。愚かで効率的ではないと思います。
その下に私のプロジェクト 3 が表示されます。TEST_xxx.java ファイルは、テスト パッケージ内のファイルをトリガーする関数です。
TEST_xxx.java ファイル内の 1 つの関数の例を次に示します。
これは、テスト パッケージ内のナビゲーション クラス内にある関数 search_product_by_sku() を呼び出します。この関数は次のようになります。
これらすべてを維持するのは難しすぎるように思えます。また、私は経験豊富なプログラマーではないので、本当にアイデアがありません。ここの誰かが私を助けてくれることを願っていました。
前もって感謝します!
django - プロパティにクエリをカプセル化するためにモデルをインポートすると、循環インポートの問題が発生します
私の問題は次のとおりです。しばらくの間、アプリケーションのいくつかの(最も関連性が高く再利用可能な)クエリをDjangoモデル内のプロパティにカプセル化することに慣れました。
それをするために、私は常にします:
私は常にそれを良い習慣だと考えており、アプリケーション全体でそれらのほとんどを頻繁に使用しています。
問題は次のとおりです。主にクエリに使用されているこれらのインポートは、モデルのリレーション構造の邪魔になると述べています。意味:循環インポートの問題を作成せずにクエリ用のプロパティを作成できないことがますます頻繁になっています。
私のアプローチは正しいですか?これらのクエリをカプセル化するためのより良い方法はありますか?普段は何をしていますか?
ご協力いただきありがとうございます。