問題タブ [erlang]
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.
erlang - ネットワーク パーティションからのオンライン記憶喪失回復
関連するノードを再起動せずに、mnesia クラスター内のネットワーク パーティションから回復することは可能ですか? もしそうなら、どのようにそれについて行くのですか?
私は特に知りたいと思っています:
- 標準の OTP mnesia (v4.4.7) でこれを行う方法
- これを実現するためにカスタム コードを作成する必要がある場合 (例: mnesia running_paritioned_network イベントにサブスクライブする、新しいマスターを決定する、非マスターからマスターにレコードをマージする、新しいマスターからテーブルを強制的にロードする、実行中のパーティション化されたネットワーク イベントをクリアする -サンプルコードは大歓迎です)。
- または、その mnesia は断固としてオンライン回復をサポートしておらず、非マスター パーティションの一部であるノードを再起動する必要があります。
一般的な分散システム理論へのポインタには感謝していますが、この質問では、erlang/OTP 記憶喪失症のみに関心があります。
java - N 個のスレッドがほぼ同じ速度で実行されるようにするにはどうすればよいですか?
私は、各物理要素が独自のスレッドでシミュレートされる物理シミュレーション ソフトウェアを作成するというアイデアをいじっています。
このアプローチにはいくつかの利点があります。概念的には、現実世界の仕組みに非常に近いでしょう。システムを複数のマシンに拡張する方がはるかに簡単です。
ただし、これが機能するには、すべてのスレッドが同じ速度で実行されることを確認する必要があります。「同じ」という解釈はかなり自由です。お互い1%以内で言ってください。
そのため、必ずしも Thread.join() のようなソリューションは必要ありません。私は、すべてのスレッドが定期的に相互に同期することを保証する、超制御の学校の愛人を望んでいません。必要なのは、ランタイム (Java、Erlang、またはこの問題に最も適したもの) に、ほぼ同じ速度でスレッドを実行するように要求できることだけです。
どんな提案でも大歓迎です。
更新 2009-03-16
この質問に答えてくれたすべての人、特に答えが本質的に「これをしないでください」だったすべての人に感謝したいと思います. 皆さんのコメントのおかげで、私は自分の問題をよりよく理解できるようになりました。それにもかかわらず、ピーターの答えが質問自体に対する最良の答えだと感じたので、それを受け入れました。
apache-flex - フラッシュ: AMF3 と参照テーブル?
AMF3 仕様では、いわゆる「参照テーブル」の使用が定義されています (この仕様のセクション 2.2 を参照)。
Erlang で開発した AMF3 エンコーダー/デコーダーでこの動作を実装しましたが、Flash API の経験があまりないため、オブジェクトを AMF3 にシリアル化するときにこれらの参照テーブルを使用するように Flash に強制する方法を簡単に見つけることができません。たとえば、ByteArray を使用すると、完全なオブジェクト エンコーディングが繰り返されるように見えます
(これは明らかに繰り返しです)。
ただし、これら 2 つの文字列が 1 つの writeObject 呼び出しにある場合、参照を使用しているように見えます。
ソケットも同じように動作するようです。
では、Flash コードで参照テーブルを使用できますか? ( Flash アプリケーションとサーバーの間に非標準のプロトコルがある場合)
ありがとうございました!
erlang - mnesia delete_object 例外?
ここで何が問題なのかわかりませんが、構文を誤解しているだけかもしれません。「ryan」という名前の「user」mnesia テーブルから「user」レコードを削除しようとしています (それらの倍数があります)。これが私がすることです:
これが私のレコード定義です:
そして、ここに私が得ている例外があります:
それは完璧な一致のようです。この問題の原因は何ですか?
syntax - Erlang はプログラマーの観点から簡潔な言語ですか?
Erlang は簡潔さの範囲のどこに位置するでしょうか?たとえば、簡潔さの低い Java/.net と、より簡潔な範囲の Ruby/Python の間でしょうか? 私は RSI の問題を抱えているので、健康上の理由から簡潔であることが特に重要です。
erlang - Erlang を使用して、クラスター間で負荷を分散するにはどうすればよいですか?
スレーブ/プール モジュールを見ていましたが、私が望むものと似ているように見えますが、アプリケーションに単一障害点があるようにも見えます (マスター ノードがダウンした場合)。
クライアントには、接続を受け入れるゲートウェイのリストがあり (フォールバックのために - すべて同じことを行います)、クライアントによってランダムに 1 つが選択されます。クライアントが接続すると、すべてのノードが検査され、負荷が最小のノードが特定され、負荷が最小のサーバーの IP がクライアントに戻されます。その後、クライアントはこのサーバーに接続し、そこですべてが実行されます。
要約すると、すべてのノードが両方のゲートウェイとして機能し、クライアントの要求を実際に処理する必要があります。ロード バランシングは、クライアントが最初に接続したときにのみ実行されます。実際のパケットはすべて、クライアントの「ホーム」ノードで処理されます。
どうすればいいですか?
apache-flex - Adobe Flex から erlang への接続?
Adobe Flex と erlang を相互に接続した人はいますか? 多くの人がさまざまなブログでこれについて語っていますが、私はまだ実用的な解決策を見たことがありません.
Flex と erlang は、真に最善の組み合わせを形成します。
ありがとう。
ディーン
erlang - Erlang で多くの条件をエレガントにチェックするにはどうすればよいですか?
そのため、ユーザーがアカウント登録のリクエストを送信すると、ユーザー名、パスワード、電子メール、およびその他の情報が送信されます。登録機能は、すべてのデータを検証する必要があります。例は次のとおりです。
- メールが使用されていないことを確認する
- ユーザー名が使用されていないことを確認する
- ユーザー名が英数字であることを確認します
- すべてのフィールドの長さが X 文字を超えていることを確認します
- すべてのフィールドの長さが Y 文字未満であることを確認します
今、私は 5 レベルの深さの if または case ステートメントを持ちたくありませんが、他にどのようなオプションがありますか? それを別々の関数に分割するのは良い考えのように思えますが、関数の戻り値をある種の条件でチェックするだけで、元の問題に戻ります。
それらを関数に分割し、すべての条件を OR で結合した if ステートメントを呼び出すこともできますが、特定のエラーがあった場合にユーザーにそのエラーを伝える必要があるため、それでは必要な結果が得られません。
erlang でこの種の状況をどのように処理しますか? return ステートメントに相当するものはありますか、それとも関数内の最後の実行可能な行である必要がありますか?