読者です 読者をやめる 読者になる 読者になる

今日考えたこと / Web vs SIerの不毛さ / 研究について

 出社そのものがストレス。

 4つ耳許容派。

 さいきんのはてブトップを見に行っても何も得られない感すごい。

Webと言われる企業にも要件そのものが複雑なシステムや、金融決済を行うシステムを作っているところがある。SIerの中にもWebを使ったシステムを作るところがある。

また、システムを自社サービスとして作るか受託として作るかもWeb / SIerで切り分けられなくて各社様々である。

なので、両者が作るシステムという観点では違いはなくて注目すべき違いは文化だと思う。今読んでるHow Google WorksにもGoogleが文化を重要視して文化に合う人間を採っていることが説明されていた。

なぜ文化が重要なのかというと、人間を完全にコントロールするには無限の労力が必要だからだ。文化という名の洗脳ができていると、各人の社員は自発的に文化に沿った行動をしてくれる。Web / SIerでそれぞれ村を分けたい人々にとって重要なのは自分の所属している文化と同じものを称揚することである。別にそれはそれで全然構わないので、好きな文化圏で生きてくれという個人的な気持ちではあるのだけど、違うのは文化が主でもはや業としては区別する意味がないよね?ということを言いたかった。

 みんな円盤を買ってくれ。

www.amazon.co.jp

 車両の上に絶対零度よりちょっと高いくらいの温度を維持するシステムおくのやばくないですか。現在の新幹線とは比べ物にならない複雑さだと思うんですが……。

 

以下、別のところに書いた発言。

人間はステートマシンで、経験と自己存在が強く紐付いており、経験として所有する概念を否定されると、それを守る感情が働くという思想を私は持ってる。

自分を守るのは普通の働きだと思うんですが、自覚的だとより良いと思う。

 

airpods最高という気持ちが高まってる 

無線が最高なのはそうなんだけど、他のヘッドセットと違うのはつけたまま寝返り打てる点

 軽くて無線で長距離届く。こんなに生活を変化させるとは思わなかった。

 

助教の研究指導、今思うと完全に正しいことを言っているんだけど、この手のアドバイスはわかった人にしかわからない知見のような気もする。

給与が出るならもう一回研究をやっても良い

とにかく考えていたら考えられるようになるということがわかった

今ならたぶんできるんですが、当時は現代だとありえない目標を設定して、本質的な問題を抽出して解決していくというプロセスを身に着けていなかった。

そもそも考えることが苦手だった時代で、主体的に考えられない状態だったのであまりまともな成果は残せてない。

なぜ考えられるようになったかというと、某有名人が「すべてのものごとに仮説を建てて検証すると良い」といったことを言っていたことを実践したからだ。これを実践したら数年後には考えられるようになっていた。

しかし、無給どころか学費を払ってまで研究をやりたいかというと絶対に嫌だ。

 

想像力という能力がチームで揃うことなんてありえないので、どんなものを作るにしてもプロトタイプを高速に完成させることが重要なのだろうなぁ。 

 はい。

 

サーバルちゃんはどんな描かれてもサーバルちゃんとわかるので良いなぁ。絵柄がよくコントラストされる。 

 たぶん服のデザインが素晴らしいのだと思う。そして、各絵描きの特徴量がよくでてきておもしろい。

プログラマとして健康への取り組み(2)

とりくみ(2)

non117.hatenablog.com

つづきです。

歩行指導

体型が良くない問題の他にも、私には猫背で姿勢が悪い特徴があった。姿勢が悪いと肩が凝り立ち姿も最悪なので問題意識を持っていたところ、ジムで歩行(姿勢)指導コースを発見し申し込んでみることにした。

 

f:id:non_117:20170204210811p:plain

 

