問題タブ [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-2 - Mavenでアーティファクト分類子を使用または悪用する方法は?
私たちは現在、ant で構築された非常に (非常に) 大規模なプロジェクトを maven に移植しようとしています (同時に svn にも移行しています)。Maven パラダイムに最も適合するようにプロジェクト構造を改造する際に、あらゆる可能性が検討されています。
より具体的に言うと、分類子に出くわしたので、「分類子のアンチパターン」を控えながら、それらを有利に使用する方法を知りたいと思います。
ありがとう
から: http://maven.apache.org/pom.html
分類子: 座標上に 5 番目の要素が見つかる場合があり、それが分類子です。分類子については後で説明しますが、ここでは、これらの種類のプロジェクトが groupId:artifactId:packaging:classifier:version として表示されることを知っていれば十分です。
と
分類子により、同じ POM から構築されたが内容が異なるアーティファクトを区別できます。これはオプションの任意の文字列であり、存在する場合はアーティファクト名のバージョン番号の直後に追加されます。この要素の動機として、たとえば、JRE 1.5 をターゲットとするアーティファクトを提供すると同時に、JRE 1.4 をサポートするアーティファクトも提供するプロジェクトを考えてみましょう。クライアントがどちらを使用するかを選択できるように、最初のアーティファクトには分類子 jdk15 を装備し、2 番目のアーティファクトには jdk14 を装備することができます。
分類子のもう 1 つの一般的な使用例は、プロジェクトのメイン アーティファクトにセカンダリ アーティファクトを添付する必要がある場合です。Maven 中央リポジトリを参照すると、分類子のソースと javadoc を使用して、パッケージ化されたクラス ファイルとともにプロジェクトのソース コードと API ドキュメントがデプロイされていることがわかります。
python - SQLAlchemy と wxPython を使用したデスクトップ アプリケーションのプロジェクト構造
SQLAlchemy と wxPython を使用してデスクトップ アプリケーションを作成したいのですが、django アプリのようなパッケージ (同じパッケージ内の関連するモデル、ビュー、およびテスト) と設定を使用して、django プロジェクトと同様の方法でプロジェクトを構成したいと考えています。ルート ディレクトリのメイン モジュール。
それが適切な構造であるかどうか、およびパッケージ間の結合を最小限に抑える方法を知りたいです。
c# - git に接続された .NET のプロジェクト構造とビルド システム
これは、.NET/git とビルド システムを使用したプロジェクト構造に関する質問なので、簡潔にまとめます。
設定:
- .NET (C# および VB.NET)
- git (以前は svn、externals は使用しませんでした)
私が試した次のプロジェクト構造:
- [アプリ名]
- 。ギット
- [NameOfApp - 直下のソリューションファイル]
- 【プロジェクト1】
- 【プロジェクト2】
- 【構成】
- [標準]: 開発者向けの標準構成 (
リポジトリを最初に初期化するときにコピーされますが、変更することができます) - [スクリプト]: 一部のスクリプト、ビルド システムのスクリプト
- [依存関係]
- [依存関係 1]: サブモジュールです
- 【メインフォルダ】
- [ソリューションファイル]
- 【プロジェクト】
- [ソリューションファイル]
- [依存関係]
- [従属1]
- 【従属2】
- [依存関係 2]: 別のサブモジュール
- [別の解決策]: サブモジュールでは、ビルド プロセス中のいくつかの問題に対して、ほとんどヘルパーがいないことがあります。ビルド スクリプトによって呼び出されます。
- 【メインフォルダ】
- [依存関係 1]: サブモジュールです
すべてのプロジェクトに適した構造を探しています。上記の構造は、これまで 1 つのプロジェクトでのみ使用されています。
だから私の質問:
- これはあなたにとって有効な設定のように見えますか? これが難しい質問であることは承知していますが、同様のセットアップをお持ちですか、または同様のセットアップで問題がありましたか?
- gitサブモジュールをまったく使用しますか、それとももっと良いものがありますか? 彼らは悪であり、問題を引き起こす可能性があると言う人もいます。参考までに、私のサブモジュールは、多くのプロジェクトで使用されるプロジェクトです。依存関係にはソリューション ファイルが含まれている場合があるため、その下にプロジェクト フォルダーがあります。その中のプロジェクトは、私の mainapp で参照されます。サブツリーが適切かどうかわかりません。レポ (Android 用) についても聞いたことがあります。おそらくこれが解決策でしょうか? または、依存関係を管理するための他のツールはありますか?
- 私の依存関係にも依存関係がある場合があります。したがって、再帰的なクローンを作成すると、サブ依存関係を持つやや奇妙な構造が得られます (上記の構造を参照)。メインアプリにサブ依存関係を追加する必要がある場合があります。これは、そこで何かを変更したいため、依存関係の再構築が必要になるためです。では、サブディペンデンシーまたはサブサブディペンデンシーをどのように維持するのでしょうか?
- オープンソースの依存関係がある場合 (たとえば github から)、dll を直接使用しますか? それともフォークして git サブモジュールを追加しますか?
- すべてのプロジェクトを projectreference として追加しますか、それとも dll を直接参照しますか?
- どのビルドシステムが好きですか?
これらは「正解」が 1 つだけの質問ではないことは承知していますが、少しお役に立てて、考えを共有していただけないでしょうか。
ありがとう、サイバー1000
git - 互いに分離する必要がある 2 つの異なるサーバーにインストールされた 90% 同一の 2 つのコード ベースを維持していますか?
クライアント用の Web アプリケーションを作成し、それを独自のサーバーにデプロイして、現在稼働中です。私たちのビジネス担当者は、同じアプリを使用できる契約を取り決めましたが、それは別のサーバー上にある必要があり、ルック アンド フィールをブランド変更する必要があります。そのため、アプリ間の唯一の違いは CSS とデータベースです。私は両方の設備の保守を担当しています。
現在、Ubuntu サーバーを実行している Linode にデプロイされた Git リポジトリにコードがあります。サイトの 2 番目のコピーをセットアップし、すべてを可能な限り DRY に保つにはどうすればよいですか?
共有されているコードの 90% にバグ修正を加えてから、自分が行ったことを思い出して変更を 2 番目のリポジトリにコピーする必要がないようにしたいと考えています。
ruby - 基本的なRubyプロジェクトを設定するにはどうすればよいですか?
10〜20のクラス/ファイルで小さなRubyプロジェクトを作成したいと思います。いくつかのgemが必要で、RSpecをテストフレームワークとして使用したいと思います。
後で宝石を作りたいと思うかもしれませんが、それは確かではありません。
プロジェクトの基本構造を設定する方法を示すハウツーまたはガイドはありますか?
私が持っている質問は次のとおりです。
- すべてのカスタムエラー/例外はどこに配置しますか?
- lib、bin、srcなどのディレクトリに名前を付けるための規則はありますか?
- テストデータやドキュメントはどこに置きますか?
- プロジェクトですべてのファイルにアクセスできるようにするには、どこですべてのファイルが必要ですか?
ゼロからすべてを行うことができることは知っていますが、いくつかのガイダンスが必要です。コピーできる優れた宝石がいくつかありますが、本当に必要なものと削除できるものはわかりません。
http://gembundler.com/を見ましたが、Bundlerを設定すると停止します。
eclipse - Eclipse Java アプレットおよび Android プロジェクトをコンパイルするときに使用されるファイルは何ですか?
コードに関連しないファイル (例: Photoshop ソース ファイル、概念グラフ、別のフォルダー内のコードの増分) を Eclipse プロジェクトに配置した場合、それらのファイルはコンパイル後に結果ファイルに追加されますか?
前もって感謝します。
java - MVC プロジェクト構造検証クラス (java)
私は Java デスクトップ アプリケーションを作成していますが、検証をどのように処理すればよいか疑問に思っていました。
コントローラーで登録情報 (ユーザー名、パスワードなど) を含むマップを受け取ります。ここで、マップからの情報を検証し、検証で発生したすべてのエラーを表示したいと考えています。そこで、validation という新しいパッケージにカスタム クラス RegistrationValidation を作成することを考えていました。次に、このクラスがエラーのあるリストを返すようにします。しかし、私は疑問に思っていました...
検証は正しいモデル クラスで行う必要があることを常に学びましたが、MVC の原則に反する検証クラスを作成していますか?
コントローラーまたはモデルから、この検証クラスをどこで呼び出す必要がありますか?
検証クラスを呼び出すにはどうすればよいですか? (メソッドを静的にする、シングルトンにする、コントローラー/モデルなどでインスタンスを作成するだけですか?)
検証を抽出するためのより良いソリューションはありますか?
svn - 分散開発におけるSVN - ベストプラクティス?
複数の独立したサプライヤによって開発された分散システム用の実際に証明された SVN 構造は何ですか?
たとえば、3 つのレイヤー (UI、サービス、データ) とそれらの間のサービス コントラクトを持つシステムを想定します。各レイヤーは、特定のレイヤーに関連付けられていないさまざまなサプライヤーによって開発されたいくつかのコンポーネントで構成されます。たとえば、サプライヤー A は UI とサービスのコンポーネントを開発します。層とサプライヤー B は、サービス層とデータ層のコンポーネントを開発します。
各サプライヤは、独自のコンポーネントへの書き込みアクセスと、必要なサービス契約への読み取りアクセスのみを持つ必要があります。
-> そのような設定で SVN を構成する良い方法は何ですか?
サプライヤー別?レイヤー別?両方?... ?
php - カスタムユーティリティとヘルパーを symfony 2 に格納する Symfonian の方法
時々、アプリ全体で使用するヘルパーおよびユーティリティとして作成する関数または手順がいくつかあります...今、私は Symfony 2 を使い始めていますが、symfony 2 の哲学によると、何が最善の方法なのかわかりません。バンドル...おそらくいくつかの関数を保存するためだけにバンドル全体を作成する必要はありませんが、それが最善の方法である場合はそうします。ありがとう!
java - プロジェクト間で定数を共有する
私はJavaの2つのプロジェクトを持っています。1つのサーバープロジェクトと1つのクライアントプロジェクト。2つの間のネットワークコードで、リクエストを送信します。コード内のさまざまなタイプのリクエストに0、1、2を入力したくないので、代わりに定数を使用します。私の問題は、定数が両方のプロジェクトで同じであるため、両方のプロジェクトでこれらの定数を宣言するのではなく、1か所で宣言することです。誰かがこれに対する良い解決策を知っていますか?
編集:クライアントプロジェクトはAndroidアプリケーションであり、サーバーはクライアントからのリクエストを処理するサーブレットです。