タグ付けされた質問 「reactive-programming」

18
(関数型)反応型プログラミングとは何ですか?
ロックされています。質問はトピックから外れていますが、歴史的に重要であるため、この質問とその回答はロックされています。現在、新しい回答や相互作用を受け入れていません。 リアクティブプログラミングに関するウィキペディアの記事を読みました。関数型リアクティブプログラミングに関する小さな記事も読んだ。説明は非常に抽象的なものです。 関数型反応プログラミング(FRP)は実際にはどういう意味ですか? (非リアクティブプログラミングとは対照的に)リアクティブプログラミングは何で構成されていますか? 私の背景は命令型/オブジェクト指向言語なので、このパラダイムに関連する説明をいただければ幸いです。

1
ReactiveCocoa対RxSwift-長所と短所?
したがって、Swiftを使用して、ReactiveCocoaの人々はバージョン3.0でSwift用に書き直しました また、RxSwiftと呼ばれる別のプロジェクトがスピンアップされています。 2つのフレームワークのデザイン/ API /哲学の違いについての情報を人々が追加できるかどうか疑問に思う [StackOverflow改造に関する注意:この質問には決定的な答えがあります。答えは2つのフレームワークの違いです。SOについても非常に話題になっていると思います] まず、ReadMeを読んだときの最初の印象は次のとおりです。 マイクロソフトの「実際の」C#Rxに精通している人として、RxSwiftはより認識しやすく見えます。 ReactiveCococaは、独自のスペースに移行し、Signals vs SignalProducersやLiftingなどの新しい抽象化を導入しているようです。一方でこれはいくつかの状況(Hot vs Coldシグナルとは)を明確にするようですが、一方でこれはフレームワークの複雑さを増すようです


2
RxJS:オブザーバブルを「手動で」どのように更新しますか?
私は心の中でこれがオブザーバブルの最も基本的なケースになるはずなので、私は何かを根本的に誤解しているに違いないと思いますが、私の人生では、ドキュメントからそれを行う方法を理解できません。 基本的に、私はこれを行うことができるようにしたいです: // create a dummy observable, which I would update manually var eventObservable = rx.Observable.create(function(observer){}); var observer = eventObservable.subscribe( function(x){ console.log('next: ' + x); } ... var my_function = function(){ eventObservable.push('foo'); //'push' adds an event to the datastream, the observer gets it and prints // next: foo } しかし、私はのような方法を見つけることができませんでしたpush。私はこれをクリックハンドラーに使用していますが、それらはそれを持っObservable.fromEventていることを知っていますが、Reactで使用しようとしていますが、完全に異なるものを使用するのではなく、コールバックでデータストリームを更新するだけで済みますイベント処理システム。だから基本的にこれが欲しい: …

7
Redux-SagaではなくRedux-Observableを使用する理由
私はRedux-Sagaを使用しました。それを使って書かれたコードは、JSジェネレーター関数が時々混乱していることを除いて、これまでのところ簡単に推論できます。私の理解から、Redux-Observableは、ジェネレーター関数を使用せずに、副作用を処理する同様のジョブを実行できます。 ただし、Redux-Observableのドキュメントには、Redux-Sagaより優れている理由についての多くの意見はありません。ジェネレータ関数を使用しないことがRedux-Observableを使用する唯一の利点であるかどうかを知りたいのですが。そして、Redux-Sagaの代わりにRedux-Observableを使用することの欠点、落とし穴、または妥協点は何ですか?前もって感謝します。

6
AngularでのSubject vs BehaviorSubject vs ReplaySubject
私はそれらを理解しようと努めてきました3: 件名、行動件名、リプレイ件名。私はそれらを使用したいと思います、いつ、なぜ、それらを使用する利点は何ですか、そして私はドキュメントを読み、チュートリアルを見て、googleを検索しましたが、これを理解できませんでした。 では、それらの目的は何ですか?実際のケースでは、コードを書く必要がないことを最も評価します。 「a + b => cあなたが購読している...」だけでなく、わかりやすい説明を希望します。 ありがとうございました

8
「コールバック地獄」とは何ですか?RXはそれをどのように、そしてなぜ解決するのですか?
JavaScriptとnode.jsを知らない人のための「コールバック地獄」とは何かを説明する簡単な例とともに、明確な定義を誰かが提供できますか? 「コールバック地獄の問題」はいつ(どのような設定で)発生しますか? なぜそれが起こるのですか? 「コールバック地獄」は常に非同期計算に関連していますか? それとも、シングルスレッドアプリケーションでも「コールバック地獄」が発生するのでしょうか。 私はコースラでリアクティブコースを受講しました。彼の講義の1つで、エリックメイヤーはRXが「コールバック地獄」の問題を解決すると述べました。私はCourseraフォーラムで「コールバック地獄」とは何かを尋ねましたが、明確な答えがありませんでした。 簡単な例で「コールバック地獄」について説明した後、RXがその簡単な例で「コールバック地獄問題」をどのように解決するかを示すこともできますか?