歩行指導は、30分3800円で1対1の姿勢および歩行の指導が受けられるコースで、月に1回指導を受けて日々の生活で気をつけるべき点を教えてもらい、次の指導で内容の確認やフィードバックを受けるというものだ。
歩行指導は昨年の5月くらいからはじめて8ヶ月くらい経っているが、こちらは筋トレと有酸素運動とは違って目覚ましい効果が現れた。
差分としては、

  • 肩・首の凝りから開放された
  • 立っていて疲れなくなった
  • 猫背が完全に解消されて姿勢が良くなった
  • 歩行時にカロリー消費が増えた(fitbitでの計測)

のような感じで、基本的に良いことしか無いというか最悪な姿勢で無理な筋肉の使い方をしていた状態からまともな姿勢に戻したというだけではある。
された指導の内容は、

  • 腹横筋(おなかを横に走っているコルセット様の筋肉)を常に締める*1
  • 肩甲骨を背骨方向(後ろ下方向)に引っぱる
  • 地面を足で蹴るときに膝を曲げない
  • 腕を振るときは後ろに引くときだけ力を入れる

というものだった。*2基本原則としては、重い頭を背骨で支えるために上半身を安定させ、効率よく地面を蹴って前に進むことを目指している。
たぶん武道やダンスをやったことのない人には腹横筋を締めて生活するのが最も困難で、私は習得するのに半年くらいかかってしまった。

よく噛んで食べる

胃腸を悪くしたときがあったので、妻の真似をしてゆっくりとよく噛んで食べるようにしてみた。これは意識的に始めてから数日で効果が現れ、あれな話だが、消化器の返り値がたいへん良い状態になった。口で食べ物を細かく砕くのも消化の一貫なのが理由だろうと推測している。

まとめ

色々取り組んでお金と時間も費やしてきたが、10ヶ月くらいの経験からいえる結論は、

  • 常日頃意識する行動を改善するのが最も時間・お金・精神のコストパフォーマンスが良い

だった。
(1)の記事にも書いたように、筋肉・贅肉の状態はカロリー収支の結果でしか無いので、入力を減らすか出力を上げることを極端にやれば短期的にでも結果が出る。しかし、いっときのブームでしんどい取り組みをしても長続きはしないので、私はやりたくない。というか長期的に身につくことをやらないと真に健康を目指しているとは言えないのではないか。
なので、緩やかに無理なくカロリー収支を改善するには、特別な行動を介さなくても取り組める日常的な行動をよくしていくのが効率的だという結論になった。
カロリー消費の方で有用そうだったのが姿勢と歩行の改善で、カロリー入力の方での取り組みが食べる速さと食事の内容になる。*3
生きている限り歩行と食事を行わない人はいないので、おそらくこの2つをほんの少しでも改善するのは長期的な健康に寄与するのではないかと思う。

もちろん、オフィスワーカーであるならば何らかの筋トレで筋肉量を維持することは有用なので、両輪としてやっていくのが良い。

以上のように銀の弾丸はないという認識で、短期的に結果が出ることに期待するのはやめて今後も地道に継続していきたいと思います。

蛇足

  • 身体は複雑系で人によって構成が微妙に違うので基本的に一般論は述べられない(免責)
  • 20代から筋肉は減り続けるという話はあるので、筋肉をつける目的でのジムは良い選択だし効率が良い
  • 姿勢と歩行の指導はトレーナーが生徒の姿勢を見てフィードバックを与えるのが主なので、上記のリストを守ったからと言ってその人の良い姿勢に寄与するかどうかはわからない
  • 本気でやるならちゃんと対面で指導を受けないと身につかないと思われる
  • まともな姿勢で楽に歩きたいなら、斜めがけかばんをやめて重いPCを運ぶときはリュックを使い紐をきつめに締めるのが良い

*1:ほんとうに常にやる。立っている時も座っている時も。

*2:人によって歩き方の癖は全然違うので、指導内容は一例にすぎない

*3:当然脂とか炭水化物ばかり食べると歩行で改善したカロリー消費なんてかんたんに吹き飛ぶ

