問題タブ [conceptual]
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.
javascript - ドキュメントのライブ編集とコラボレーション
大学のプロジェクトでは、クラウド ドキュメント エディターを展開しています。機能の 1 つは、複数のユーザーがリアルタイムで編集できるようにすることです。問題は、これにどのようにアプローチするかです。
私はGoogleドキュメントを知っており、舞台裏でいくつかの高度なDOM操作を行っていますが、変更を同期するための最良の方法は単純なプレーンテキストエリアだけである場合、それらを舞台裏でマージし、ユーザーのフロントエンドで更新します。Rails、mongoid、js/jquery を使用します。
これをどのように実装できるかについてのアイデアはありますか?
android - この Android データベース コードはどこに置くべきですか?
私は Android アプリケーションに取り組んでいますが、コードをどこに置くべきかを理解するのに問題があります。
このアプリケーションは、Commonsware の一部と、メモ帳のチュートリアルに基づいています。プロジェクトがあり、各プロジェクトを開いたり、プロパティを編集したり、「実行」したりできます。
現在、「プロジェクト」の基本的な CRUD 操作を持つ dbadapter クラスがあります。open、edit、または run メソッドをそこに配置しても意味がないように思われます。これらのメソッドにはアクティビティの開始が含まれており、dbadapter 内からそれを行うことはできないからです。
現在、プロジェクトの詳細ビュー内にコードがあります。詳細ビュー以外のアクティビティのコンテキスト メニューから同じメソッドを呼び出せるようにしたいと考えています。
コードはどこに置くべきですか? Project クラスが必要ですか? dbadapter およびカーソルとのインターフェイスはどのようになりますか? ある種の目に見えないフラグメントを作成する必要があります--おそらくそうではありませんが、ストローを少しつかんでいますか?
objective-c - 同じ開発者の 2 つのアプリの共有リソース
同じ開発者の AppA と AppB が、特定のデバイスで一部のローカル リソースを共有する可能性はありますか。たとえば、一部のサービスに同じログイン資格情報を使用する場合があります。
model-view-controller - MVC、モデルまたはコントローラーのコレクション所有者?
この質問は、OOPのMVCパターンに関する概念的なものです。プロットは次のとおりです。RESTWebサービスで動作するリッチクライアントアプリケーションを使用しています。サーバー上のリソースに対してGETリクエストを実行すると、サーバーはXML形式の応答を返します。応答はRSSフィードのように見えます。クライアントアプリケーションは、このXMLを解析して読み取り可能なmodに表示する必要があります。
基本的にサーバーデータベーステーブルを反映するモデルオブジェクトを作成しました。また、パーサーとビューコントローラー(および明らかにビュー)もあります。
これが今日の仕組みです。ビューコントローラは、パーサーに解析を開始するように指示し、パーサー(SAXタイプ)はXMLを読み取り、モデルオブジェクトをインスタンス化して、そのプロパティに詳細をロードします。パーサーがアイテムの処理を完了するたびに、ビューコントローラートラフデリゲートメソッドに通知します。解析されたアイテム(タイプはモデルオブジェクト)をViewControllerに送信します。ビューコントローラは、このアイテムをコレクションに追加します。
パーサーがXMLの解析を終了すると、ビューコントローラーに通知し、コレクションの場合はビューコントローラーが各アイテムを読み取り、ビューを構築します。
これが私の質問です。
- これは良い実装ですか?
- コレクションの所有者は直接モデルである必要があると思うので、View Controllerはモデルに解析の開始を要求し、パーサーはView Controllerではなくモデルに通知し、最後にモデルはコレクションをViewControllerに送り返します。これは良いですか?
- モデルとパーサーをマージする必要がありますか?
ruby-on-rails - インスタンス変数を使用してコントローラーをビューに「接続」するのはなぜですか?
これは概念的な質問であり、私は SO で答えを見つけることができなかったので、ここに行きます:
コントローラーとビューを接続するためにインスタンス変数が使用されるのはなぜですか? 2 つの異なるクラス (コントローラーとビュー) の 2 つの異なるオブジェクトがありませんか。ビューがレンダリングされるとき、私たちは別のコンテキストにいますが、別のオブジェクトのインスタンス変数を使用していますか? これはどういうわけかカプセル化を破っていませんか?
Rails は、あるオブジェクトから別のオブジェクトへのマッチングをどのように行うのでしょうか? コントローラーのすべてのインスタンス変数をビューに複製しますか?
c# - Task.Start/Wait と Async/Await の違いは何ですか?
私は何かが欠けているかもしれませんが、行うことの違いは何ですか:
c# - SynchronizationContext と TaskScheduler の概念的な違いは何ですか?
SynchronizationContext と TaskScheduler はどちらも「スケジューラ」を表す抽象化であり、何らかの作業を与えるものであり、いつどこでその作業を実行するかを決定します。スケジューラにはさまざまな形式があります。たとえば、ThreadPool はスケジューラです。ThreadPool.QueueUserWorkItem を呼び出して実行するデリゲートを指定すると、そのデリゲートがキューに入れられ、最終的に ThreadPool のスレッドの 1 つがそのデリゲートを取得して実行します。ユーザー インターフェイスには、メッセージ ポンプというスケジューラもあります。
そのため、Reactive Extensions のDispatcher、ThreadPool、TaskSchedulerSystem.Reactive.Concurrency.EventLoopScheduler
、 SynchronizationContext 、およびIScheduler実装はすべて、その意味での「スケジューラ」です。
それらの違いは何ですか?
なぜそれらすべてが必要だったのですか?EventLoop、Dispatcher、ThreadPool を取得すると思います。IScheduler もよく説明されています。
しかし、TaskScheduler と SynchronizationContext はまだ明確ではありません。
Stephen Cleary の優れた記事でSynchronizationContext が説明されており、理解できたと思います。なぜ TaskScheduler が必要なのかは明らかではありません。
説明するか、情報源を示してください。
design-patterns - モジュール式の特徴マッチング アプリケーションに適した設計パターンは?
この質問に対する私のシステム設計について否定的なコメントがいくつかあったので(そのようなシステムの実装に関して)、私が問題を提示すれば、より良い提案が得られることを願っています。
ビデオ フレームの機能マッチングに使用するモジュラー アプリケーションを設計しようとしています (たとえば、Sivic、Zisserman によるこの記事の「製品」のように、映画やビデオの非常に近いフレームでのマッチング)。
アイデアは、さまざまな特徴検出アルゴリズムとさまざまな照合手順を簡単に切り替えることができるようにすることです。さらに、私の調査によると、基本的なマッチング手順はわずかしかなく、新しいマッチング方法は主に悪い一致 (同じ記事の空間的一貫性など) に対する追加のプルーニング手順に焦点を当てていると理解しています。すべてのプルーニング手順では、最初のマッチングを実行する必要があります。次に、マッチングによって結合されたベース イメージとクエリ イメージから抽出された特徴に対して追加の作業を行い、不適切な一致を拒否します。
私がデザインに持っていたアイデアは次のとおりです。
- 基本インターフェースを実装する
featureDetector
- すべての具体的な特徴検出アルゴリズムは、インターフェイスから継承し
featureDetector
ます (例:siftDetector
) - 基本インターフェースを実装する
featureMatcher
- すべての具体的なマッチング メソッドは
featureMatcher
インターフェイスから継承します (例:class bruteForceMatcher
または のような OpenCV マッチャーのラッパーcvMatcher
) - との選択を可能にする戦略パターンを実装する基本インターフェースを
imageMatcher
実装するfeatureDetector
featureMatcher
- 一致するすべてのプルーニング プロシージャに対して、基本一致インターフェイスを継承するDecoratorインターフェイスを実装します。
class matcherDecorator : public imageMatcher
- 追加のプルーニング/フィルタリング手順はそれぞれ、
matcherDecorator
インターフェース (例: ) を実装し、(装飾されるコンポーネントを表す) (唯一の) 引数としてspatialConsistencyFilter
コンストラクターのみを含みます。imageMatcher*
この質問で指摘された問題は、機能の検出と照合プロセスの特定の結果から生じ、設計のデコレータ部分に関係しています。それぞれが、両方の画像 (ベースとクエリ)から抽出された特徴と、抽出された特徴間の一致imageMatcher
を保持する必要があります。機能の内部表現は、 のパブリック アクセス機能を介してユーザーに提供される機能記述子とは少し異なります。imageMatcher
ここで、特徴ベクトル (および一致ベクトル) は非常に「重い」ため、それらを使用するときに、ネストされたデコレーター (フィルター) のそれぞれにそれらをコピーしたくありません。ベクターには問題はありません。これmatches
は、デコレーターが参照にアクセスできるようにし、データをコピーする必要がないユーザー向けのパブリック インターフェイスを提供するためです。feats
一方、ベクトルはそのようなインターフェイスを提供せず、それらのアクセス機能では、コピーするだけでなく、フィーチャの内部表現を再計算する必要があります。これにより、デコレーターが内部スーパークラスのポインターのプライベート (または保護された) 変数にアクセスする必要が生じます。
私は、プライバシーの制約に違反することなく、必要なベクトルへの自己アクセスを許可することができました (私は実装上、何も悪いことはしていないと思います)。Decoratorパターンのアイデア。
とはいえ、コードをリファクタリングする方法についての提案、現在の実装に関するコメント、およびアプリケーションの設計に関するその他のあらゆることに興味があります。
java - CountDownLatchとCyclicBarrierの実際の例
1つの例は、CountDownLatchとCyclicBarrierの違いを説明しているトレーナーの1人によって示されています。
CountDownLatch
:石を10人で持ち上げることができるので、10人全員が来るのを待つとします。そうすればあなただけが石を持ち上げることができます。
CyclicBarrier
:ピクニックに行く予定で、最初に、すべての人が旅を始める場所から、ある共通の場所で会う必要がある場合。
誰かがこれらのコメントに同意するなら、私にいくつかの詳細を教えてください。
これら両方のクラスのsunAPIをすでに読んでいます。しかし、もう少し説明が必要です。