pythonやrubyやPHPと同じ土俵でjavascriptが使えるようになりました。
サーバサイドjavascriptについて語りましょう。
node.js - googleが開発したV8エンジン上で実行できる処理系
http://nodejs.org/
io.js - node.js 互換で Joyent の影響からの脱却を目指す処理系
http://iojs.org/
Rhino - JVM上で実行できる処理系
https://developer.mozilla.org/ja/Rhino
io.js の経緯
http://stackoverflow.com/questions/27309412/what-is-the-difference-between-node-js-and-io-js
javascriptはrubyと比較してもかなり速い
http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=v8&lang2=yarv
基礎から学ぶNode.js
http://gihyo.jp/dev/serial/01/nodejs
node.jsの概要とアプリケーション開発の準備
http://gihyo.jp/dev/serial/01/realtimeweb/0002
前スレ
【node.js】サーバサイドjavascript 3【io.js】(c)2ch.net
http://echo.2ch.net/test/read.cgi/tech/1419673207/
【node.js】サーバサイドjavascript 2【Rhino】
http://peace.2ch.net/test/read.cgi/tech/1358937029/
【node.js】サーバサイドjavascript【Rhino】
http://toro.2ch.net/test/read.cgi/tech/1310087535/
【node.js】サーバサイドjavascript 4【io.js】 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2016/04/11(月) 16:28:34.52ID:ORuOCkHy
458デフォルトの名無しさん
2017/04/07(金) 18:11:21.26ID:W6kcLwca つうかキャンセルだけならCancelablePromise案もあるし、
実際はキャンセルが内蔵されていると不都合があるのでCancelToken案のように
仕組みを外部に用意するのがベストだからPromiseは今のままで良いと思うよ
あと因みに例で挙がってたfetchはキャンセル出来る。
キャンセルする必要があるような重たいファイルをDLするときは
Stream使うだろうから、その場合rs側にcancelメソッドがある。
実際はキャンセルが内蔵されていると不都合があるのでCancelToken案のように
仕組みを外部に用意するのがベストだからPromiseは今のままで良いと思うよ
あと因みに例で挙がってたfetchはキャンセル出来る。
キャンセルする必要があるような重たいファイルをDLするときは
Stream使うだろうから、その場合rs側にcancelメソッドがある。
459デフォルトの名無しさん
2017/04/07(金) 18:13:30.99ID:W6kcLwca 逆に言うと、もしfetchがプロミスレベルでキャンセルに対応した場合、
こういうStream何かとの兼ね合いはどうするのかって話になる。
自動でrs.cancelが呼ばれるようにするのか、それともclosed例外吐くようにするのか。
やっぱりCancelTokenのように外側から突き刺す形が一番良いよ。
こういうStream何かとの兼ね合いはどうするのかって話になる。
自動でrs.cancelが呼ばれるようにするのか、それともclosed例外吐くようにするのか。
やっぱりCancelTokenのように外側から突き刺す形が一番良いよ。
460デフォルトの名無しさん
2017/04/07(金) 21:38:04.53ID:M/7BCwbh なんかの勉強会でcancelable promiseの標準化は頓挫したと聞いた
461デフォルトの名無しさん
2017/04/07(金) 21:50:33.96ID:M/7BCwbh462デフォルトの名無しさん
2017/04/07(金) 23:33:00.86ID:xCtKbZyH >>449
promiseでは全てのケースをカバーできない→正しい
だからpromiseはいらない→そんなこと言ってない
Observableでpromiseのケースをカバーできる→正しい
だからpromiseはいらない→こう言っている
promiseでは全てのケースをカバーできない→正しい
だからpromiseはいらない→そんなこと言ってない
Observableでpromiseのケースをカバーできる→正しい
だからpromiseはいらない→こう言っている
463デフォルトの名無しさん
2017/04/07(金) 23:33:50.39ID:xCtKbZyH464デフォルトの名無しさん
2017/04/07(金) 23:52:45.97ID:OQDmCCRm promiseで十分なケースでわざわざobservable使うメリットあんのかよ
465デフォルトの名無しさん
2017/04/07(金) 23:55:32.50ID:xCtKbZyH >>464
promiseとobservableはインターフェースが違うから互換性がない。
だからライブラリを作るならば両方に対応しなければならない。
またtoPromise()などでobservableからPromiseに変更するなんて
面倒なことをしなければならない場合もある。
promiseとobservableの両方に対応しなくて良いのがメリットだ
promiseとobservableはインターフェースが違うから互換性がない。
だからライブラリを作るならば両方に対応しなければならない。
またtoPromise()などでobservableからPromiseに変更するなんて
面倒なことをしなければならない場合もある。
promiseとobservableの両方に対応しなくて良いのがメリットだ
466デフォルトの名無しさん
2017/04/07(金) 23:57:21.56ID:D3WCz+HD >>461
そこはキャンセルしてたでしょ!
そこはキャンセルしてたでしょ!
467デフォルトの名無しさん
2017/04/08(土) 00:03:38.77ID:x261ON0r468デフォルトの名無しさん
2017/04/08(土) 00:07:31.07ID:Ibdd+rg/ >>467
殆どの要件でcancelは必要だから結局Fetch APIみたいに
cancelするための別の仕様が出てくる。
だから最初からobservable一本にしておけばいいという話
急ぎすぎてPromiseを標準化してしまったのは黒歴史
Promiseを使ったFetch APIも黒歴史
殆どの要件でcancelは必要だから結局Fetch APIみたいに
cancelするための別の仕様が出てくる。
だから最初からobservable一本にしておけばいいという話
急ぎすぎてPromiseを標準化してしまったのは黒歴史
Promiseを使ったFetch APIも黒歴史
469デフォルトの名無しさん
2017/04/08(土) 00:15:58.80ID:cNZiPnVn >>468
fetchのことしか考えてねーのかよ
fsの非同期apiはキャンセル不可だがこれobservableにする意味あんのかよ
fetchが黒歴史なのは正しい
promiseじゃなくstreamだろってsubstackも突っ込んでた
fetchのことしか考えてねーのかよ
fsの非同期apiはキャンセル不可だがこれobservableにする意味あんのかよ
fetchが黒歴史なのは正しい
promiseじゃなくstreamだろってsubstackも突っ込んでた
470デフォルトの名無しさん
2017/04/08(土) 00:23:48.13ID:Ibdd+rg/ > fsの非同期apiはキャンセル不可だがこれobservableにする意味あんのかよ
あると思うけど?
俺は200MBを超えるファイル×数十個を "並列で" サーバーに送信したことがあるのだが、
もしメモリに全部読み込んでいたら、マシンによってはメモリ不足になっただろう。
だから特定のチャンクごとに読み込んで送信していたわけだが、当然キャンセルもしたいし
どのファイルが何%処理完了したかの状況も表示したくなる。
そんときはループを使って、チャンクごとにデータを読み取って処理したわけだが、
もしfsがobservableであれば、メモリに全部読み取ることなく
一定のチャンクごとに処理する簡単な方法も提供されただろう。
あると思うけど?
俺は200MBを超えるファイル×数十個を "並列で" サーバーに送信したことがあるのだが、
もしメモリに全部読み込んでいたら、マシンによってはメモリ不足になっただろう。
だから特定のチャンクごとに読み込んで送信していたわけだが、当然キャンセルもしたいし
どのファイルが何%処理完了したかの状況も表示したくなる。
そんときはループを使って、チャンクごとにデータを読み取って処理したわけだが、
もしfsがobservableであれば、メモリに全部読み取ることなく
一定のチャンクごとに処理する簡単な方法も提供されただろう。
471デフォルトの名無しさん
2017/04/08(土) 00:28:43.38ID:Ibdd+rg/ setTimeoutなんかもclearTimeoutみたいにキャンセルするメソッドがあるし、
時間がかかるからこそ非同期にしているわけで、時間がかかる処理を
キャンセルしたいことがありえないなんてAPIが本当にあるのだろうか?
時間がかかるからこそ非同期にしているわけで、時間がかかる処理を
キャンセルしたいことがありえないなんてAPIが本当にあるのだろうか?
472デフォルトの名無しさん
2017/04/08(土) 00:35:11.20ID:cNZiPnVn473デフォルトの名無しさん
2017/04/08(土) 00:37:42.94ID:Ibdd+rg/474デフォルトの名無しさん
2017/04/08(土) 00:38:09.39ID:cNZiPnVn >>470
つかてめーnodeやってねーだろ
つかてめーnodeやってねーだろ
475デフォルトの名無しさん
2017/04/08(土) 00:38:37.44ID:cNZiPnVn >>473
スレ違い死ね
スレ違い死ね
476デフォルトの名無しさん
2017/04/08(土) 00:38:44.04ID:Ibdd+rg/ そういやブラウザではFile APIだったなw
477デフォルトの名無しさん
2017/04/08(土) 00:39:23.93ID:i0oWHzgI >>471
時間がかかる処理をキャンセルじゃなくて、待つのをキャンセルするじゃね?
時間がかかる処理をキャンセルじゃなくて、待つのをキャンセルするじゃね?
478デフォルトの名無しさん
2017/04/08(土) 00:44:38.31ID:Ibdd+rg/ >>477
それは言い方の違いでしかないよ
nodeでcallbackを使うやつの話であれば、そもそもなんで
nodeはPromiseを使わなかったのか?の話になるだろ。
それはcallbackを使う方が速いのと、
何度もイベントを発生する必要があるものがあるからだろうな。
つまり、Promiseでは要件に耐えられないから
Promiseではなくcallbackを使ったんだよ。
fs.fstatでは何度もイベントが発生するわけじゃなくても、
何度もイベントが発生することが可能なcallbackを使っている。
それは一度しかイベントが発生しなくてもPromiseではなく
Observableを使ってよいのと同じ考えだ。
それは言い方の違いでしかないよ
nodeでcallbackを使うやつの話であれば、そもそもなんで
nodeはPromiseを使わなかったのか?の話になるだろ。
それはcallbackを使う方が速いのと、
何度もイベントを発生する必要があるものがあるからだろうな。
つまり、Promiseでは要件に耐えられないから
Promiseではなくcallbackを使ったんだよ。
fs.fstatでは何度もイベントが発生するわけじゃなくても、
何度もイベントが発生することが可能なcallbackを使っている。
それは一度しかイベントが発生しなくてもPromiseではなく
Observableを使ってよいのと同じ考えだ。
479デフォルトの名無しさん
2017/04/08(土) 00:49:22.15ID:cNZiPnVn480デフォルトの名無しさん
2017/04/08(土) 00:51:43.82ID:Ibdd+rg/ http://stackoverflow.com/questions/30299613/why-does-nodejs-not-use-promise-for-the-readfile-api
Node’s early iterations used Promises in its nonblocking API. However, in February 2010,
Ryan Dahl made the decision to switch to the now-familiar callback(err, results...)
format, on the grounds that Promises are a higher-level construct that belongs in “userland.”
英語わかるか?
Nodeは最初Promise使っていて、callbackに変えたって書いてあるんだぞ
Node’s early iterations used Promises in its nonblocking API. However, in February 2010,
Ryan Dahl made the decision to switch to the now-familiar callback(err, results...)
format, on the grounds that Promises are a higher-level construct that belongs in “userland.”
英語わかるか?
Nodeは最初Promise使っていて、callbackに変えたって書いてあるんだぞ
481デフォルトの名無しさん
2017/04/08(土) 00:54:37.05ID:Ibdd+rg/ (JavaScriptの)Promiseはいつできたんだっけな?
前に調べたんだが忘れたな。
ここを見る限り2009年なのは間違いないが。
http://wiki.commonjs.org/index.php?title=Promises&oldid=516
前に調べたんだが忘れたな。
ここを見る限り2009年なのは間違いないが。
http://wiki.commonjs.org/index.php?title=Promises&oldid=516
482デフォルトの名無しさん
2017/04/08(土) 00:55:18.13ID:cNZiPnVn そのpromiseはes6のpromiseとは別物だ
483デフォルトの名無しさん
2017/04/08(土) 00:56:40.01ID:cNZiPnVn nodeでobservableに相当するのはstream
fs.fstatはstreamを使わない
それが答え
以上
fs.fstatはstreamを使わない
それが答え
以上
484デフォルトの名無しさん
2017/04/08(土) 01:03:43.79ID:Ibdd+rg/485デフォルトの名無しさん
2017/04/08(土) 01:05:41.12ID:Ibdd+rg/ > nodeでobservableに相当するのはstream
ちなみに、streamを知らない人に説明しておくと、
streamが使ってるのはPromiseではなくcallback
ちなみに、streamを知らない人に説明しておくと、
streamが使ってるのはPromiseではなくcallback
486デフォルトの名無しさん
2017/04/08(土) 01:10:44.04ID:cNZiPnVn >>484
promiseを使わない理由がキャンセルできないからじゃないのは分かってんのかよ
システムコールレベルでキャンセルする方法がないのにobservableにするメリットあんのかって問いに答えてねーだろ
nodeは単発にcallback、連発にstreamで使い分けてる
大は小を兼ねるとは限らないんだよ
promiseを使わない理由がキャンセルできないからじゃないのは分かってんのかよ
システムコールレベルでキャンセルする方法がないのにobservableにするメリットあんのかって問いに答えてねーだろ
nodeは単発にcallback、連発にstreamで使い分けてる
大は小を兼ねるとは限らないんだよ
487デフォルトの名無しさん
2017/04/08(土) 01:24:00.13ID:Ibdd+rg/ システムコールレベルって何の話?
Win32APIとかレベルの話してるの?
独自用語で話すんなよ
Win32APIとかレベルの話してるの?
独自用語で話すんなよ
488デフォルトの名無しさん
2017/04/08(土) 01:25:28.87ID:Ibdd+rg/489デフォルトの名無しさん
2017/04/08(土) 01:27:17.78ID:GAoRTfTW 何やこいつ
キャンセルする必要がない単発はPromiseでいいし、キャンセルが必要か連発ならobs使えばいいって話だろ
しゅうきょーせんそーかな?
キャンセルする必要がない単発はPromiseでいいし、キャンセルが必要か連発ならobs使えばいいって話だろ
しゅうきょーせんそーかな?
490デフォルトの名無しさん
2017/04/08(土) 01:28:10.51ID:Ibdd+rg/ 単発だからってキャンセルする必要が無いことにはならないんだが?
言ってる意味わかる?
言ってる意味わかる?
491デフォルトの名無しさん
2017/04/08(土) 01:31:42.23ID:Ibdd+rg/ Observableが得意なのはキャンセルだけじゃなくて
並列処理もなんで、fs.fstatを並列で実行したいときにも
簡単にかけるというメリットも有るな
並列処理もなんで、fs.fstatを並列で実行したいときにも
簡単にかけるというメリットも有るな
492デフォルトの名無しさん
2017/04/08(土) 01:33:57.12ID:i0oWHzgI いくら君らが言い合っても、現実はかわらないでしょ?
今ある仕様がすべてで文句かるなら他の言語つかいなよで終わる話しじゃないの?
生産性のない答えもない事で争って暇すぎるだろ
今ある仕様がすべてで文句かるなら他の言語つかいなよで終わる話しじゃないの?
生産性のない答えもない事で争って暇すぎるだろ
493デフォルトの名無しさん
2017/04/08(土) 01:36:49.14ID:GAoRTfTW494デフォルトの名無しさん
2017/04/08(土) 01:37:27.20ID:GAoRTfTW こいつもしかしてIT速報の管理人か?
転載禁止やぞ。対立煽りはNG
転載禁止やぞ。対立煽りはNG
495デフォルトの名無しさん
2017/04/08(土) 01:45:22.63ID:w3FPiolV スプーンとお玉の関係に似てる。
ジャムをすくうのにお玉を使ったら逆に不便だろ。そこは適切にスプーンを使え。
キャンセル処理がPromiseだと絶対無理というわけでもないし、Rxが必要とも思えないプロジェクトで無理やりRxを使う必要もない。
ジャムをすくうのにお玉を使ったら逆に不便だろ。そこは適切にスプーンを使え。
キャンセル処理がPromiseだと絶対無理というわけでもないし、Rxが必要とも思えないプロジェクトで無理やりRxを使う必要もない。
496デフォルトの名無しさん
2017/04/08(土) 01:49:13.35ID:Ibdd+rg/497デフォルトの名無しさん
2017/04/08(土) 02:25:27.18ID:FnclMLRN レスの文体からして前からJSスレに常駐してる荒らしでしょ
コピペブログ管理人もやってたのかは知らんが
コピペブログ管理人もやってたのかは知らんが
498デフォルトの名無しさん
2017/04/08(土) 02:31:02.63ID:hy422I1n499デフォルトの名無しさん
2017/04/08(土) 02:35:20.51ID:Ibdd+rg/ >>498
分かってないなw
なんでシステムコールの話がでてくるんだってことだよ。
nodeのAPIと、OSのシステムコールを
一対一で直接結びつける必要はないっつーの
nodeのAPIは単純な一命令でも、内部の実装は
何回もシステムコール呼んだって良いわけだ。
それが分かってないから、お前はシステムコールが
キャンセルできるかどうかなんて言い出したんだろ
こっちは全部お見通しだってーの
分かってないなw
なんでシステムコールの話がでてくるんだってことだよ。
nodeのAPIと、OSのシステムコールを
一対一で直接結びつける必要はないっつーの
nodeのAPIは単純な一命令でも、内部の実装は
何回もシステムコール呼んだって良いわけだ。
それが分かってないから、お前はシステムコールが
キャンセルできるかどうかなんて言い出したんだろ
こっちは全部お見通しだってーの
500デフォルトの名無しさん
2017/04/08(土) 05:35:10.56ID:iZgQ7lMc fetchはキャンセルできる必要があるが、
fetchの戻り値をObsevableにするのは駄目。
Obsevableって一様な幾つものデータを受け取るのに向いているので
fetchのように幾つかの段階で全然違うものが帰って来るのには向いていない。
単純に、Responseにabortメソッドを付けるのが良いと思う
勿論途中のStreamをObsevableにするのはとても良いと思うけど、
それを含んだ全体をするのはおかしい。
fetchの戻り値をObsevableにするのは駄目。
Obsevableって一様な幾つものデータを受け取るのに向いているので
fetchのように幾つかの段階で全然違うものが帰って来るのには向いていない。
単純に、Responseにabortメソッドを付けるのが良いと思う
勿論途中のStreamをObsevableにするのはとても良いと思うけど、
それを含んだ全体をするのはおかしい。
501デフォルトの名無しさん
2017/04/08(土) 05:38:38.21ID:iZgQ7lMc というか考えたら分かると思う。
キャンセルしたいのはfetchではなく、DLなのだから。
やっぱりCancelToken以外の解は無いと思うよ。
キャンセルしたいのはfetchではなく、DLなのだから。
やっぱりCancelToken以外の解は無いと思うよ。
502デフォルトの名無しさん
2017/04/08(土) 17:16:04.09ID:uEU+oXmi イベントでいいじゃんかよ、もう
503デフォルトの名無しさん
2017/04/08(土) 17:29:52.27ID:py60arCP > キャンセルしたいのはfetchではなく、DLなのだから。
fetchはデータ送信もするんだが?
その場合キャンセルしたいのは何だよ
fetchはデータ送信もするんだが?
その場合キャンセルしたいのは何だよ
504デフォルトの名無しさん
2017/04/08(土) 17:40:38.81ID:py60arCP >>500
> 単純に、Responseにabortメソッドを付けるのが良いと思う
fetchの戻り値はpromiseであってresponseではない。
responseはpromiseのthenの時に渡される。
promiseのthenが呼び出されるのはfetchの処理が完了した後。
つまりresponseを取得したとき=fetchし終わった時に
abortするのは遅すぎる
> 単純に、Responseにabortメソッドを付けるのが良いと思う
fetchの戻り値はpromiseであってresponseではない。
responseはpromiseのthenの時に渡される。
promiseのthenが呼び出されるのはfetchの処理が完了した後。
つまりresponseを取得したとき=fetchし終わった時に
abortするのは遅すぎる
505デフォルトの名無しさん
2017/04/08(土) 18:46:58.17ID:1OsO7EoR >>499
なにを見通してるのかさっぱり分からんがnodeは低水準のapiを提供するものだ
そうすれば複数のシステムコールを組み合わせた高水準apiはユーザーレベルのライブラリで実現できる
だからfsモジュールは意図的にposixの薄いラッパーになっていてキャンセルはない
なにを見通してるのかさっぱり分からんがnodeは低水準のapiを提供するものだ
そうすれば複数のシステムコールを組み合わせた高水準apiはユーザーレベルのライブラリで実現できる
だからfsモジュールは意図的にposixの薄いラッパーになっていてキャンセルはない
506デフォルトの名無しさん
2017/04/08(土) 18:50:52.30ID:1OsO7EoR507デフォルトの名無しさん
2017/04/08(土) 18:56:59.44ID:py60arCP >>505
> nodeは低水準のapiを提供するものだ
どこにそんなことが書いてあるのか?
nodeの立場はブラウザと同じだ。
JavaScriptの実行環境だ。
お前の理屈だと、ブラウザは低水準のAPIを提供するものということになる。
> nodeは低水準のapiを提供するものだ
どこにそんなことが書いてあるのか?
nodeの立場はブラウザと同じだ。
JavaScriptの実行環境だ。
お前の理屈だと、ブラウザは低水準のAPIを提供するものということになる。
508デフォルトの名無しさん
2017/04/08(土) 18:58:44.31ID:py60arCP509デフォルトの名無しさん
2017/04/08(土) 19:01:09.86ID:py60arCP510デフォルトの名無しさん
2017/04/08(土) 19:02:35.33ID:py60arCP しかもPOSIXは非同期I/Oをキャンセルする機能あるじゃんwww
https://linuxjm.osdn.jp/html/LDP_man-pages/man3/aio_cancel.3.html
aio_cancel - 完了していない非同期 I/O リクエストをキャンセルする
POSIX.1-2001, POSIX.1-2008.
https://linuxjm.osdn.jp/html/LDP_man-pages/man3/aio_cancel.3.html
aio_cancel - 完了していない非同期 I/O リクエストをキャンセルする
POSIX.1-2001, POSIX.1-2008.
511デフォルトの名無しさん
2017/04/08(土) 19:22:58.68ID:+j3lf9vK >>507
https://nodejs.org/api/fs.html
File I/O is provided by simple wrappers around standard POSIX functions.
>>508
lstat
>>510
posix aioはほとんどのosで実装されてないしnodeでもサポートしてない
https://nodejs.org/api/fs.html
File I/O is provided by simple wrappers around standard POSIX functions.
>>508
lstat
>>510
posix aioはほとんどのosで実装されてないしnodeでもサポートしてない
512デフォルトの名無しさん
2017/04/08(土) 19:25:59.41ID:+j3lf9vK513デフォルトの名無しさん
2017/04/08(土) 19:34:34.87ID:+j3lf9vK manだとlstat(2)に対して>>510のaio_xxx(3)なのでシステムコールじゃないことが分かる
514デフォルトの名無しさん
2017/04/08(土) 19:36:55.48ID:py60arCP >>511
lstatは非同期じゃないぞw
lstatは非同期じゃないぞw
515デフォルトの名無しさん
2017/04/08(土) 19:39:34.36ID:+j3lf9vK516デフォルトの名無しさん
2017/04/08(土) 19:40:34.49ID:+j3lf9vK517デフォルトの名無しさん
2017/04/08(土) 19:43:59.84ID:py60arCP518デフォルトの名無しさん
2017/04/08(土) 19:45:48.32ID:+j3lf9vK >>517
lstat
lstat
519デフォルトの名無しさん
2017/04/08(土) 19:46:03.01ID:py60arCP >>515
> fetch apiが返すpromiseはfetchが完了してからresolveするわけではない
完了してからだよ。正確にはレスポンスが返ってきてから、
データの受信が完全に完了してからではない。
でないと、Response.statusが取れるわけがないだろう?
> fetch apiが返すpromiseはfetchが完了してからresolveするわけではない
完了してからだよ。正確にはレスポンスが返ってきてから、
データの受信が完全に完了してからではない。
でないと、Response.statusが取れるわけがないだろう?
520デフォルトの名無しさん
2017/04/08(土) 19:46:40.03ID:py60arCP >>518
それではシステムコールにあるPromise相当のものは何?w
それではシステムコールにあるPromise相当のものは何?w
521デフォルトの名無しさん
2017/04/08(土) 19:51:37.12ID:+j3lf9vK522デフォルトの名無しさん
2017/04/08(土) 19:53:33.42ID:+j3lf9vK523デフォルトの名無しさん
2017/04/08(土) 19:53:53.72ID:py60arCP >>521
Fetchの処理はリクエスト投げてレスポンス戻すところまでだよ。
ダウンロードが終了するまでの話は最初からしてない
で、Fetchのキャンセル(thenが発動する前)はPromiseでできるの?
できないでしょ?
そこに新しい仕様が必要ならObservableを使えば良いわけさ。
Fetchの処理はリクエスト投げてレスポンス戻すところまでだよ。
ダウンロードが終了するまでの話は最初からしてない
で、Fetchのキャンセル(thenが発動する前)はPromiseでできるの?
できないでしょ?
そこに新しい仕様が必要ならObservableを使えば良いわけさ。
524デフォルトの名無しさん
2017/04/08(土) 19:54:42.49ID:py60arCP525デフォルトの名無しさん
2017/04/08(土) 20:03:11.46ID:0e5YIioE >>523
fetch apiがpromiseベースでバカなのは何年も前から言われてるし俺も言ってきたからそこに反論する気はない
fetch apiがpromiseベースでバカなのは何年も前から言われてるし俺も言ってきたからそこに反論する気はない
526デフォルトの名無しさん
2017/04/08(土) 20:05:16.72ID:0e5YIioE >>524
キャンセルできなくて単発で結果が決まるシステムコールのラッパーにpromiseよりobservableを選ぶメリットは?
キャンセルできなくて単発で結果が決まるシステムコールのラッパーにpromiseよりobservableを選ぶメリットは?
527デフォルトの名無しさん
2017/04/08(土) 20:20:53.33ID:cXe/TGOq システムコールとライブラリの違いをわかってないやつがいそうだから、用語をシステムAPIかOSのAPIで統一してくれ
528デフォルトの名無しさん
2017/04/08(土) 20:27:37.55ID:py60arCP >>526
並列処理がしやすいから
並列処理がしやすいから
529デフォルトの名無しさん
2017/04/08(土) 20:31:19.27ID:iZgQ7lMc >>523
何度も説明してるが、キャンセルは必要だが、Observableはそぐわない
CancelTokenのようなものじゃないと実際齟齬が出るし
その流儀に則って真似して使いやすいように色んなAPIを実装していくのは大変
何度も説明してるが、キャンセルは必要だが、Observableはそぐわない
CancelTokenのようなものじゃないと実際齟齬が出るし
その流儀に則って真似して使いやすいように色んなAPIを実装していくのは大変
530デフォルトの名無しさん
2017/04/08(土) 20:33:09.43ID:py60arCP 俺がobservableの話で並列処理の話を始めると
すぐにキャンセルの話に変えるやつってなんなんだろうねw
わざとなのかな?
すぐにキャンセルの話に変えるやつってなんなんだろうねw
わざとなのかな?
531デフォルトの名無しさん
2017/04/08(土) 20:38:17.35ID:FGB2+VgV >>528
正しくは並行処理だが常に必要となるわけではない
必要ならpromiseをobservableでラップすればいいだけ
そのために無駄に高機能なapiを土台にするメリットはない
シンプルの上にリッチを乗せることは有意だが逆は無意味だ
正しくは並行処理だが常に必要となるわけではない
必要ならpromiseをobservableでラップすればいいだけ
そのために無駄に高機能なapiを土台にするメリットはない
シンプルの上にリッチを乗せることは有意だが逆は無意味だ
532デフォルトの名無しさん
2017/04/08(土) 20:40:15.25ID:py60arCP > 正しくは並行処理だが常に必要となるわけではない
絶対に必要ないならいらんだろうさ
常に必要となるわけではない=必要な場合もある。
ならば同じやり方でやったほうが楽
絶対に必要ないならいらんだろうさ
常に必要となるわけではない=必要な場合もある。
ならば同じやり方でやったほうが楽
533デフォルトの名無しさん
2017/04/08(土) 20:49:17.82ID:FGB2+VgV 長さ1の配列があればスカラ値の変数はいらない
let x=1
let y=2
let z=x+y
これは配列が必要な場合と同じやり方で
let x=[1]
let y=[2]
let z=[x[0]+y[0]]
ってやった方が楽
なるほど
let x=1
let y=2
let z=x+y
これは配列が必要な場合と同じやり方で
let x=[1]
let y=[2]
let z=[x[0]+y[0]]
ってやった方が楽
なるほど
534デフォルトの名無しさん
2017/04/09(日) 16:42:26.31ID:4FESG0wM なるほどじゃねぇよ
535デフォルトの名無しさん
2017/04/09(日) 17:00:22.44ID:ZPMPIHcF Observableだけでなく、jQueryもLodashもそうなんだけど、
配列をスカラのように扱うことができるんだよね。
1と2以上を同一化して処理できる。
例えばquerySelectorAllは配列を返す。$()だとスカラ値を返す
どちらもセレクタから複数の要素を検索しているようだけど、この違いによって
querySelectorAllではループ処理が必要になるが、jQueryではループ処理が不要になる
Promiseも単数だから並列しようと思ったら配列が必要になってループも必要になる
つまり>>533でいう後者の書き方
Observableであれば単数も複数も同じように処理できるから、>>533の前者の書き方で
複数の対象を単数と同じ書き方で並列に処理できる。
配列をスカラのように扱うことができるんだよね。
1と2以上を同一化して処理できる。
例えばquerySelectorAllは配列を返す。$()だとスカラ値を返す
どちらもセレクタから複数の要素を検索しているようだけど、この違いによって
querySelectorAllではループ処理が必要になるが、jQueryではループ処理が不要になる
Promiseも単数だから並列しようと思ったら配列が必要になってループも必要になる
つまり>>533でいう後者の書き方
Observableであれば単数も複数も同じように処理できるから、>>533の前者の書き方で
複数の対象を単数と同じ書き方で並列に処理できる。
536デフォルトの名無しさん
2017/04/09(日) 18:21:09.53ID:c0gwQMp6 querySelectorAllが配列を返すなんてとんと知りませんでしたわ
537デフォルトの名無しさん
2017/04/09(日) 19:39:40.08ID:FYNHGER+ そもそも「配列」という言葉の定義がない
因みにNodeListは@@iterator対応の予定がずっとある
因みにNodeListは@@iterator対応の予定がずっとある
538デフォルトの名無しさん
2017/04/09(日) 20:58:23.64ID:04OXxo7q jQueryしか使わないゆとりだから下のレイヤーのことは知らないんだろ
539デフォルトの名無しさん
2017/04/09(日) 21:08:17.95ID:qkkzIUk4 下層民同士仲良くしなさいよ〜
粛清すっぞ
粛清すっぞ
540デフォルトの名無しさん
2017/04/10(月) 16:04:40.78ID:/vWjJFQd 一年に1,2回はtoArrayをどうするかの話題で盛り上がるよね
Array、TypedArray、@@iterator、length、Array.isArrayとか沢山楽しい話できるよね
Array、TypedArray、@@iterator、length、Array.isArrayとか沢山楽しい話できるよね
541デフォルトの名無しさん
2017/04/11(火) 15:44:57.90ID:EI2QNfVc キャンセルトークン方式のプロポーザル
https://github.com/tc39/proposal-cancellation
https://github.com/tc39/proposal-cancellation
542デフォルトの名無しさん
2017/04/11(火) 20:28:11.22ID:rWanRa9I >>541
https://azu.github.io/slide-what-is-ecmascript/slide/12.html
Stage 0: Strawman
アイデア
から抜け出したら、もう一回知らせてくれ
せめてStage 3にならなければ評価する価値もない
https://azu.github.io/slide-what-is-ecmascript/slide/12.html
Stage 0: Strawman
アイデア
から抜け出したら、もう一回知らせてくれ
せめてStage 3にならなければ評価する価値もない
543デフォルトの名無しさん
2017/04/11(火) 20:53:27.45ID:CJtRplzd stage1のobservableも評価する価値がない
よってこの話題完全終了
よってこの話題完全終了
544デフォルトの名無しさん
2017/04/11(火) 20:56:52.33ID:3Yv+2Fi9 50歩100歩ってやつだな。
差は2倍もあるということだ
差は2倍もあるということだ
545デフォルトの名無しさん
2017/04/11(火) 21:09:11.09ID:62uXcToV デバッグ用にconsole.logで出力を行ってるんだけど、foreverで起動するときはどこにも出力されてないって事でいいのかな?
546デフォルトの名無しさん
2017/04/11(火) 21:46:41.59ID:fGKCOXVl 今日追加されたのより一歩進んでたって話にならんよ
547デフォルトの名無しさん
2017/04/12(水) 12:43:00.43ID:rqT+n0Ti >>544
ゴールまで千里の道というオチですね
ゴールまで千里の道というオチですね
548デフォルトの名無しさん
2017/04/12(水) 16:04:44.52ID:WRJ4LE6o >>545
Optionsを観ると以下のようになってる。
-o OUTFILE Logs stdout from child script to OUTFILE
-e ERRFILE Logs stderr from child script to ERRFILE
Optionsを観ると以下のようになってる。
-o OUTFILE Logs stdout from child script to OUTFILE
-e ERRFILE Logs stderr from child script to ERRFILE
549デフォルトの名無しさん
2017/04/16(日) 06:10:01.13ID:JlKTjebd ln -s -f /dev/null /dev/stdout
550デフォルトの名無しさん
2017/04/21(金) 22:47:20.35ID:vwhSF093 Converting circular structure to JSON
at JSON.stringify
自分なりにdeepCopyつもりのコードで
上記エラーが出た場合に、原因なコードを簡単に見つける方法ってどんなのがありますでしょうか?
at JSON.stringify
自分なりにdeepCopyつもりのコードで
上記エラーが出た場合に、原因なコードを簡単に見つける方法ってどんなのがありますでしょうか?
551デフォルトの名無しさん
2017/04/22(土) 11:59:52.05ID:WQjYmpaa552デフォルトの名無しさん
2017/04/25(火) 16:04:38.46ID:+ad05VVs circular structur
原因書いてますやん
原因書いてますやん
553デフォルトの名無しさん
2017/04/26(水) 14:11:46.04ID:mOputr8e >>551
まさにピッタリの解説でした。ありがとうございました。
まさにピッタリの解説でした。ありがとうございました。
554デフォルトの名無しさん
2017/04/28(金) 08:36:18.97ID:NZ0i2p+n 循環参照を持っていてもちょっと関数噛ましてテーブル2つに変換すればJSONに落とし込むことは可能だよ
555デフォルトの名無しさん
2017/04/28(金) 12:43:11.19ID:TC+lQYaW 以下のように表記を統一するクラス(またはデータベース)でありますでしょうか?
'php' => 'PHP' ,
'perl' => 'Perl' ,
'javascript' => 'JavaScript' ,
'php' => 'PHP' ,
'perl' => 'Perl' ,
'javascript' => 'JavaScript' ,
556デフォルトの名無しさん
2017/04/28(金) 13:10:12.31ID:ytJUGaM1 自然言語処理用でいいの最近見たけど忘れた
557デフォルトの名無しさん
2017/04/28(金) 15:01:07.81ID:TC+lQYaW 思い出してください w
「自然言語処理 "単語の正規化" 」でググってみましたがズバリ思っているようなのはヒットしませんでした。
どなたか是非!
「自然言語処理 "単語の正規化" 」でググってみましたがズバリ思っているようなのはヒットしませんでした。
どなたか是非!
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【ネット民のツッコミ】立憲・野田代表の「事実上の撤回」発言がトレンド、「高市さんそんな事は言ってない」「流石に無理あるだろw」 [1ゲットロボ★]
- 【国際法を無視】日本での「中華人民共和国に台湾問題を論じる資格なし」との声に 中国外交部が厳しく反論… ★2 [BFU★]
- 【文春】元TOKIO・国分太一(51)「女性スタッフ2名への“わいせつ事案”」日テレ事情聴取の全貌が分かった! ★5 [Ailuropoda melanoleuca★]
- 【工作員】「X」のアカウント所在地公開機能が暴いた世論操作の実態 MAGA支持著名アカウントの多くが米国外から運営 日本にも波及 ★3 [ごまカンパチ★]
- 首相答弁「スパイ防止法、外国代理人登録法、ロビー活動公開法などについて速やかに法案を策定する」 [1ゲットロボ★]
- 東京23区の単身マンション家賃、最高値更新 福岡が初の名古屋超え [蚤の市★]
- 【悲報】ゼレンスキー大統領、和平案に大筋合意 ホンコンみたいなウヨ芸人を大統領にするとこうなる [455031798]
- 【高市悲報】中国「ふにゃふにゃ言いながら、時が自然に解決するのを期待する—そんなジャップ流は決して通用しない」 [115996789]
- 無料でいますぐできるおもろいゲームなんかないか
- 仕事終わりに生クリーム500mLを食パンに挟んで食うのやめられない
- まったりまったりおじゃる丸待機スレ🏡
- シャドバでビヨンドになった!