プログラマとして健康への取り組み(1)

背景・問題点

大学生、大学院生と自転車には乗るもののまともに運動をしない生活をしてきた。また、麺や油の多い食品をよく食べる標準的なデブ食生活をしていたので、就職したとたんに贅肉が4, 5kgくらい増えてしまった。
プログラマとして1日に8時間も座る生活をしており、何らかの方法でカロリー支出を増やすしかなかったため去年の3月から対策を講じることにした。

目標

体重というのはわかりやすい指標だし、私も体重を目標にすべきだと思っていたところ、(異常に人間の骨格にくわしい)絵描きである妻*1が、体型のほうが重要だと言っていたので体型を重視するように認識を改めた。
確かに、身体の組成は人によって異なるので、体重という大雑把な指標で身体の肉づきを特徴づけられるとは言い難い。*2
また、客観的な評価が尊いのは確かなのだが、ご家庭にある数万円程度の体重計では精密で信頼のおける数値を出すのは難しいと思われる。*3*4
なので、主観評価でも良いので鏡の前に自然体で立ったときの見た目を指標にすることにした。そもそも、なんとなく鏡の前で自分を見てつらいなぁというのが出発点なので、そこを解決することに意義はあるだろう。

とりくみ(1)

ジム

月なみな手段としてまずジムを選択した。特に好きなスポーツも無いのが理由である。
ネットで近所のジムを見つけて契約を行い、5000円 / 月 + 約800円 / 回で通えるようになった。最初はインストラクターをつけてもらって、マシンの使い方の指導とトレーニング内容の設計を行ってもらった。
トレーニングの設計が終わってからは放牧状態になり、自主的にモチベーションをコントロールして通わなければならないようになった。今は月3, 4回通うようにしている。
ジムでの活動内容は、柔軟 -> 有酸素運動20分 -> マシントレーニング3周 -> 有酸素運動40分にしている。時間が無いときはマシントレーニングを優先して有酸素運動を省略することがある。

f:id:non_117:20170204210024p:plain

挿絵です。

ジム経過

背中と胸、上腹部の筋肉は増えてきたが、まだ目標達成と言える体型とはいえない。原因は有酸素運動(ルームランナーやオープンストライド)が不足していることで、脂肪があまり減っていない状態だと思われる。
グリコーゲンと脂肪の消費優先度みたいなものはあるが、結局身体はカロリーの入出力と筋肉いじめで体型が決まるので、脂肪を減らすには消費カロリーを増やすか、入力するカロリーを減らすかしか取れる選択肢がない。入力を減らすメジャーな方法が食事制限や糖質制限と呼ばれるもので、確かに短期間で結果を出すことはできるとは思うが、個人的な信条として受け入れられないのでこの方法は取れなかった。
かと言って有酸素運動はなかなかしんどいもので、とにかく時間がかかる問題がある。例えば時速5km/hで歩行しても1時間で400kcal消費できるのが良いところで、負荷の高いオープンストライドでも1時間あたり600kcalである。*51時間もルームランナーなどで過ごすのは本当に苦痛で、心理的には相当効率が悪い。まだ外を歩いている方がマシなので、最近は毎日数km余計に歩くようにしている。*6

マシントレーニングを経験してわかったのが、筋トレマシンは特定の筋肉に対して負荷をかけるようにできていることだった。確かに、腹筋などの自重トレーニングで大雑把に筋肉を痛めつけることは可能なのだけど、マシンを使うと関節の可動域が制限されるため、特定の筋肉を効率的に鍛えることができるようだ。*7

ジムまとめ

  • ジムは効率的に筋肉を増やすためには良い環境ではあるが、脂肪を減らすには苦痛な環境だった

時間がたくさんある、あるいはルームランナーについているテレビを苦痛なく見られる人はジムで有酸素運動をしまくれば良いと思う。しかし、暇なことに耐えられない人間は有酸素運動にコストをかけられないので、他の方法で消費カロリーを増やす必要がある。

 

