問題タブ [granularity]
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.
soa - SOA 更新リクエストの粒度と null
私たちはSOAエンタープライズに向けて努力しています...
メンバーの詳細を更新するための 3 つのオプションが与えられた場合、どのように契約を設計するのでしょうか?
ビジネスプロセスは非常に簡単です。顧客が電話 (または自分でログイン) し、個人情報を更新して、最新の詳細を入手できるようにします。顧客の雇用主は、メンバーの詳細を提供することもできます (これは一括で行われます。一度に数十から数千になる可能性があります)。これは、将来的に彼らと正しく通信できるようにするためです。複数のバックエンド システムがあります。
詳細は次のとおりです。
- 電話番号、
- 住所、
- Eメール、
- 名前または会社名、
- 連絡窓口、
- タックスファイルナンバー、
- 配偶者の有無
- 喫煙者の状態
現在のところ、ビジネス ルールは次のとおりです。 有効なタックス ファイル番号が既に提供されている場合は、再度提供することはできません。(オーバーライド可能) 有効な住所の詳細が存在する場合、雇用主はそれらを更新できず、初回のみ提供します。
オプション 1: 1 つの操作、Member.UpdateDetails
- 作成および管理するサービスは 1 つだけです。
- ビジネス ルールが大きくなると、このサービスのまとまりが失われる可能性があります。
- 何かを削除する必要があることを指定することと、そのままにしておくことを区別しなければならないという問題があります。
- 単一の作業単位、単一のトランザクション。
オプション 2: 4 つの操作に分割します。Member.UpdateContactDetails; Member.ProvideTaxFileNumber; Member.UpdateName; Member.UpdateDemographics
- 単一の操作を簡素化する可能性があります - 複雑さを 4 つの操作に分散させます。
- 何かを削除する必要があることを指定することと、そのままにしておくことを区別しなければならないという問題がまだあります。たとえば、結婚歴なしで喫煙者のステータスのみを指定したい場合はどうでしょう。
- これらを正しくグループ化する方法を理解するには、詳細な分析が必要 - まとまりはビジネス プロセスによって異なります。
- 作成および保守するサービスが増えました。
- トランザクションが問題になる - 発信者によって複数のトランザクションが処理されますか?
オプション 3: より小さなスチルに分割します: Member.UpdateAddress; Member.UpdateBusinessDetails; Member.UpdateContactNumbers; Member.UpdateContactPerson; Member.UpdateEmailAddress; Member.UpdateMailingAddress; Member.UpdatePhysicalAddress; 等
- 何かを削除する必要があることを指定することと、そのままにしておくことを区別しなければならないという問題を取り除きます。
- ビジネス ルールは、どのような操作でも簡単に進化できます。
- 作成および保守するサービスの負荷。
- トランザクションが問題になる - 多くのトランザクションが発信者によって処理されますか?
- プロパティ セッター / CRUD のように見え始めます - どうやらダメです。
オプション 1 または 2 で、発信者が自宅の電子メール アドレスのみを更新したいとします。クライアントがメッセージ全体を完了するとは期待できません。クライアントは他のすべてのタグを除外しますか? この問題に対処するための、受け入れられている明白で直感的なパターンは何ですか?
これが実際にパターンである場合、クライアントはどのようにフィールドをクリアするか、または null に設定しますか? .NET では、サーバー コードで、提供されていないものと null を区別する明確な方法がわかりません。明らかではないので、これは受け入れられないパターンだと思います。
c++ - 数値比較に影響を与える二重粒度c++
以下は、許容範囲内で2倍の等価性を決定することになっているコードのテストブロックです。
ただし、is_match_2はfalseになり、is_match_1はtrueになります。コンピューターに保存されている数値は目立たない値であり、連続していないことを理解しています。誰かが解決策を共有できますか?私は理にかなった範囲でテストに合格する側で誤りを犯したいと思います。現在の精度に応じてdoubleの値を1ずつインクリメントする方法はありますか(doubleのビットレイアウトに慣れていません)?この粒度の問題を考慮して、許容値をインクリメントするだけかもしれないからです。
編集:
これが実際に実装されると、ユーザーは入力と許容値を定義するので、入力する値に関係なく、期待される出力を提供しようとしています。
c# - .Net メンバーシップ/ロールを使用して、カスタマイズされた承認/アクセス ルールをサポートする
カスタマイズ可能なユーザーとロールをサポートするアプリケーションを作成しています。カスタマイズ可能とは、管理フォームが提供され、ユーザーの追加、ロールの作成、ユーザーのロールへの割り当て、そして最も重要な権限ルールとロールの関連付けを可能にすることを意味します。ロールを表示すると、管理者には一連のチェックボックスが表示されます。たとえば、管理者は自分の裁量でプログラム機能の領域のロールを承認できます。次のようなアプリケーションでコードを記述できる必要があります。
IsAuthorizedTo
が現在のユーザーの役割を調べて、それらのいずれかが必要な権限を持っているかどうかを判断する場所。
API ドキュメントを調べたところ、最適とは言えない web.config 承認セクションしか見つかりませんでした。私は自分自身をロールバックする必要があるかもしれないと推測していますが、最初に尋ねると思いました:
.net メンバーシップ/ロール API または別の提案されたシステム (.net メンバーシップ API 以外) を使用して、ロールとアクセス ルールに基づいてきめ細かい承認を許可する既存の方法はありますか?
parallel-processing - コンピューティングと通信の比率を決定する方法
並列プログラムと明確に定義されたハードウェアが与えられた場合、その計算対通信比 (CCR) を決定する方法。これは、プログラムの粒度とその後の分析を決定するためのものです。文献はこの用語を説明し、プログラムの粒度に関連して使用していますが、CCR が高いか低いかを推定するものは見つかりませんでした。
integer - gnuplot: 軸 x の整数値のみ
軸 x で整数値のみを視覚化するにはどうすればよいですか?
このようなファイルに記述された関数をプロットします
次のコマンドを実行します。
問題は、そうすることで、軸 x で値 0 を視覚化することです。0.5; 1; 1.5; 2; 2.5; 3; 3.5; 4 整数値 0 のみを視覚化するにはどうすればよいですか。1; 2; 3; 4?
ありがとうございました
java - 粒度を保持する Java 関数
ファジージョブの粒度を維持する必要があるため、パラメーターとして受け取る関数を作成しました。
- 粒度 (0 と 1 の間の double、0 は含まれません)
- 必要に応じて変換する値 (0 より大きい double)
そして、正しい粒度で新しい値を返します。
これは私が持っている機能です:
例:
- preserveGranularity(0.25, 7.7) は 7.75 を返す必要があります
- preserveGranularity(0.01, 0.009) は 0.01 を返す必要があります
ほとんどの値でうまく動作しますが、すべてではありません (例: preserveGranularity(0.2, 0.57)=0.6000000000000001、0.6 を返す必要があります)。
よろしく
PSこの質問で間違いを犯して申し訳ありません。これは私の最初のものです
python - イベントレット/一般的な非同期 I/O タスクの粒度
私は、サードパーティの Web API からリアルタイム データを取得し、それを MySQL データベースに入れ、HTTP/JSON API 経由で利用できるようにする Web バックエンド/API プロバイダーに取り組んでいます。
API にフラスコを提供し、SQLAlchemy Core を使用して DB を操作しています。
リアルタイム データ取得部分については、リクエストを送信し、返された xml を解析して Python dict に変換し、それを返すことによってサード パーティ API をラップする関数があります。これらの API ラッパーを呼び出します。
次に、これらの関数を他のメソッド内で呼び出して、それぞれのデータを取得し、必要に応じて処理を行い (タイム ゾーンの変換など)、DB に配置します。これらをプロセッサと呼びます。
特に非同期 I/O とイベントレットについて読んでいて、非常に感銘を受けました。
これをデータ取得コードに組み込むつもりですが、最初にいくつか質問があります。
すべてにモンキーパッチを適用しても安全ですか? 私がフラスコ、SQLAlchemy、および他の多くのライブラリを持っていることを考えると、サルのパッチ適用にマイナス面はありますか (遅延バインディングがないと仮定します)?
タスクをどの程度の粒度で分割する必要がありますか? 定期的にプロセッサを生成するプールを作成することを考えていました。次に、プロセッサが API ラッパーを呼び出す部分に到達すると、API ラッパーは、eventlet.green.urllib2 を使用して実際の HTTP データを取得するために GreenPile を開始します。これは良いアプローチですか?
- タイムアウト - グリーンスレッドがハングしないようにしたい。greenthread ごとに eventlet.Timeout を 10 ~ 15 秒に設定するのは良い方法ですか?
参考までに、約 10 種類のリアルタイム データ セットがあり、プロセッサは 5 ~ 10 秒ごとに生成されます。
ありがとう!
oop - OOP における粒度の意味
このページのflyweight design pattern
について読んでいました。
プログラミング言語やデザインパターンの文脈における「粒度」の意味を理解できませんでした。
誰でも説明できますか、例は素晴らしいでしょう。
sql-server - SQL Serverのデフォルトのロック粒度はどれくらいですか?
テーブルのヒントについてMSDNをよく読みましたが、ロックの粒度のデフォルトが見つからないようです。次のクエリがあるとします。
ご覧のとおり、ヒントを指定UPDLOCK
しましたが、やREADPAST
などの粒度のヒントは指定していません。TABLOCK
ROWLOCK
デフォルトで使用される粒度ロックレベルはどれですか?
memory - 2 バイト メモリ アクセスの粒度
確かにあまり成功していませんが、メモリの配置について学習しようとしています。IBM のこの記事を使用しています。
ダブルバイトメモリアクセスの粒度セクションからのこの抜粋が何を意味するのか、誰か説明してもらえますか?
ただし、アドレス 1 から読み取るとどうなるか注意してください。アドレスがプロセッサのメモリ アクセス境界に均等に収まらないため、プロセッサは余分な作業を行う必要があります。このようなアドレスは、アラインされていないアドレスと呼ばれます。アドレス 1 はアラインされていないため、2 バイトの粒度を持つプロセッサは余分なメモリ アクセスを実行する必要があり、操作が遅くなります。
別のメモリアクセスが順番に行われるのはなぜですか? メモリアクセス境界とはどういう意味で、メモリアクセス境界上にあるのですか?
上位レベルのプログラミング (Objective-C および C++) しか扱っていないため、CPU に関する知識は非常に限られています。どんな助けでも大歓迎です!
ありがとう!