8
オブザーバブルのリストを組み合わせて、すべてが完了するまで待ちます
TL; DR どのように変換するためTask.whenAll(List<Task>)にRxJava? 私の既存のコードは、Boltsを使用して非同期タスクのリストを作成し、それらのタスクがすべて完了するまで待ってから、他の手順を実行します。基本的に、Boltsサイトの例のように、リスト内のすべてのタスクが完了するList<Task>と、を構築して、Task完了としてマークされたシングルを返します。 私は交換するために探しているBoltsとRxJava、私は非同期タスクのリストを構築するこの方法を想定した(サイズは事前に知られていない)と、すべてのシングルにそれらをラップするよObservable可能ですが、私は方法がわかりません。 私は見てみましたmerge、zip、concat等...しかし、上で動作するように得ることができないList<Observable>、彼らはすべてのちょうど2つで作業に合わせたように見えるように私が構築するだろうとObservables私が正しくドキュメントを理解すれば一度に。 私は学ぼうとしていますがRxJava、まだ非常に新しいので、これが明らかな質問であるか、どこかのドキュメントで説明されている場合は、ご容赦ください。検索してみました。どんな助けでも大歓迎です。

3
現在の機能的リアクティブプログラミング実装のステータスは何ですか?
Haskellでいくつかの単純な自動物理システム(振り子、ロボットアームなど)を視覚化しようとしています。多くの場合、これらのシステムは次のような方程式で記述できます。 df/dt = c*f(t) + u(t) ここでu(t)、ある種の「インテリジェントコントロール」を表します。これらのシステムは、関数型リアクティブプログラミングパラダイムに非常にうまく適合しているように見えます。 そこで、Paul Hudak氏の著書「The Haskell School of Expression」を手に取ってみたところ、そこに提示されているドメイン固有言語「FAL」(Functional Animation Language)は、私の単純なおもちゃシステムでは非常にうまく機能していることがわかりましたintegrate。効率的に使用するには少し面倒すぎるようですが、簡単に修正できます)。 私の質問は、今日のより高度な、または実用的なアプリケーションのための、より成熟した、最新の、よく維持された、パフォーマンス調整された代替手段は何ですか? このWikiページにはHaskellのいくつかのオプションがリストされていますが、以下の点については明確ではありません。 (私が理解しているように)このプログラミングパラダイムの発明者の1人であるConal Eliottのプロジェクト「reactive」のステータスは、少し古く見えます。私は彼のコードが好きですが、多分私は他のより最新の代替案を試すべきですか?構文/パフォーマンス/実行時の安定性の点で、それらの主な違いは何ですか? 2011年の調査のセクション6 から引用すると、「... FRPの実装は、レイテンシの保証が必要なドメインで効果的に使用するには、まだ十分に効率的または予測可能ではありません...」。FRPが15年以上存在しているという事実を考えると、調査はいくつかの興味深い可能な最適化を示唆していますが、このパフォーマンスの問題は少なくとも数年以内に解決するのが非常に、または本質的に難しい場合があるという印象を受けます。これは本当ですか? 調査の同じ著者は彼のブログで「時間の漏れ」について語っています。問題はFRPに固有のものですか、それとも純粋で厳密でない言語でプログラミングするときに一般的に発生する問題ですか?FRPベースのシステムを長期間にわたって安定させることは、十分に高性能ではないにしても、非常に難しいと思ったことはありませんか? これはまだ研究レベルのプロジェクトですか?プラントエンジニア、ロボット工学エンジニア、金融エンジニアなどの人々が実際にそれらを使用していますか(ニーズに合った言語で)? 私は個人的にはHaskellの実装を好んでいますが、他の提案も受け入れています。たとえば、Erlangを実装するのは特に楽しいでしょう-インテリジェントで適応性のある、自己学習型のサーバープロセスを用意するのは非常に簡単です。

2
特定の副作用のために新しいサブスクリプションを作成する必要があるのはいつですか?
先週、私はRxJSに答えました 質問「特定の副作用ごとにサブスクリプションを作成するべきか、それともサブスクリプションを最小限に抑えるべきか」について、別のコミュニティメンバーと話し合いました。完全なリアクティブアプリケーションアプローチの観点からどの方法を使用するか、またはいつ切り替えるかを知りたい。これは私とおそらく他の人たちが不必要な議論を避けるのに役立ちます。 セットアップ情報 すべての例はTypeScriptにあります サブスクリプションのライフサイクル/コンストラクターの使用に関する質問に焦点を当てず、フレームワークを無関係に保つ 想像してみてください:サブスクリプションはコンストラクター/ライフサイクルの初期化で追加されます 想像してみてください:登録解除はライフサイクル破棄で行われます 副作用とは(角度サンプル) UIでの更新/入力(例 value$ | async) コンポーネントの出力/アップストリーム(例@Output event = event$) 異なる階層の異なるサービス間の相互作用 使用例: 2つの機能: foo: () => void; bar: (arg: any) => void 2つのソースオブザーバブル: http$: Observable<any>; click$: Observable<void> fooがhttp$発行された後に呼び出され、値は必要ありません barclick$エミット後に呼び出されますが、現在の値が必要ですhttp$ ケース:特定の副作用ごとにサブスクリプションを作成する const foo$ = http$.pipe( mapTo(void 0) ); const bar$ = http$.pipe( switchMap(httpValue => click$.pipe( …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.