長くなったのでいったん記事をわけ、次の記事では最も効果が出た歩行指導について書きます。

non117.hatenablog.com

*1:合気道経験者で姿勢が良い

*2:体脂肪率と組み合わせれば意味が出てくるが、後述のとおり家庭では正確に測るのが難しい

*3:ただし、ジムなどにある数百万円の体重計は数回の計測で筋肉量や骨量なども出してくれるので、そのような設備が気軽に利用できるならば数値を指標にしても良いと思う

*4:人体に抵抗はある以上、体脂肪率を測る方法も2極だと精度に難がありそうな気がするんですが、どうなんでしょうかその辺

*5:脂肪は9kcal/gで、1時間の運動がすべて脂肪から消費されるわけでもない

*6:歩行は最高で、歩きながら考え事をすると難しい設計もいい感じにまとまるので、どんどん散歩するようにしている

*7:まともなフォームでトレーニングを行えば

MacBook Proと4Kディスプレイその他の環境

MacBook Pro

Touch Barの13インチのやつを買いました。

キーボードが使いにくい、Touch Barなんて使わないなど諸説ありますが、スペックが上がっているだけで価値があると思っています。

レガシーUSBとの共存

 変換するためにこれを買いました。 

ヘッドホンやTime Machineバックアップ用のディスクなどを有線で繋ぐのにハブを使っています。お金がある人はストレージやヘッドホンやキーボードを無線化すると良いんじゃないでしょうか。

f:id:non_117:20161119150245j:plain

この変換アダプタの問題点がひとつあり、上の図のようにAUKEYの変換アダプタ同士が干渉するので、隣り合うコネクタには刺さないほうが良さそうです。

無理やり刺すといやな音がします。

4Kディスプレイ

気持ちが高まって買いました。

選択肢はそれなりにあって、先人の知恵として

r7kamura.hatenablog.com

ディスプレイ遍歴 - 9mのパソコン日記

この辺の記事が参考になりました。

40インチはでかすぎないか

PC用の4Kディスプレイには28インチ帯と40インチ帯にピークがあるのですが、個人的には40インチ帯のほうがおすすめです。確かに、届いたときはあまりの大きさに引くのですが、日常的に使っていたらディスプレイは慣れで縮みます。

また、幅100cmくらいのディスプレイを50cmの距離から見ると、だいたい視野すべてがディスプレイで埋まるので没入感が上がるような気がしています。

コネクタ

PS4 PROを4Kで繋ぐならHDMI 2.0対応のものを買いましょう。P4317QはHDMI2.0には対応していません。DisplayPortは2つあれば十分だと思います。

MacBook Proとの接続

在庫切れになっていますが、

https://www.amazon.co.jp/gp/product/B01EXKDRAC/

を買いました。

ケーブルが少し硬いですが接続性は全く問題がないです。

その他のポイント

MacBook Proに繋ぐケーブルの数

f:id:non_117:20161121231313j:plain

4Kディスプレイ環境で充電をしながら、レガシーUSBを繋ぐので合計3つです。

www.apple.com

この手のドック的なコネクタを買うと1あるいは2端子専有に抑えることも可能ではあります。

上記のように3本つなぐなら、Touch Barのモデルにするのは確定です。よかったですね。

Touch Bar使うのか問題

プログラマにはあまり恩恵無さそう……。

覚えられるくらいよく使うショートカットキーなら覚えているキーを押すほうが速いので、たまに使うかも?くらいの機能にTouch Barを割り当てると便利になるかもしれません。

ただし、ボタンとしてのTouch Barではなく音量や写真のフィルタのような連続値を制御するには良いインターフェイスだと思います。

 

 

以上です。どれも良い製品なので迷ったらこの構成にするとやっていきが捗ります。

