問題タブ [multi-user]
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.
python - 複数のマウス ポインター?
複数のマウスからの入力を個別に受け入れる方法はありますか? マルチユーザー アプリケーションの作成に興味があり、ワイヤレス マウスを保持している 2 人以上のユーザーが、個別のマウス矢印を使用して個別にアプリを操作できるようになれば素晴らしいと思いました。
これは、他のアプリケーション/ドライバー/os_magic にファームアウトする必要がありますか? または、これを達成するために使用できるライブラリはありますか? 言語は大した問題ではありませんが、C、C++、および Python が望ましいです。
ありがとう :)
編集:
Linux用のこのマルチポインターツールキットを見つけました(実際にはマルチポインターxサーバーです): http://wearables.unisa.edu.au/mpx/
svn - Subversionでのシングルマルチユーザーチェックアウト-可能ですか?
私たちの組織では、次のような問題があります。Webツリーのリビジョンを制御したいのですが、多くの人はそのツリーの任意のファイルを変更(およびチェックイン)できるようにしたいと考えています。また、ツリーはかなり大きいので、これらすべてのチェックアウトは1回だけにしてください。そのツリーの一部には、現在RCSを使用しています。これにより、上記の動作が可能になりますが、もちろん、他にもいくつかの欠点があります。
UnixサーバーのSubversionでそのようなことを(おそらく何らかの回避策で)行う方法を知っている人はいますか?
python - Python /ツイストマルチユーザーサーバー-より効率的なものは何ですか?
Pythonでは、サーバーをCPU単位で適切に拡張したい場合は、明らかに複数のプロセスを生成する必要があります。私はどちらが良いのか疑問に思っていました(ツイストを使用):
A)マネージャープロセス(実際のソケット接続を保持するプロセス)は、受信したパケットを共有キュー(マルチプロセッシングモジュールからのパケット)に入れ、ワーカープロセスはパケットをキューから引き出して処理し、結果をに送り返します。クライアント。
B)マネージャープロセス(実際のソケット接続を保持するプロセス)は、遅延スレッドを起動してから、プロセスプールでapply()関数を呼び出します。結果がワーカープロセスから返されると、マネージャーは結果をクライアントに送り返します。
どちらの実装でも、ワーカープロセスはスレッドプールを使用するため、一度に複数のパケットを処理できます(データベースクエリが多数発生するため)。
php - マルチユーザー アプリケーション レコードのロック - 最善の方法は?
複数の同時ユーザーを処理する php/mysql アプリケーションを開発しています。現在閲覧中・編集中のレコードをロック・警告する際の最善策を考えています。
避けるべきシナリオは、2 人のユーザーがレコードを表示し、1 人が変更を行い、次にもう 1 人が同様に行うことです。1 つの変更が前の変更を上書きする可能性があります。
WordPress の最新バージョンでは、これを検出するためにいくつかの方法を使用していますが、完全に信頼できるとは思えません。少なくとも私の経験では、誤検出を返すことがよくあります。
アプリケーションに「ping」を実行し、レコードがまだ表示/編集されていることを知らせるために、何らかの形式の ajax が必要であると想定します (そうしないと、ユーザーが単にブラウザー ウィンドウを閉じて、アプリケーションがそれをどのように認識するか)。
私が見ることができる別の解決策は、レコードが更新のために送信されたときに最終更新時刻を確認し、その間に他の場所で更新されたかどうかを確認し、ユーザーに自分の変更を続行するか破棄するかを選択させることです。
おそらく、私は解決策に関して間違ったツリーを吠えています-これを実装する人々の経験は何ですか(かなり一般的なものでなければなりません)要件?
ms-access - MS Access (JET) はマルチユーザー アクセスに適していますか?
MS Access ファイルを DB として使用するデスクトップ製品として設計された製品があります。
現在、一部のユーザーは、数台の PC (2 台または 3 台としましょう) にインストールして、データベースを共有する必要があります。
MS Accessのファイルを共有フォルダに入れてPCからアクセスしようと思ったのですが… JETエンジンはマルチユーザーアクセス仕様なのですか?
これを行う際のヒントや注意事項はありますか?
編集: アプリは .net であり、データベースをストレージとして使用します (データベースをフロントエンドとして使用しません)。
ms-access - MSAccessで開発環境をセットアップする方法
約5人のユーザーグループで、フロントエンド/バックエンドの分割構成としてセットアップされたMSAccess2003アプリケーションを作成しました。フロントエンド.mdbはネットワークファイルサーバー上にあり、すべてのクエリ、フォーム、レポート、VBAコードに加えて、バックエンド.mdb内のすべてのテーブルへのリンクと、AS/などのODBCデータソースへのリンクが含まれています。 400。バックエンドは同じネットワークファイルサーバー上にあり、テーブルデータが含まれているだけです。
これは、私が「ライブ」になり、少数のユーザーが拡張リクエストやバグレポートなどを考え出すまではうまく機能していました。フロントエンドの.mdbの独自のコピーで開発/テストすることにより、新しいコードを展開しています。別のネットワークフォルダー(同じバックエンド.mdbにリンクされている)、完成したファイルを「come-and-get-it」フォルダーに投稿し、ユーザーに警告すると、ユーザーは新しいフロントエンドをコピーして貼り付けますネットワーク上の独自のフォルダにファイルします。このようにして、各ユーザーは、全員を一度に起動しなくても、「停止点」にいるときにフロントエンドを更新できます。
私が今開発しているとき、時々Accessが非常に遅くなることがわかりました。たとえば、フォームを作成してプロパティボックスのドロップダウンをクリックしようとすると、ドロップダウン矢印が押し込まれますが、オプションのリストが表示されるまでに数秒かかります。または、フォームのコントロールの選択と移動には多くの遅れがあります。または、キーボードの遅延がたくさんあります。
その後、他の時間には、ラグはまったくありません。
他のユーザーと同じバックエンドにリンクしているからなのかしら。必要に応じて、レコードのロックを最小限に抑えて、クエリ、フォーム、レポートなどを設定するために合理的な努力をしました。しかし、私は何かを見逃した可能性があります。あるいは、対処する必要のある他のパフォーマンスの問題があるかもしれません。
しかし、自分の開発バックエンド.mdbをセットアップするためのさらに良い方法があるかどうか疑問に思っているので、他のユーザーと同じライブデータではなく、「安全な」データでコードをテストできます。 。恐らく最悪の瞬間に、いくつかのデータを破壊するのは時間の問題だと思います。
明らかに、別のバックエンド.mdbを設定し、Linked Table Managerを使用して、毎回フロントエンドのテーブルリンクを手動で再構成することができます。しかし、私はそれよりもエレガントな解決策があることを望んでいます。
そして、このマルチユーザーの分割データベース構成で考慮すべき他のパフォーマンスの問題があるかどうか疑問に思っています。
編集:私はMS Access(MS-SQLやその他の「実際の」バックエンドではない)で立ち往生していることを追加する必要がありました。詳細については、この投稿への私のコメントを参照してください。
ms-access - 従来の MS Access アプリケーションは、複数のユーザーをサポートする必要があります
私は現在、レガシー MS Access アプリケーションの開発と保守を担当する 4 人のチームに所属しています。
アプリケーションは非常に大きく、何百ものフォーム、レポート、クエリ、およびテーブルがあります。
現在、フロント エンドは約 7 つの mde コンポーネントに分割されています。それぞれのコンポーネントは、基本的にはそれ自体がアプリケーションであり、基本的には単なるメニュー GUI である共通のフロント エンドによって結合されています。
リンク テーブルを使用して、コード自体で OpenDatabase(C:\access.mdb) 呼び出しを使用して、このフロント エンドを MS Access バック エンドに接続します。このアプリケーションはしばらく前から存在していたため、DAO を使用して Access 97 バックエンドに接続しています。
これは、アプリケーションのすべてのユーザーが、変更を行うためのデータベースの独自のローカル コピーを持っていることを意味します。一度に 1 人だけがデータを操作できるように、慎重に変更管理された環境を用意しています。マスター データベースを次の人に渡す前に、すべての変更を検証する必要があります。
この変更管理環境は控えめに言っても息苦しいものであり、1 人のユーザーによるアクセスが実行不可能になる時間枠内で、より多くのデータ変更を行う必要がすぐに出てきます。
したがって、マルチユーザー アクセスに移行する必要がありますが、マルチユーザーとは約 4 人だけを意味します。この人たちはおそらく同じオフィスに物理的に配置されていないため、何らかの形のリモート db 接続が必要です。
1 年か 2 年のうちにアプリケーション全体が作り直され、フロントエンドとバックエンドの両方が MS Access から離れる可能性があります。ただし、できるだけ早くマルチユーザー アクセスが必要です。
では、至福のマルチユーザーへの最短の道は何でしょうか?
検討中の提案には次のものが含まれます。
- MS Access が通常のネットワーク ドライブにアクセスしていると認識するように VPN を設定します。これは遅くなるようで、VPN の信頼性が十分かどうかはわかりませんが、いずれにせよ、これは一時的な解決策にすぎません。
- mdb バックエンドを、SQL Server などのマルチユーザー リモート使用を目的としたものに変換します。これを迅速かつ簡単に行う方法がわからないだけです (たとえば、フィールド検証ルールに依存しています)。また、他のアプリケーションが同じ .mdb ファイルをデータ入力として受け入れるため、MS Access 形式に戻す必要があると思われます。
- 1人か2人で数ヶ月でできることなら何でも。
編集: 以下のコメントに応答します。
アプリケーションによって処理されるデータは、安全性が非常に重要なデータです。めったに変更されず、エクスポートする前に論理エラーがないことを示すために検証する必要があります。実際には、データはアプリケーション自体よりも厳しい制限を受けています。
データは重要な方法で相互に関連しています。そのため、複雑なビジネス ロジックが原因で、あるテーブルのレコードを変更すると、別のテーブルのレコードが無効になる場合があります。そのため、現時点では、mdb データ ファイルの 1 つのコピーがマスター データベースとして指定されています。一度にマスターを持つのは 1 人だけです。それを変更したい場合は、現在それを持っている人からそのデータベースを取得する必要があります。データが変更されることはめったになく、これが発生するのに十分な時間があるため、これは通常問題になりません。
しかし、大きな変化が迫っていますが、この方法で作業するのに十分な時間が与えられていません。一度に複数の人がデータに取り組む必要があります。ネットワーク ドライブで mdb ファイルを共有し、同じオフィスにいる複数の人がほとんどまたはまったくリスクなしにそのファイルで作業できることを認識していますが、データを同時に処理するには、さまざまな会社の人が必要です。 . 私が理解しているように、VPN を設定してデータを共有するのは悪い計画です。
バックエンドを MS Access から変更し、SQL サーバーのようなものに移行する必要があると思います。しかし、この方法でスキーマを変換するのはどれほど簡単でしょうか? MS Access テーブルの検証規則は SQL Server でどのように表されますか?
c# - ユーザー権限の保存 - スマートな方法
マルチユーザー向けのアプリを作成しています。現在、ユーザー名+ md5パスワードハッシュ(ユーザー名をソルトとして)を保存するファイルがあります
異なるユーザーが異なる権限を持つことができるように、アプリを拡張する必要があります。誰もそれらを変更できないように、どのようにスマートな方法で保管しますか?
私はC#を使用しています
php - マルチユーザー対応(請求書発行)
マルチユーザーの扱い
要件: ユーザーが次のことができるアプリケーション (mysql php jquery) があります。
- レコードを確認し、特定のフィールドを更新します。
- 注文を選択して請求書を発行します。
問題: 問題は、同じ期間に請求書を 2 回発行してはならないことです。また、1 つのフィールドを 2 人以上のユーザーが同時に更新することはできません。
可能な解決策:
- テーブルが更新されたときにテーブルをロックし、ユーザーがアクションを実行した場合は、通知してリロードします。
- ユーザーが特定のアクションを実行すると、他のユーザーが実行できるようにそれらのアクションをロックするロック システムを実装します。
- ...