はてなキーワード: リアクティブとは
里見。
このメールを持って僕のサイバーセキュリティ担当者としての最後の仕事とする。
まず、僕の失敗を解明するために、大河内チーフにログ分析とセキュリティ監査をお願いしたい。
セキュリティの根本を考える際、第一選択はあくまで予防であるという考えは今も変わらない。
しかしながら、現実には僕自身の場合がそうであるように、発見した時点で既に侵害や漏えいが広がっていた状況がしばしば見受けられる。
その場合には、リアクティブな対策、つまり事後対応が必要となるが、残念ながら今だ満足のいく成果には至っていない。
これからのサイバーセキュリティの飛躍は、予防以外の対策の発展にかかっている。
能力を持ったものにはそれを正しく行使する責務がある。君にはサイバーセキュリティの発展に挑んでもらいたい。
遠くない未来にサイバー攻撃による被害がこの世から無くなることを信じている。
ひいては、僕の失敗をログ分析の後、君のセキュリティ研究の一石として役立ててほしい。
『失敗は成功の元』
Vue3のComposition APIに文句言ってる人がいて、何言ってるのこいつとか思ったらJavaScriptだった
そりゃJavaScriptならComposition APIなんて面倒なだけだろうね
ただ今時TypeScript使わない現場なんて存在するのかね
そこそこ現場見てきたけどJavaScriptのソースは基本的にマイグレ前提で放置されてるレガシーになってたけどな
そいつを救出するならTypeScriptは必須だし、そうなるとComposition APIも必須だと思うけどな
その段階でReactに、とかいうのは全然分からんくて、Vue3になった時点でReactよりリアクティブに書けるんだからVue3でいいじゃん、という感想
はてなで左翼論客が現れた2005年前後には、ネトウヨだって2chとその周辺のまとめブログにしかいなかった。
今で言うなら「疑似科学ビリーバー(=ネトウヨ)に対する疑似科学批判者(=サヨク)」くらいの感じだよね。
だから「ネトウヨが当たり前なのにどうしてサヨクなの?」という質問からしてまずピントがズレてる。
はてなダイアリーが論客に好まれてその中に左翼論客もいたのと、
まとめブログが生まれてそれを通して2chの中で醸成されていた嫌韓思想が一般にも広まったのと、
それはほとんど同時に起きたのだ。
彼らはブログブーム以前から個人サイトを持っていて積極的に情報発信をしていた。
そのためかブログブームにはあまり乗っからなかった印象がある。
このあたり、ネトウヨは失うものがない状態からアクティブに行動し、
第一に、それは、ストリーム(FRPの値の定義)の問題であって、ユニットテストすれば良い。もしくは単にFRPのログを取れば良い。
グローバル変数ではそういうことはできない。FRPでは、岡部氏のFRPライブラリも特にそうだけど、基本的にミュータブルな値同士が関数でリアクティブに連携されて常に整合性を保っているのだから、グローバル変数の、各所で更新されたそれぞれの値によって全体の整合性が損なわれないように気を配らなければいけないという(テスト自体困難な)問題は発生しない。それがFRPの唯一とも言えるメリットだとも言える。
使用する関数の問題じゃないし、「印」として引数に加えても別に構わないと思うが、君のいうグローバル変数の問題と一緒というのはまったく違う。
いや、それがそもそもの発端であるとブログの経緯には書かれている。説明されている方式でGUIアプリまで書けるのか?と疑念が呈されたことがきっかけ。
この論点は聞いたことがない。岡部氏がこだわっているのは非手続き型の宣言型で、純粋がどうとか議論はされてないように思う。
あと、OCamlでGUIを状態渡しで書いたら簡潔で無いのを「書けない」、「不可能」って言ってるのはわざと印象操作しようとしてるよね?
原理的に可能かという議論ではなく、実用的な範疇か?という議論。反対派ブログで出てきたコードは、本人が認めるように普通のやり方ではなく、実用的なコードだとは思えない。あと、FRPと状態渡しは同じ複雑さだという主張も崩されている。そこが重要。
段階を踏んだ上で、非FRPのHaskellのIOモナドのコードを誰かが書いたらいんじゃない?当面、最初はOCamlの話だったのに、いきなりHaskellやElmのコードで書いて、そういうのがごちゃまぜに、何がどの言語でできるのかできないのか、誤魔化しがあると見做されたから制限されたんでしょ。実際には、OCamlの関数型では冗長でしか書けないと実証されたけど、そういうのがバレないように、別の言語を利用していたと看破されて当然の状況だと俺は思うね。
ReactはJavaScript界隈の関数型プログラミング化の潮流で登場。
最近、炎上している別の方面で、特にFRPと組み合わせると圧倒的なパワーを発揮すると一部では実例とともに指摘されている。
http://kenokabe-techwriting.blogspot.jp/2016/05/frptimeenginereactjsocaml.html
Reactは、関数型あるいは宣言型に書けるように用意されている。DOMは、「仮想DOM」として、JS(JSX)上の「値」として統合されていて、それは自由に変形し、組み合わされ、リアクティブにJSX上の仮想DOMから実DOMにリアルタイムでマッピングされ描写される。
JQueryも、実DOMを関数型で操作できるような拡張ではあるが、Reactのように宣言的に書くことは不可能。
coffee scriptは、ES6登場までの過渡期の橋渡しみたいなもので、登場したのも消えたのも合理性がある。
React.jsは、関数型の潮流で登場したものでこれも合理性があり、この延長線上でさらに洗練された代替物が登場する可能性はあれど、このパラダイムが消えることはない。
それは示してるつもりだけど
マウスイベントをFRPライブラリでラッピングして、そのラッピングした場所に、リアクティブな処理を書き込むのがFRPライブラリだという定義?
そこまでは言わないけど「状態を自動的に最新に更新してくれる」はFRPライブラリの要件じゃないの?
入力と内部状態の同期を意識しなくても、内部状態は常に最新を反映している、っていうのがFRPの抽象化だと思うんだけど。
マウスの位置と、変数を自動的に同期してくれるのはその1つでしょ?
https://en.wikipedia.org/wiki/Reactive_programming
automaticallyってあるじゃん
>岡部氏のコードは時間軸を抽象化したファーストクラスになってないでしょ?
つーか、おまえの悪質なイチャモンにはうんざりしてるんで、なってないでしょ?とかほざく前に、どこがどうなってないのか?「お前が意味を理解していること」の大前提を当然同時に示しながら批判するなら批判しろや。
>自分で書き換えるんじゃ抽象化されてないじゃん。自分で書き換えなくても、フレームワーク側で自動的に最新の状態に保ってくれる仕組みが「時間軸を抽象化」してるってことでしょ?
えーっとどういうこと?
マウスイベントをFRPライブラリでラッピングして、そのラッピングした場所に、リアクティブな処理を書き込むのがFRPライブラリだという定義?
で、どこの誰がそんなオレオレFRP定義をしたんだい?w ソースをどうぞ?W
あのなあ、「時間軸を抽象化したファーストクラス」ってのは、別にイベントから自動的に更新される「読み取り専用」じゃねーのよw
イベントと紐付いてない、他の、「時間軸を抽象化したファーストクラス」との関係性を記述するときに「読み取り専用」ならどうやって記述するの?
おら、こたえてみろボンクラ
>岡部氏のコードは時間軸を抽象化したファーストクラスになってないでしょ?
つーか、おまえの悪質なイチャモンにはうんざりしてるんで、なってないでしょ?とかほざく前に、どこがどうなってないのか?「お前が意味を理解していること」の大前提を当然同時に示しながら批判するなら批判しろや。
>自分で書き換えるんじゃ抽象化されてないじゃん。自分で書き換えなくても、フレームワーク側で自動的に最新の状態に保ってくれる仕組みが「時間軸を抽象化」してるってことでしょ?
えーっとどういうこと?
マウスイベントをFRPライブラリでラッピングして、そのラッピングした場所に、リアクティブな処理を書き込むのがFRPライブラリだという定義?
で、どこの誰がそんなオレオレFRP定義をしたんだい?w ソースをどうぞ?W
あのなあ、「時間軸を抽象化したファーストクラス」ってのは、別にイベントから自動的に更新される「読み取り専用」じゃねーのよw
イベントと紐付いてない、他の、「時間軸を抽象化したファーストクラス」との関係性を記述するときに「読み取り専用」ならどうやって記述するの?
おら、こたえてみろボンクラ
まず、
1.繰り返しになるが、お前の言う「グローバル変数」とかいうイチャモンは批判になっていない。なぜなら、サンプルコードでそれがグローバルなのは、単に、マウスイベント、座標と、階層が一層の単純で、一層=グローバルになっているだけ。おまえの初見の思い込みを延々と押し付けてトンチンカンなイチャモンつけるな。
2.ブログや公式サイトにさんざん説明されているとおり、FRPとは時間軸を抽象化したファーストクラスにリアクティブな関数をひも付けたもので、その実装とDEMOコードがさんざん示されている。その上で、「おれのおもってること違う?」とか、馬鹿が駄々こねているようにしかみえないし、「違う」と切り捨てる気にしかならない。
3.FRP変数、定数と、リアクティブな振る舞いはサンプルコードにおいて接続されて実装されているし、自分でイベント拾って、とか、そのイベントをあるFRPライブラリがわざわざなんかでラッピングして、無駄に使いにくくしようとも、素のママでかけるFRPライブラリであっても、FRPライブラリはこうであるはずだ、とかいうお前の無知とは無関係。