ReactでもDOMの木構造はつらいよ問題

nippo.wikihub.io

Commented on 2016-09-01

何も考えずにReact, Redux使うような気はするのだけど、Reduxを使わない場合は各位どうやってState管理してるんでしょうか?

コンポーネントがstateとメンバ関数を持っており、子コンポーネントはpropsかcontext経由でその値を参照しながら描画とイベントバインディングを行っています。

日報で疑問を書いたら、id:r7kamuraさんが答えてくれた。

 facebookが想定してるのはこの用途かな。

原則として、木構造を小さくするべきだと思っている。木のデータ構造はノード間の依存関係があるからである。バケツリレーはノード間の結合を強くするので良くない。

なので、ページ全体のComponent木を部分木で構成するべきである。部分木の中でのstate置き場が部分木でのRootのContainer Componentで、子孫がPresentational Componentとなる。部分木とは、UI上で意味のある単位で分割されたComponent木である。

部分木同士が疎結合であるならば話は簡単なのだけど、部分木間でstateを共有したいとなると厄介なことになる。

仮に木全体のRoot Container Componentにグローバル変数を置いてもそれを子孫に渡すにはバケツリレーかcontextが必要になる。contextは暗黙的にバケツリレーしてるだけなので(ちょっと認識が合ってるか自信はない)部分木同士に依存関係が発生することに変わりはない。

部分木たくさん作ったときに、グローバルStateの注入で木同士の依存を発生させにくいのがRedux, [ここにあなたの好きなFluxの名前が入る] だと思っている。

私はReduxしか真面目に勉強しなかったのでReduxの話になるが、Reduxの場合は唯一のStoreにグローバル変数をぶち込んで好きなときに切り出して部分木に流し込むことができる。この時に部分木間でpropsが流れることはない。

 結論としてはこれになる。

原始的Propsバケツリレー

f:id:non_117:20160902230631p:plain

こうしたい

f:id:non_117:20160902230711p:plain

おまけポエム

とはいっても、人間は複雑なものを認知できないので、人間が直接触る木構造とかさっさと無くすべきだと思っている。スマートヒョンのGUI作る君だってGUIじゃないですか。

木構造は機械に優しいが人間には優しくない。特に変更をするときは。

UIとか作っては弄っての繰り返しを避けられないので木構造の変更・メンテナンスを人間がやるはめになって消耗必至である。

 

「君の名は。」感想, ネタバレ込み

君の名は。」を観たので言語化を行います。上映が終わって1時間も経っていないので大変新鮮なエモをお届けできることかと思います。ネタバレは多量に含むものとするので各位勝手にやっていってください。

 

 

客層

中高生メインで小学生も見受けられた。イオンで観たというのもあるかもしれないが。客層のせいか、せっかくのやまむらやCMが流れている間にも喋っている人が多くて大変よくない態度だった。でも、我々は大人なので慈悲の心で許さなければならない。

 

序盤

どのタイミングで入れ替わっているのかが多少わかりにくかったが慣れるとなんとかなった。OPが流れるまでのシーンですでに映像表現と5.1chサラウンドで脳がやられかけていた。桂川イオンの設備はULTIRAとかいうやつで、スクリーンがでかくて音が良い。眼前いっぱいのスクリーンにかわいい女の子と美麗な風景、光表現が登場するとオタクは速やかに脳をやられて死ぬ。

中盤

ちょっと退屈だったがぎりぎり没入できていた。たぶんここの筋に致命的な所は少なかったのだと思う。

終盤

おいおいまじか爆破させるのか。


これは許せない。
あと結局落ちちゃったのは、新海誠が蒸発→衝撃波を描きたかったのだと思っています。

ラスト

 

 

総括

記憶力を無にして素直に観ると大変良い作品だったと思う。後味が良くて象徴的な記号シーンでいい感じの歌が流れていたら脳直で人々は感動するんですよ。三葉がこけて手を開いたシーンとかで隣の席の女性泣いてたし……。

