問題タブ [repository-design]

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 投票する
2 に答える
159 参照

java - アルゴリズムのリポジトリを実装する方法は?

Java で実装され、jar ファイルとしてパッケージ化された一連のアルゴリズムがあります。アルゴリズムは、サードパーティがアクセスすることを目的としています。アルゴリズムにはいくつかのバリエーションがあります。時間の経過とともに、新しいバージョンと新しいタイプのアルゴリズムが追加されます。同時に、すべてのサードパーティが新しいアルゴリズムの使用を強制されることはありません。

このための簡単なリポジトリ システムの実装を検討しています。要件は次のとおりです。

  1. リポジトリの作成/削除。各リポジトリにアルゴリズムのバリエーションのセットが 1 つ含まれるようにします。
  2. 1 つのリポジトリ内のアルゴリズムでは、サーバーのバージョンを同時に実行できます。
  3. 新しいアルゴリズムをリポジトリに追加できます。

私の要件に合ったオープンソース プロジェクトはありますか? または、このような問題の設計パターンはありますか?

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

spring-data - Querydsl が誤って生成されたエンティティを探しているのはなぜですか?

Junit テストを実行しようとすると ClassNotFoundException エラーが発生するという問題があります。生成されるクエリ クラスは QSomeTableEntity_Q ですが、Predicate クラスが QSomeTableEntity_Q クラスをインポートしても、エンティティの SomeTableRepository で QSomeTableEntity を探し続けます。

私はmaven pom < querydsl.suffix >_Q< /querydsl.suffix >に持っています

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

svn - リビジョン管理システムですべてのファイルの変更を禁止する方法

テスト データのアーカイブには、ファイルの追加のみを許可するリビジョン コントロール システムが必要です。改変、名前の変更、およびその他の変更は禁止されています。

これにより、現在のテスト データを使用して任意のコード リビジョンをテストし、以前と同じ結果を再現できます。

現在、ソース コードには Subversion を使用しています。ただし、テスト データはおそらく数百ファイルで、約 200 GB のデータが含まれます。Subversionがそれを処理できるとは思えません。テスト データを、数 MB しかないコードと同じ Subversion アーカイブに入れたくありません。

また、Subversion は、このような単純な問題に適したツールではないようです。

追加のみのルールを使用して Subversion リポジトリにディレクトリを作成するにはどうすればよいですか?

すべてのファイルのコピーを含む .svn ディレクトリがあるため、チェックアウト後にテスト データのサイズが 2 倍になっていることに気付きました。このハードディスク容量の浪費を避けることはできますか? データを使用するだけで、何も追加したくない人は、データを必要としません。.svn を削除することもできますが、チェックアウト時にまだ多くのディスク領域が必要です。

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

linux - GIT 権限 : リポジトリ内のリポジトリ

私は以下のようなフォルダ構造を持っています:

私には2人のユーザーがいてuser1user2.

今、私はする必要があります:

  1. セットアップrepo1repo22つに分けてご使用GIT repositoriesください。
  2. とのuser1権限を持つように設定します。repo1user2repo2
  3. user1コンテンツfile1をプルできるはずですが、できませんfold1repo2
  4. user2その下のファイルをプルしてファイルできるはずrepo2ですが、そうではありませんrepo1
  5. user2に変更を加えてコミットした後、サーバーrepo2に反映されるはずですrepo1

このレベルのアクセス許可は で可能GITですか?

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

android - Git: この種のリポジトリの .gitignore ファイルには何を書き込むべきですか?

リポジトリが一連の異なるプロジェクトを含むフォルダーである場合、.gitignore に何を入れますか? それらは Android Studio のものであり、Maven のものであり、多くの OS で開発されています。

これらの行を入れると思う調査の後、間違いがあるか、より良いアイデアがあるか教えてください:

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

domain-driven-design - GetById、GetByX CRUD、ビジネス ロジック メソッド、またはその両方である

私の同僚は私に言った-私たちにはビジネスロジックがなく、GetById、GetBySearchTerm、GetByParentIDなどのCRUDしかないので、これらの言葉について疑問に思い始めました。

DDD について読んだ後、これらのメソッドは CRUD であり、特定のコード (通常は SQL) に基づいてデータをフェッチ (保存、更新、削除など) するメカニズムを備えています。

ビジネス アナリストが「特定の顧客に関するデータを表示する必要がある」と言った場合。私の意見では、これは (GetById) ビジネス プロセスです。GetById はアプリケーションのビジネス ロジック部分に配置する必要があり、リポジトリに接続してデータを取得します。CRUD メソッドを含むリポジトリは、いくつかの基準に基づいてデータを永続化する責任があります。

この質問は、アトミック メソッド (GetById、GetBySearchTerm、GetByParentiId...) を含むリポジトリを持つことについての議論につながる可能性があることを知っていますが、私の質問は単純です。これらのメソッドは CRUD またはビジネス ロジック メソッドです。