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
398デフォルトの名無しさん
2017/04/02(日) 19:13:35.17ID:FpSI1UN2 >>397
自己解決しました
自己解決しました
399デフォルトの名無しさん
2017/04/02(日) 20:42:34.04ID:FuCfSbZi nodeたのしんでる?
400デフォルトの名無しさん
2017/04/02(日) 22:53:02.06ID:0PLfOFLS まだ勉強し始めなんだけどコールバック地獄を抜けたらPromiseラップ地獄が始まってる気がするゾ
401デフォルトの名無しさん
2017/04/02(日) 23:49:36.07ID:jk9X28Xe その先にはasync地獄が待ってるから早く進め
402デフォルトの名無しさん
2017/04/02(日) 23:55:00.71ID:TvISwdcG Rxで脱出できるよ
403デフォルトの名無しさん
2017/04/03(月) 00:08:15.13ID:pMsTDita RxのAsyncSubjectってPromiseと比較してどんなメリットがあるんだ?
async/awaitで使えないから不便と思う
async/awaitで使えないから不便と思う
404デフォルトの名無しさん
2017/04/03(月) 00:37:17.85ID:UPqV6+1g callback地獄なんか近づかずにpromiseとasync await始めたほうがいい。
promise抑えてからじゃないとasync await使えないから、promiseは必須な
promise抑えてからじゃないとasync await使えないから、promiseは必須な
405デフォルトの名無しさん
2017/04/03(月) 00:44:19.88ID:UPqV6+1g rxはreact nativeあたりと組み合わせるとどうなんだろうね?
coldとhotって概念があったり意外とつまずきやすい。全てがstreamという概念は素敵そうだけどreactとうまく組み合わせられるんか?
coldとhotって概念があったり意外とつまずきやすい。全てがstreamという概念は素敵そうだけどreactとうまく組み合わせられるんか?
406デフォルトの名無しさん
2017/04/03(月) 00:47:12.84ID:YqyQZW/v async使い出すとやってくるtry catch地獄
407デフォルトの名無しさん
2017/04/03(月) 00:50:42.75ID:CTM8h4Rc コールバック地獄って無名関数でしか渡してないから問題なだけじゃね?
408デフォルトの名無しさん
2017/04/03(月) 01:10:13.39ID:MrxLrKt6 fs.readdir(source, function(err, files) {
if (err) {
console.log('Error finding files: ' + err)
} else {
files.forEach(function(filename, fileIndex) {
console.log(filename)
gm(source + filename).size(function(err, values) {
if (err) {
console.log('Error identifying file size: ' + err)
} else {
console.log(filename + ' : ' + values)
aspect = (values.width / values.height)
widths.forEach(function(width, widthIndex) {
height = Math.round(width / aspect)
console.log('resizing ' + filename + 'to ' + height + 'x' + height)
this.resize(width, height).write(destination + 'w' + width + '_' + filename, function(err) {
if (err) console.log('Error writing file: ' + err)
})
}.bind(this))
}
})
})
}
})
if (err) {
console.log('Error finding files: ' + err)
} else {
files.forEach(function(filename, fileIndex) {
console.log(filename)
gm(source + filename).size(function(err, values) {
if (err) {
console.log('Error identifying file size: ' + err)
} else {
console.log(filename + ' : ' + values)
aspect = (values.width / values.height)
widths.forEach(function(width, widthIndex) {
height = Math.round(width / aspect)
console.log('resizing ' + filename + 'to ' + height + 'x' + height)
this.resize(width, height).write(destination + 'w' + width + '_' + filename, function(err) {
if (err) console.log('Error writing file: ' + err)
})
}.bind(this))
}
})
})
}
})
409デフォルトの名無しさん
2017/04/03(月) 03:42:09.46ID:XYXk6jFX410デフォルトの名無しさん
2017/04/03(月) 03:53:47.87ID:CTM8h4Rc >>408
fs.readdir(source, func1)
var func1 = function(err, files) {
if (err) {
console.log('Error finding files: ' + err)
} else {
files.forEach(func2)
}
}
var func2 = function(filename, fileIndex) {
console.log(filename)
gm(source + filename).size(func4)
}
var func3 = function(width, widthIndex) {
height = Math.round(width / aspect)
console.log('resizing ' + filename + 'to ' + height + 'x' + height)
this.resize(width, height).write(destination + 'w' + width + '_' + filename, function(err) {
if (err) console.log('Error writing file: ' + err)
}
var func4 = function(err, values) {
if (err) {
console.log('Error identifying file size: ' + err)
} else {
console.log(filename + ' : ' + values)
aspect = (values.width / values.height)
widths.forEach(func3)
}.bind(this))
}
}
fs.readdir(source, func1)
var func1 = function(err, files) {
if (err) {
console.log('Error finding files: ' + err)
} else {
files.forEach(func2)
}
}
var func2 = function(filename, fileIndex) {
console.log(filename)
gm(source + filename).size(func4)
}
var func3 = function(width, widthIndex) {
height = Math.round(width / aspect)
console.log('resizing ' + filename + 'to ' + height + 'x' + height)
this.resize(width, height).write(destination + 'w' + width + '_' + filename, function(err) {
if (err) console.log('Error writing file: ' + err)
}
var func4 = function(err, values) {
if (err) {
console.log('Error identifying file size: ' + err)
} else {
console.log(filename + ' : ' + values)
aspect = (values.width / values.height)
widths.forEach(func3)
}.bind(this))
}
}
411デフォルトの名無しさん
2017/04/03(月) 15:48:27.07ID:UPqV6+1g >>409
redux学習中だけどRxJSと組み合わせると何が幸せになるん?
redux学習中だけどRxJSと組み合わせると何が幸せになるん?
412デフォルトの名無しさん
2017/04/03(月) 19:33:34.98ID:963+qoSh RPとFRPの区別がついてない奴を馬鹿にして粋がれるとか
413デフォルトの名無しさん
2017/04/03(月) 21:16:06.10ID:XYXk6jFX414デフォルトの名無しさん
2017/04/03(月) 21:22:08.20ID:MrxLrKt6 >>410
少し訂正。問題は適切な名前をつけるのが難しいところにあると思うね。
var func1 = function(err, files) {
if (err) {
console.log('Error finding files: ' + err)
} else {
files.forEach(func2)
}
}
var func2 = function(filename, fileIndex) {
console.log(filename)
gm(source + filename).size(func3)
}
var func3 = function(err, values) {
if (err) {
console.log('Error identifying file size: ' + err)
} else {
console.log(filename + ' : ' + values)
aspect = (values.width / values.height)
widths.forEach(func4.bind(this)))
}
}
var func4 = function(width, widthIndex) {
height = Math.round(width / aspect)
console.log('resizing ' + filename + 'to ' + height + 'x' + height)
this.resize(width, height).write(destination + 'w' + width + '_' + filename, func5)
}
var func5 = function(err) {
if (err) console.log('Error writing file: ' + err)
}
fs.readdir(source, func1)
少し訂正。問題は適切な名前をつけるのが難しいところにあると思うね。
var func1 = function(err, files) {
if (err) {
console.log('Error finding files: ' + err)
} else {
files.forEach(func2)
}
}
var func2 = function(filename, fileIndex) {
console.log(filename)
gm(source + filename).size(func3)
}
var func3 = function(err, values) {
if (err) {
console.log('Error identifying file size: ' + err)
} else {
console.log(filename + ' : ' + values)
aspect = (values.width / values.height)
widths.forEach(func4.bind(this)))
}
}
var func4 = function(width, widthIndex) {
height = Math.round(width / aspect)
console.log('resizing ' + filename + 'to ' + height + 'x' + height)
this.resize(width, height).write(destination + 'w' + width + '_' + filename, func5)
}
var func5 = function(err) {
if (err) console.log('Error writing file: ' + err)
}
fs.readdir(source, func1)
415デフォルトの名無しさん
2017/04/03(月) 23:44:03.74ID:1+ofpVMn electronというかjsでデスクトップアプリって流行ると思いますか?
416デフォルトの名無しさん
2017/04/03(月) 23:49:14.81ID:fhkbvCOs そもそもデスクトップアプリが今日日流行らんような
417デフォルトの名無しさん
2017/04/04(火) 00:42:57.27ID:P+kSkPRB418デフォルトの名無しさん
2017/04/04(火) 00:47:36.02ID:P+kSkPRB >>415
reactnativeでデスクトップアプリが作れるようになったほうがいいと思うけどね。性能面でも。
electronで結構キラーアプリは出てるから使えて損はない。
chromeOSが復活しないかな。
アプリごとにchromeが中で動いてるのって無駄な気がするんだよね
reactnativeでデスクトップアプリが作れるようになったほうがいいと思うけどね。性能面でも。
electronで結構キラーアプリは出てるから使えて損はない。
chromeOSが復活しないかな。
アプリごとにchromeが中で動いてるのって無駄な気がするんだよね
419デフォルトの名無しさん
2017/04/04(火) 01:25:34.52ID:K8Tf42DL WEB+DB vol.97 の特集が、React
WEB+DB vol.94 の特集が、Kotlin, Electron
WEB+DB vol.94 の特集が、Kotlin, Electron
420デフォルトの名無しさん
2017/04/04(火) 01:35:05.25ID:y0lCbigz421デフォルトの名無しさん
2017/04/04(火) 03:08:30.98ID:QcgfrUUh RxJSをみてるとJavaScriptにPromise入れるのは
もっと慎重にやるべきだったと思うね
もっと慎重にやるべきだったと思うね
422デフォルトの名無しさん
2017/04/05(水) 00:42:45.34ID:wcVK36T3 reduxは非同期処理入れるのにミドルウエアが必要でその中の候補としてrxjsがあるってこと?
非同期処理は多用するんだからミドルウエア無しで対応しろよ
非同期処理は多用するんだからミドルウエア無しで対応しろよ
423デフォルトの名無しさん
2017/04/05(水) 01:59:50.23ID:T1xSqOuQ >>422
違うyo
違うyo
424デフォルトの名無しさん
2017/04/05(水) 02:29:41.05ID:kU4Jv4wh 非同期の方法がたくさんあるからビルトインにしてないんだろ
RxJSが使いたい→redux-observable
generaterが使いたい→redux-saga
Promiseが使いたい→redux-promise
好きなのを選べる
RxJSが使いたい→redux-observable
generaterが使いたい→redux-saga
Promiseが使いたい→redux-promise
好きなのを選べる
425デフォルトの名無しさん
2017/04/05(水) 09:43:00.09ID:ObdYHa+p rxは嫌いな奴は本当に嫌いなのでデフォルトにすると人死にが出る
426デフォルトの名無しさん
2017/04/05(水) 18:20:05.80ID:6P7JyL2t 猫は炬燵で丸くなる
427デフォルトの名無しさん
2017/04/05(水) 20:06:36.76ID:zmBGqA0p ReactとRx同時に使ったら、サイズが大きいのが気になりませんか?
428デフォルトの名無しさん
2017/04/06(木) 14:59:39.46ID:TGfMJct9429デフォルトの名無しさん
2017/04/06(木) 17:23:22.82ID:udT44U5Z Rxってコンセプトがシンプルなのにいざ使おうとするとライブラリのインターフェースは複雑で、シンドってならない?
430デフォルトの名無しさん
2017/04/06(木) 20:16:24.28ID:rNIgAdOn >>428
でも結局Observableになるんだろ?
でも結局Observableになるんだろ?
431デフォルトの名無しさん
2017/04/06(木) 20:20:21.49ID:rNIgAdOn Fetch APIがPromiseベースなので、処理がキャンセルできなくて困ったしな。
Fetch APIの戻り値はObservableに変更すべき。
Fetch APIの戻り値はObservableに変更すべき。
432デフォルトの名無しさん
2017/04/06(木) 20:23:20.40ID:rNIgAdOn433デフォルトの名無しさん
2017/04/07(金) 00:20:55.58ID:W6kcLwca >>430
おいおい大丈夫か??
PromiseはPromiseで、ObservableはObservableで必要だよ
いいか?
ObがあればPrが要らないと言うのは
ジェネレーター関数があれば関数が要らないと言ってるのと同じことだぞ
おいおい大丈夫か??
PromiseはPromiseで、ObservableはObservableで必要だよ
いいか?
ObがあればPrが要らないと言うのは
ジェネレーター関数があれば関数が要らないと言ってるのと同じことだぞ
434デフォルトの名無しさん
2017/04/07(金) 01:10:39.92ID:muVw6N7l 配列があればnumberはいらない、的な
435デフォルトの名無しさん
2017/04/07(金) 01:27:24.68ID:E9+XPTIr 関数とジェネレータ関数の関係とはちょっと違う気がするが
まあ言いたいことはわかる
まあ言いたいことはわかる
436デフォルトの名無しさん
2017/04/07(金) 01:53:54.75ID:feQdKcc1437デフォルトの名無しさん
2017/04/07(金) 02:08:35.05ID:muVw6N7l promiseは単発、observableは連発
連発は単発を包含してるが最適とは限らない
連発は単発を包含してるが最適とは限らない
438デフォルトの名無しさん
2017/04/07(金) 02:12:06.86ID:xCtKbZyH completeしか発生しないObservable = Promise
そもそも非同期=時間がかかる処理なのだから、
必然的に途中でキャンセルしたくなるのが普通。
キャンセルができない時点でPromiseは片手落ち
そもそも非同期=時間がかかる処理なのだから、
必然的に途中でキャンセルしたくなるのが普通。
キャンセルができない時点でPromiseは片手落ち
439デフォルトの名無しさん
2017/04/07(金) 02:20:36.15ID:MrQDMpDH440デフォルトの名無しさん
2017/04/07(金) 02:25:12.94ID:MrQDMpDH >>438
Netflixとかなら動画を取り扱うからキャンセルできたほうがいいけど、
他の案件でも必要か?適材適所でしょう。
なんでもストリームとして取り扱うRxは宣言的な記述になるけど、
それが読みやすいかというと、
俺はpromise とasync awaitの方が読みやすい。
Netflixとかなら動画を取り扱うからキャンセルできたほうがいいけど、
他の案件でも必要か?適材適所でしょう。
なんでもストリームとして取り扱うRxは宣言的な記述になるけど、
それが読みやすいかというと、
俺はpromise とasync awaitの方が読みやすい。
441デフォルトの名無しさん
2017/04/07(金) 02:48:44.21ID:ZOMGhg3k RxのObservableと廃案になったObject.observeが混在してる件
442デフォルトの名無しさん
2017/04/07(金) 02:51:12.64ID:ZOMGhg3k 多機能があれば単機能はいらない
そんなふうに思って(ry
そんなふうに思って(ry
443デフォルトの名無しさん
2017/04/07(金) 03:29:00.04ID:MrQDMpDH >>441
えっ。違うのかそれ。解ってなかった。すまぬ
えっ。違うのかそれ。解ってなかった。すまぬ
444デフォルトの名無しさん
2017/04/07(金) 03:40:41.83ID:7WaVyHOC RxのObservableはnodeのReadable Stream (flowing mode) みたいなもん
445デフォルトの名無しさん
2017/04/07(金) 07:20:07.56ID:Bfn8G5Of someがあればeveryは要らないって話?
446デフォルトの名無しさん
2017/04/07(金) 09:40:29.94ID:xCtKbZyH447デフォルトの名無しさん
2017/04/07(金) 09:44:07.30ID:xCtKbZyH448デフォルトの名無しさん
2017/04/07(金) 10:06:57.71ID:NIm6zjXF 必要になるとは限らない
そもそもキャンセルの方法がないものも多い
そもそもキャンセルの方法がないものも多い
449デフォルトの名無しさん
2017/04/07(金) 10:50:07.00ID:a3tdoMh+ promiseでは全てのケースをカバーできない→正しい
だからpromiseはいらない→間違い
だからpromiseはいらない→間違い
450デフォルトの名無しさん
2017/04/07(金) 11:38:12.33ID:MrQDMpDH でもPromiseだからこそasync awaitを駆使して同期プログラミングっポイ見た目でかけるわけで。
そこはRxではむりでしょ?そもそも宣言的な記述なウリなんだろうけども。
まぁ結局一人で開発だったらドッチもあってもいいけど
複数人プロジェクトだとRxは使いづらいわな。
そこはRxではむりでしょ?そもそも宣言的な記述なウリなんだろうけども。
まぁ結局一人で開発だったらドッチもあってもいいけど
複数人プロジェクトだとRxは使いづらいわな。
451デフォルトの名無しさん
2017/04/07(金) 11:54:59.99ID:5+HcG4Iv Observeを束ねて全部処理が終わったら終了処理をしたいんだけど、どうやったらいいんだろう
452デフォルトの名無しさん
2017/04/07(金) 12:16:24.62ID:dJwAVcRG 全部zipすれば
453デフォルトの名無しさん
2017/04/07(金) 12:28:20.19ID:Fuvg5lKD Httpリクエスト…Promise
websocket…Observable
websocket…Observable
454デフォルトの名無しさん
2017/04/07(金) 13:19:55.32ID:MrQDMpDH んでRx使ったやつで良いプロジェクトってあるの?
RxSwift使ってたときは良いプロジェクトが見当たらなくて
汚い設計になってしまった。
RxSwift使ってたときは良いプロジェクトが見当たらなくて
汚い設計になってしまった。
455デフォルトの名無しさん
2017/04/07(金) 13:59:32.72ID:0MVaqOPa >>449
これな
これな
456デフォルトの名無しさん
2017/04/07(金) 14:44:51.56ID:PRiizMve 要る要らないは個人の考えや開発スタイルによるものだしなぁ
457デフォルトの名無しさん
2017/04/07(金) 17:45:00.18ID:7PhLdANq >>452
やってみる
やってみる
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:hy422I1n■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国「日本で中国人への犯罪が多発」 日本側の否定に「先週も5人逮捕」と反論 [夜のけいちゃん★]
- 円安で増加の風俗目的の中国人インバウンド 客に処罰規定なし、悲しき売春観光大国の現状 [蚤の市★]
- 【文春】元TOKIO・国分太一(51)「女性スタッフ2名への“わいせつ事案”」日テレ事情聴取の全貌が分かった! ★6 [Ailuropoda melanoleuca★]
- 【サッカー】UEFA-CL第5節 アーセナル×バイエルン、PSG×トッテナム、リバプール×PSV、オリンピアコス×レアル [久太郎★]
- 首相、台湾有事答弁で釈明に終始 政治とカネには「そんなことより」 [蚤の市★]
- 【金沢地裁】「風俗嬢に着せようと」南砺の高校で女子バレー部のユニホームを窃盗した男が説明 検察側、拘禁刑4年を求刑 [nita★]
- 【ヤバい】 政府「所得税を上げる。 5兆4000億円の税収になる」 予算案を発表😨😱😭 [485983549]
- お前らチー牛ってなんで憎くて嫌いな奴を殺害しないの?ビビって出来ないならいい加減その性格直そうよ
- 【高市 朝8時】 肥満の全裸 、 公園に発生 [485983549]
- 【高市悲報】中国「ふにゃふにゃ言いながら、時が自然に解決するのを期待する—そんなジャップ流は決して通用しない」 [115996789]
- 百田尚樹「日本は税金が高すぎる。私はそれほど大金持ちではないが、毎年収入の55%を納税している。江戸時代の農民以下の扱いだ」 [309323212]
- 【悲報】撮り鉄が線路脇で撮影→運転手が降りて退去を促すもゴネて動かず電車が遅延→どっちが悪いか意見が真っ二つに [802034645]