しかし、細かいところを突っ込みだすとキリがないくらいもぐらたたきができると思う。我々オタクはだいたいアニメの台詞を覚えて日常生活で喋っちゃうタイプなので、大筋に満足するのだけど細かいところが気になってモヤモヤするという現象が起きる。

 

なぜモヤモヤするのか

物語での整合性として、登場人物の気持ちで解決できるラインと、魔法で解決できるラインがあると思う。ヤシマ作戦とかの勝利が前者で、ウィッチに不可能は無いのが後者。ガルパンの特殊カーボンも後者。

フィクションである以上は気持ちが存在しない作品はおそらく存在しないので、これはある前提で良い。ここを疑ってはならないので、気持ちのパワーで秋の山頂で寝ても大丈夫だし、気持ちの力で山を高速に降りることができる。


問題なのは、魔法の存在とそのルールが視聴者に共有されるかどうかで、これが共有されてないと視聴者は混乱したり没入できなくなる。「君の名は。」でも魔法はいくつか登場しており、入れ替わりや酒と紐で物理はねじ曲がるのが主である。日記アプリのログが消えるのも個人的には絶対に許せないがそれは今いいです。
現代のフィクションでは物語の序盤で魔法のルールとその運用について視聴者に説明されることが多い。ラノベ原作アニメの第一話で見られるアレである。理想的には、最初のルールに原則従っていきつつ気持ちでルールをハックしたり、隠しルールを出す物語が視聴者にとってわかりやすいのだと思う。ただし、ルールが追加、更新されるさいには必ず視聴者への説明が必要になる。これが無いものはご都合主義のそしりを逃れることはできない。(既存の世界観やルールから自然に類推できるものが追加されるのであれば省略されることも多い気はする)


魔法の提示方法を踏まえたうえでの「君の名は。」での問題点は、現代っぽいどこかの世界を前提にしているのに、要所要所は未説明魔法で物語が進んでしまう点にある。簡単に言うとご都合主義にすぎない。というのも、我々は現実世界に生きているので魔法の説明がされなければ自然と現実世界ルールで物語を消費することになるからだ。
新海誠の世界が現実に即したものではなく、完全にファンタジーな世界であれば、多少変なことが起きてもそういう世界なんですねで済むのだが、現実世界ルールが適用されてるとなるとそれは守られなければならない。説明で例外が適用されない限りは。
だが、新海誠は鉄道とふすまのオタクなので現実世界を書かないわけにはいかないし、現実世界ルールが前提になっていると視聴者が覚えるルールが少なくて済むので一般人にとって楽というメリットもある。
このようにして、大衆的商業主義に舵を切ると現実世界ルールがベースになるのだけど、そこに追加ルールを敷いて全体の面白さと整合性のルールを守るのはけっこう難しい作業な気がする。

 

とは言ったものの、「君の名は。」のルール違反で私が思いつくのは送電網の単一障害点問題と、衝撃波での生き残りすぎ問題くらいで、大半は気持ち駆動で片付けられるような気はする。というか私は割と没入できてしまった弱いオタクです。。。
気持ち成分強めの作品は、気持ちの振幅が小さい人々には響きにくいので没入感が得られにくく、没入できないとなるとかなり冷静に物語を眺めるので物語のルール違反が散見されるのが各位が苦しんでいる現象ではないでしょうか。たしかに、気持ち多すぎは胸焼けするので良くないです。

 

(追記)

気持ちで物語を動かすのにも準備が必要で、登場人物みんなの気持ち遷移の整合性も重要そう。つまり、徐々に高まっていって状況を作り、最後にえいっと気持ちでキメるみたいな?

この状況作りができずに、我々視聴者の知らないところで勝手に主人公の気持ちが高まるとご都合主義だとか置いてけぼり感が出てしまうのだと思う。

(追記終わり)

