おはあずにゃん
IntelliJでWSL2上のプロジェクトを開くとindexingが爆遅で辛さがあるな。それ以外はいいんだけど
ひっさびさに既存のテンプレートに乗っからず自分でWebフロントエンドを書いていて、今完全にReduxを再発明している
今はネットワークアクセスをreducerにきれいに組み込む方法を再発明しようとしていて、Redux Sagaの気持ちがちょっと分かってきた
周回積分と囲んでる領域上の積分が行き来できるのかなり騙された気になる。微分可能な関数の性質があまりにも良すぎる
reducerに副作用+副作用から返ってきた値に起因するactionをぶち込むのって、Reduxがやってた(Dispatch) => voidもactionとみなすやつよりもいい方法が発明されてたりしないのかな
redux-sagaってyieldから復帰した後に最新のstateを見てから次のactionをdispatchするかしないか決められたりする?
Promiseに包むと最初のdispatchがいつ発火されるか分からないけど、coroutineを使うなら最初のyieldまではsynchronousに実行されることが保証できる気がするな(Sagaがそうなのかは調べてない)
Sagaみたいな方法はcoroutineを再開するためのスケジューラがかなり賢くないと変なパターン踏んで死ぬことがありそうだけどそういう問題起きてないのかな
Flux / Redux的なアプローチをやめてReactive方向に倒すといろいろ楽になりそうだけど、Object.isの同値性でレンダリングするかしないか決めるReactの方法論といかにも親和性が悪そうなのが怖いんだよな。正しく使えば壊れないのは理屈では分かるが……
結局Sagaが革命でそれ以上の進歩は起きてない気がするなぁ。でもcoroutine怖い……JSだから本物のマルチスレッド環境よりマシだとは思うけど……