どうすればモヤった視聴者は救われるのか

救われません。残念でしたね諦めましょう。

 

父との融和は???

ここまで書いて気がついたのだけど、三葉と父が最後の最後でかち合ってから避難するシーンが描かれていない。実は生きてたんよ〜演出をして視聴者をびっくりさせたいのもわからないでもないが、親子の確執をよくあるテーマとして記号的に出した割に解決しないのは中途半端で良くない。他に削れるシーンあるでしょ。

(追記2)

r7kamura.hatenablog.com

に記載されたやり取りでわかりもあったが、外伝小説読んだらすべて解決した。

www.amazon.co.jp

 

以上です。私はここまで言語化できたのでもう満足です。
それにしても三葉はかわいいですね。

なぜReactなのか

なぜReactなのか

React, Cyclejs, Reduxを学んだ上でこれらの技術が何を解決したのかまとめてみる。発想はオリジナルではなく、今まで私が読んだ記事から拝借した解釈などが含まれている。たぶんReact, Fluxを学んだ人にとっては当たり前の感覚を言語化しているだけの内容となる。

TL;DR

Q: なぜReactなのか
A: フロントエンドが自由度の高いGUIアプリケーションになった。既存の手法では自由度の高いGUI実装を人間にわかりやすく管理することが難しくなった。

自由度の高いGUIな世界

  • 自由度(複雑さ)の低い時代ではrender済みのDOMの上にDOMを操作する(jQueryによる)UIを載せる設計でも十分だった
  • 現代のwebフロントエンドではVisual StudioXcodeで作るネイティブGUIと同等の複雑さを求められる時代になっている
  • jQueryだけで複雑なGUIを実装するとDOMそのものが状態(State)であることが問題になる

    • DOMというグローバル変数に対してあちこちからCRUDする状況で、複雑さが増すにつれて人間にはメンテできないコードになる
      • クソコードと呼ばれる状況
  • React ComponentはDOMと状態を切り離した上でUI部品のコンポーネント化も行った点で優れていた

    • コンポーネント化は真新しい概念ではなく、おなじみの「関心の分離」
      • 人間にとって管理しやすくなることが重要
      • 再利用性が上る(こともある)、単体テストしやすくなるといった恩恵
      • コンポーネント化を担うのはReactである必要はない
    • 状態の管理は有史以来プログラマを苦しめ続けたやつ
      • たとえばサーバサイドだとDBとモデルに押し込めたり、マルチスレッドだとロックをきちんととったり
      • React Componentには this.state, this.props の変更を検知してDOMをrenderするライフサイクルがある
        • React Component単体ですでにDOMの状態を変更するフローは一方向になっている
        • DOMの状態を変化させるフローをUI設計全体に適用したのがFlux
      • FluxもReact Component同様に状態の変化に制約を与えるのが目的
        • 複雑な問題は制約を与えることで解きやすくなるし人間にとって認知しやすくなる
        • UI実装がスケールするならFlux層はなんでもいい
    • 状態の切り離し・管理とコンポーネント化を推し進めた設計が優れていたのであり、React, Reduxであるから無批判に良いというわけではない
      • React, Reduxにも問題はある
        • propsバケツリレーつらい問題
        • Reduxの非同期処理いけてない問題
        • React, ReduxそのものはStateとComponentをどう構造化すべきかフレームワークレベルの制約を与えてない(ドキュメントに指針はある Usage with React | Redux)
  • SPAであることが重要なのではなく、フロントエンドを複雑なGUI環境としてとらえる視点が重要ではないか

    • 自由度の高いUIを実装するには状態管理の制約とコンポーネント化があったほうが効率が良い
    • 要件で必要とされるUIの自由度によって適切な手段を選ぶべき
      • 自由度が低いなら今までどおりjQueryでもスケールする要件はある
      • 境界がどこにあるかは不明

今後

まとめ・言いたかったこと