1 名前:デフォルトの名無しさん mailto:sage [2016/04/11(月) 16:28:34.52 ID:ORuOCkHy.net] pythonやrubyやPHPと同じ土俵でjavascriptが使えるようになりました。 サーバサイドjavascriptについて語りましょう。 node.js - googleが開発したV8エンジン上で実行できる処理系 nodejs.org/ io.js - node.js 互換で Joyent の影響からの脱却を目指す処理系 iojs.org/ Rhino - JVM上で実行できる処理系 https://developer.mozilla.org/ja/Rhino io.js の経緯 stackoverflow.com/questions/27309412/what-is-the-difference-between-node-js-and-io-js javascriptはrubyと比較してもかなり速い shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=v8&lang2=yarv 基礎から学ぶNode.js gihyo.jp/dev/serial/01/nodejs node.jsの概要とアプリケーション開発の準備 gihyo.jp/dev/serial/01/realtimeweb/0002 前スレ 【node.js】サーバサイドjavascript 3【io.js】(c)2ch.net echo.2ch.net/test/read.cgi/tech/1419673207/ 【node.js】サーバサイドjavascript 2【Rhino】 peace.2ch.net/test/read.cgi/tech/1358937029/ 【node.js】サーバサイドjavascript【Rhino】 toro.2ch.net/test/read.cgi/tech/1310087535/
477 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 00:03:38.77 ID:x261ON0r.net] >>465 は? それならobservableなんて対応しなけりゃいいだけじゃねーか なんで両方に対応しなきゃいけねーんだよ
478 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 00:07:31.07 ID:Ibdd+rg/.net] >>467 殆どの要件でcancelは必要だから結局Fetch APIみたいに cancelするための別の仕様が出てくる。 だから最初からobservable一本にしておけばいいという話 急ぎすぎてPromiseを標準化してしまったのは黒歴史 Promiseを使ったFetch APIも黒歴史
479 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 00:15:58.80 ID:cNZiPnVn.net] >>468 fetchのことしか考えてねーのかよ fsの非同期apiはキャンセル不可だがこれobservableにする意味あんのかよ fetchが黒歴史なのは正しい promiseじゃなくstreamだろってsubstackも突っ込んでた
480 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 00:23:48.13 ID:Ibdd+rg/.net] > fsの非同期apiはキャンセル不可だがこれobservableにする意味あんのかよ あると思うけど? 俺は200MBを超えるファイル×数十個を "並列で" サーバーに送
481 名前:Mしたことがあるのだが、 もしメモリに全部読み込んでいたら、マシンによってはメモリ不足になっただろう。 だから特定のチャンクごとに読み込んで送信していたわけだが、当然キャンセルもしたいし どのファイルが何%処理完了したかの状況も表示したくなる。 そんときはループを使って、チャンクごとにデータを読み取って処理したわけだが、 もしfsがobservableであれば、メモリに全部読み取ることなく 一定のチャンクごとに処理する簡単な方法も提供されただろう。 [] [ここ壊れてます]
482 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 00:28:43.38 ID:Ibdd+rg/.net] setTimeoutなんかもclearTimeoutみたいにキャンセルするメソッドがあるし、 時間がかかるからこそ非同期にしているわけで、時間がかかる処理を キャンセルしたいことがありえないなんてAPIが本当にあるのだろうか?
483 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 00:35:11.20 ID:cNZiPnVn.net] >>470 それはnodeじゃ昔からstreamでやってるやつだがその話じゃねーよ 今のnodeではcallbsckを取るfs.fstatとかの話だ
484 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 00:37:42.94 ID:Ibdd+rg/.net] >>472 俺が話をしているのはブラウザ版だ nodeの話はしてねーよw
485 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 00:38:09.39 ID:cNZiPnVn.net] >>470 つかてめーnodeやってねーだろ
486 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 00:38:37.44 ID:cNZiPnVn.net] >>473 スレ違い死ね
487 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 00:38:44.04 ID:Ibdd+rg/.net] そういやブラウザではFile APIだったなw
488 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 00:39:23.93 ID:i0oWHzgI.net] >>471 時間がかかる処理をキャンセルじゃなくて、待つのをキャンセルするじゃね?
489 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 00:44:38.31 ID:Ibdd+rg/.net] >>477 それは言い方の違いでしかないよ nodeでcallbackを使うやつの話であれば、そもそもなんで nodeはPromiseを使わなかったのか?の話になるだろ。 それはcallbackを使う方が速いのと、 何度もイベントを発生する必要があるものがあるからだろうな。 つまり、Promiseでは要件に耐えられないから Promiseではなくcallbackを使ったんだよ。 fs.fstatでは何度もイベントが発生するわけじゃなくても、 何度もイベントが発生することが可能なcallbackを使っている。 それは一度しかイベントが発生しなくてもPromiseではなく Observableを使ってよいのと同じ考えだ。
490 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 00:49:22.15 ID:cNZiPnVn.net] >>478 promiseの仕様がいつできたかも知らないのかよ nodeはその前からあるんだよ スレ違い野郎は消えろ
491 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 00:51:43.82 ID:Ibdd+rg/.net] 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に変えたって書いてあるんだぞ
492 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 00:54:37.05 ID:Ibdd+rg/.net] (JavaScriptの)Promiseはいつできたんだっけな? 前に調べたんだが忘れたな。 ここを見る限り2009年なのは間違いないが。 wiki.commonjs.org/index.php?title=Promises&oldid=516
493 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 00:55:18.13 ID:cNZiPnVn.net] そのpromiseはes6のpromiseとは別物だ
494 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 00:56:40.01 ID:cNZiPnVn.net] nodeでobservableに相当するのはstream fs.fstatはstreamを使わない それが答え 以上
495 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 01:03:43.79 ID:Ibdd+rg/.net] >>482 それは当たり前だが、Promiseを捨てた理由は同じだ >>483 fs.fstatはPromiseを使わない。 それが答えだろう?w
496 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 01:05:41.12 ID:Ibdd+rg/.net] > nodeでobservableに相当するのはstream ちなみに、streamを知らない人に説明しておくと、 streamが使ってるのはPromiseではなくcallback
497 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 01:10:44.04 ID:cNZiPnVn.net] >>484 promiseを使わない理由がキャンセルできないからじゃないのは分かってんのかよ システムコールレベルでキャンセルする方法がないのにobservableにするメリットあんのかって問いに答えてねーだろ nodeは単発にcallback、連発にstreamで使い分けてる 大は小を兼ねるとは限らないんだよ
498 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 01:24:00.13 ID:Ibdd+rg/.net] システムコールレベルって何の話? Win32APIとかレベルの話してるの? 独自用語で話すんなよ
499 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 01:25:28.87 ID:Ibdd+rg/.net] ふむ Windows Vista での Win32 I/O キャンセル サポート https://msdn.microsoft.com/ja-jp/library/aa480216.aspx
500 名前:デフォルトの名無しさん [2017/04/08(土) 01:27:17.78 ID:GAoRTfTW.net] 何やこいつ キャンセルする必要がない単発はPromiseでいいし、キャンセルが必要か連発ならobs使えばいいって話だろ しゅうきょーせんそーかな?
501 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 01:28:10.51 ID:Ibdd+rg/.net] 単発だからってキャンセルする必要が無いことにはならないんだが? 言ってる意味わかる?
502 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 01:31:42.23 ID:Ibdd+rg/.net] Observableが得意なのはキャンセルだけじゃなくて 並列処理もなんで、fs.fstatを並列で実行したいときにも 簡単にかけるというメリットも有るな
503 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 01:33:57.12 ID:i0oWHzgI.net] いくら君らが言い合っても、現実はかわらないでしょ? 今ある仕様がすべてで文句かるなら他の言語つかいなよで終わる話しじゃないの? 生産性のない答えもない事で争って暇すぎるだろ
504 名前:デフォルトの名無しさん [2017/04/08(土) 01:36:49.14 ID:GAoRTfTW.net] >>490 「キャンセルする必要がない場合は」 よく嫁
505 名前:デフォルトの名無しさん [2017/04/08(土) 01:37:27.20 ID:GAoRTfTW.net] こいつもしかしてIT速報の管理人か? 転載禁止やぞ。対立煽りはNG
506 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 01:45:22.63 ID:w3FPiolV.net] スプーンとお玉の関係に似てる。 ジャムをすくうのにお玉を使ったら逆に不便だろ。そこは適切にスプーンを使え。 キャンセル処理がPromiseだと絶対無理というわけでもないし、Rxが必要とも思えないプロジェクトで無理やりRxを使う必要もない。
507 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 01:49:13.35 ID:Ibdd+rg/.net] >>493 > 「キャンセルする必要がない場合は」 それはまずないだろうねw
508 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 02:25:27.18 ID:FnclMLRN.net] レスの文体からして前からJSスレに常駐してる荒らしでしょ コピペブログ管理人もやってたのかは知らんが
509 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 02:31:02.63 ID:hy422I1n.net] >>487 システムコールってwikipediaにもエントリあるのに unix/linux系はダメなwindows君か どうりでダメなわけだ
510 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 02:35:20.51 ID:Ibdd+rg/.net] >>498 分かってないなw なんでシステムコールの話がでてくるんだってことだよ。 nodeのAPIと、OSのシステムコールを 一対一で直接結びつける必要はないっつーの nodeのAPIは単純な一命令でも、内部の実装は 何回もシステムコール呼んだって良いわけだ。 それが分かってないから、お前はシステムコールが キャンセルできるかどうかなんて言い出したんだろ こっちは全部お見通しだってーの
511 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 05:35:10.56 ID:iZgQ7lMc.net] fetchはキャンセルできる必要があるが、 fetchの戻り値をObsevableにするのは駄目。 Obsevableって一様な幾つものデータを受け取るのに向いているので fetchのように幾つかの段階で全然違うものが帰って来るのには向いていない。 単純に、Responseにabortメソッドを付けるのが良いと思う 勿論途中のStreamをObsevableにするのはとても良いと思うけど、 それを含んだ全体をするのはおかしい。
512 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 05:38:38.21 ID:iZgQ7lMc.net] というか考えたら分かると思う。 キャンセルしたいのはfetchではなく、DLなのだから。 やっぱりCancelToken以外の解は無いと思うよ。
513 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 17:16:04.09 ID:uEU+oXmi.net] イベントでいいじゃんかよ、もう
514 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 17:29:52.27 ID:py60arCP.net] > キャンセルしたいのはfetchではなく、DLなのだから。 fetchはデータ送信もするんだが? その場合キャンセルしたいのは何だよ
515 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 17:40:38.81 ID:py60arCP.net] >>500 > 単純に、Responseにabortメソッドを付けるのが良いと思う fetchの戻り値はpromiseであってresponseではない。 responseはpromiseのthenの時に渡される。 promiseのthenが呼び出されるのはfetchの処理が完了した後。 つまりresponseを取得したとき=fetchし終わった時に abortするのは遅すぎる
516 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 18:46:58.17 ID:1OsO7EoR.net] >>499 なにを見通してるのかさっぱり分からんがnodeは低水準のapiを提供するものだ そうすれば複数のシステムコールを組み合わせた高水準apiはユーザーレベルのライブラリで実現できる だからfsモジュールは意図的にposixの薄いラッパーになっていてキャンセルはない
517 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 18:50:52.30 ID:1OsO7EoR.net] >>504 仕様にはstreamが追加されてる https://fetch.spec.whatwg.org/#streams
518 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 18:56:59.44 ID:py60arCP.net] >>505 > nodeは低水準のapiを提供するものだ どこにそんなことが書いてあるのか? nodeの立場はブラウザと同じだ。 JavaScriptの実行環境だ。 お前の理屈だと、ブラウザは低水準のAPIを提供するものということになる。
519 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 18:58:44.31 ID:py60arCP.net] >>505 > だからfsモジュールは意図的にposixの薄いラッパーになっていてキャンセルはない じゃあ、例えば、fs.lstatSync は posixのどの薄いラッパーなのか言ってみ
520 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 19:01:09.86 ID:py60arCP.net] >>506 > 仕様にはstreamが追加されてる どっちみち仕様を加えるなら Observableにした方がいいだろうな。
521 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 19:02:35.33 ID:py60arCP.net] しかも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.
522 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 19:22:58.68 ID:+j3lf9vK.net] >>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でもサポートしてない
523 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 19:25:59.41 ID:+j3lf9vK.net] >>510 細かく言うとposix aioはほとんどのos kernelで実装されてない gnuがユーザーレベルのライブラリとして実装したものがあるだけ
524 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 19:34:34.87 ID:+j3lf9vK.net] manだとlstat(2)に対して>>510 のaio_xxx(3)なのでシステムコールじゃないことが分かる
525 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 19:36:55.48 ID:py60arCP.net] >>511 lstatは非同期じゃないぞw
526 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 19:39:34.36 ID:+j3lf9vK.net] >>504 fetch apiが返すpromiseはfetchが完了してからresolveするわけではない 完了してからresolveするのはres.text()が返すpromise
527 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 19:40:34.49 ID:+j3lf9vK.net] >>514 >>508 のlstatSyncは非同期じゃない
528 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 19:43:59.84 ID:py60arCP.net] >>516 逆だったなw fs.lstatの方だ
529 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 19:45:48.32 ID:+j3lf9vK.net] >>517 lstat
530 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 19:46:03.01 ID:py60arCP.net] >>515 > fetch apiが返すpromiseはfetchが完了してからresolveするわけではない 完了してからだよ。正確にはレスポンスが返ってきてから、 データの受信が完全に完了してからではない。 でないと、Response.statusが取れるわけがないだろう?
531 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 19:46:40.03 ID:py60arCP.net] >>518 それではシステムコールにあるPromise相当のものは何?w
532 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 19:51:37.12 ID:+j3lf9vK.net] >>519 そう、だから完了してからじゃないじゃん 最初のチャンクが届いたらresolveする 「fetchの処理が完了した後」は明らかな間違い
533 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 19:53:33.42 ID:+j3lf9vK.net] >>520 システムコールにはない 単にワーカースレッドでlstat呼ぶだけ
534 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 19:53:53.72 ID:py60arCP.net] >>521 Fetchの処理はリクエスト投げてレスポンス戻すところまでだよ。 ダウンロードが終了するまでの話は最初からしてない で、Fetchのキャンセル(thenが発動する前)はPromiseでできるの? できないでしょ? そこに新しい仕様が必要ならObservableを使えば良いわけさ。
535 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 19:54:42.49 ID:py60arCP.net] >>522 だろう? Promiseを含めて「システムコールの軽いラッパー」と お前が呼ぶならば、Observableを含めたって「システムの軽いラッパー」になる
536 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 20:03:11.46 ID:0e5YIioE.net] >>523 fetch apiがpromiseベースでバカなのは何年も前から言われてるし俺も言ってきたからそこに反論する気はない
537 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 20:05:16.72 ID:0e5YIioE.net] >>524 キャンセルできなくて単発で結果が決まるシステムコールのラッパーにpromiseよりobservableを選ぶメリットは?
538 名前:デフォルトの名無しさん [2017/04/08(土) 20:20:53.33 ID:cXe/TGOq.net] システムコールとライブラリの違いをわかってないやつがいそうだから、用語をシステムAPIかOSのAPIで統一してくれ
539 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 20:27:37.55 ID:py60arCP.net] >>526 並列処理がしやすいから
540 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 20:31:19.27 ID:iZgQ7lMc.net] >>523 何度も説明してるが、キャンセルは必要だが、Observableはそぐわない CancelTokenのようなものじゃないと実際齟齬が出るし その流儀に則って真似して使いやすいように色んなAPIを実装していくのは大変
541 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 20:33:09.43 ID:py60arCP.net] 俺がobservableの話で並列処理の話を始めると すぐにキャンセルの話に変えるやつってなんなんだろうねw わざとなのかな?
542 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 20:38:17.35 ID:FGB2+VgV.net] >>528 正しくは並行処理だが常に必要となるわけではない 必要ならpromiseをobservableでラップすればいいだけ そのために無駄に高機能なapiを土台にするメリットはない シンプルの上にリッチを乗せることは有意だが逆は無意味だ
543 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 20:40:15.25 ID:py60arCP.net] > 正しくは並行処理だが常に必要となるわけではない 絶対に必要ないならいらんだろうさ 常に必要となるわけではない=必要な場合もある。 ならば同じやり方でやったほうが楽
544 名前:デフォルトの名無しさん mailto:sage [2017/04/08(土) 20:49:17.82 ID:FGB2+VgV.net] 長さ1の配列があればスカラ値の変数はいらない let x=1 let y=2 let z=x+y これは配列が必要な場合と同じやり方で let x=[1] let y=[2] let z=[x[0]+y[0]] ってやった方が楽 なるほど
545 名前:デフォルトの名無しさん mailto:sage [2017/04/09(日) 16:42:26.31 ID:4FESG0wM.net] なるほどじゃねぇよ
546 名前:デフォルトの名無しさん mailto:sage [2017/04/09(日) 17:00:22.44 ID:ZPMPIHcF.net] Observableだけでなく、jQueryもLodashもそうなんだけど、 配列をスカラのように扱うことができるんだよね。 1と2以上を同一化して処理できる。 例えばquerySelectorAllは配列を返す。$()だとスカラ値を返す どちらもセレクタから複数の要素を検索しているようだけど、この違いによって querySelectorAllではループ処理が必要になるが、jQueryではループ処理が不要になる Promiseも単数だから並列しようと思ったら配列が必要になってループも必要になる つまり>>533 でいう後者の書き方 Observableであれば単数も複数も同じように処理できるから、>>533 の前者の書き方で 複数の対象を単数と同じ書き方で並列に処理できる。
547 名前:デフォルトの名無しさん mailto:sage [2017/04/09(日) 18:21:09.53 ID:c0gwQMp6.net] querySelectorAllが配列を返すなんてとんと知りませんでしたわ
548 名前:デフォルトの名無しさん mailto:sage [2017/04/09(日) 19:39:40.08 ID:FYNHGER+.net] そもそも「配列」という言葉の定義がない 因みにNodeListは@@iterator対応の予定がずっとある
549 名前:デフォルトの名無しさん mailto:sage [2017/04/09(日) 20:58:23.64 ID:04OXxo7q.net] jQueryしか使わないゆとりだから下のレイヤーのことは知らないんだろ
550 名前:デフォルトの名無しさん mailto:sage [2017/04/09(日) 21:08:17.95 ID:qkkzIUk4.net] 下層民同士仲良くしなさいよ〜 粛清すっぞ
551 名前:デフォルトの名無しさん mailto:sage [2017/04/10(月) 16:04:40.78 ID:/vWjJFQd.net] 一年に1,2回はtoArrayをどうするかの話題で盛り上がるよね Array、TypedArray、@@iterator、length、Array.isArrayとか沢山楽しい話できるよね
552 名前:デフォルトの名無しさん mailto:sage [2017/04/11(火) 15:44:57.90 ID:EI2QNfVc.net] キャンセルトークン方式のプロポーザル https://github.com/tc39/proposal-cancellation
553 名前:デフォルトの名無しさん mailto:sage [2017/04/11(火) 20:28:11.22 ID:rWanRa9I.net] >>541 https://azu.github.io/slide-what-is-ecmascript/slide/12.html Stage 0: Strawman アイデア から抜け出したら、もう一回知らせてくれ せめてStage 3にならなければ評価する価値もない
554 名前:デフォルトの名無しさん mailto:sage [2017/04/11(火) 20:53:27.45 ID:CJtRplzd.net] stage1のobservableも評価する価値がない よってこの話題完全終了
555 名前:デフォルトの名無しさん mailto:sage [2017/04/11(火) 20:56:52.33 ID:3Yv+2Fi9.net] 50歩100歩ってやつだな。 差は2倍もあるということだ
556 名前:デフォルトの名無しさん mailto:sage [2017/04/11(火) 21:09:11.09 ID:62uXcToV.net] デバッグ用にconsole.logで出力を行ってるんだけど、foreverで起動するときはどこにも出力されてないって事でいいのかな?
557 名前:デフォルトの名無しさん mailto:sage [2017/04/11(火) 21:46:41.59 ID:fGKCOXVl.net] 今日追加されたのより一歩進んでたって話にならんよ
558 名前:デフォルトの名無しさん [2017/04/12(水) 12:43:00.43 ID:rqT+n0Ti.net] >>544 ゴールまで千里の道というオチですね
559 名前:デフォルトの名無しさん mailto:sage [2017/04/12(水) 16:04:44.52 ID:WRJ4LE6o.net] >>545 Optionsを観ると以下のようになってる。 -o OUTFILE Logs stdout from child script to OUTFILE -e ERRFILE Logs stderr from child script to ERRFILE
560 名前:デフォルトの名無しさん [2017/04/16(日) 06:10:01.13 ID:JlKTjebd.net] ln -s -f /dev/null /dev/stdout
561 名前:デフォルトの名無しさん mailto:sage [2017/04/21(金) 22:47:20.35 ID:vwhSF093.net] Converting circular structure to JSON at JSON.stringify 自分なりにdeepCopyつもりのコードで 上記エラーが出た場合に、原因なコードを簡単に見つける方法ってどんなのがありますでしょうか?
562 名前:デフォルトの名無しさん mailto:sage [2017/04/22(土) 11:59:52.05 ID:WQjYmpaa.net] >>550 stackoverflow.com/questions/14962018/detecting-and-fixing-circular-references-in-javascript
563 名前:デフォルトの名無しさん [2017/04/25(火) 16:04:38.46 ID:+ad05VVs.net] circular structur 原因書いてますやん
564 名前:デフォルトの名無しさん mailto:sage [2017/04/26(水) 14:11:46.04 ID:mOputr8e.net] >>551 まさにピッタリの解説でした。ありがとうございました。
565 名前:デフォルトの名無しさん mailto:sage [2017/04/28(金) 08:36:18.97 ID:NZ0i2p+n.net] 循環参照を持っていてもちょっと関数噛ましてテーブル2つに変換すればJSONに落とし込むことは可能だよ
566 名前:デフォルトの名無しさん [2017/04/28(金) 12:43:11.19 ID:TC+lQYaW.net] 以下のように表記を統一するクラス(またはデータベース)でありますでしょうか? 'php' => 'PHP' , 'perl' => 'Perl' , 'javascript' => 'JavaScript' ,
567 名前:デフォルトの名無しさん mailto:sage [2017/04/28(金) 13:10:12.31 ID:ytJUGaM1.net] 自然言語処理用でいいの最近見たけど忘れた
568 名前:デフォルトの名無しさん [2017/04/28(金) 15:01:07.81 ID:TC+lQYaW.net] 思い出してください w 「自然言語処理 "単語の正規化" 」でググってみましたがズバリ思っているようなのはヒットしませんでした。 どなたか是非!
569 名前:デフォルトの名無しさん mailto:sage [2017/04/29(土) 05:10:42.30 ID:GfKuDHiR.net] つうか全部小文字の単語を直したいだけの辞書なら 通常の固有名詞辞書にちょっと手を加えればいいだけじゃん
570 名前:あ mailto:sage [2017/04/29(土) 11:53:18.38 ID:R/nsoadB.net] freetaggerとか昔使ったことあるけど、javaScriptなんかの表記の統一は辛かったような。 isDisabledのiはどうするのとか、結局プロジェクト向けのスクリプト書いた気がする。
571 名前:デフォルトの名無しさん mailto:sage [2017/04/29(土) 12:10:57.72 ID:xHNM2Zad.net] >>559 結局はそうだよな 完全な答えがあるものじゃないし
572 名前:デフォルトの名無しさん mailto:sage [2017/05/03(水) 23:37:41.27 ID:jNZhewdQ.net] package.jsonの"scripts"に書いたコマンドをnpm runで実行する際はnode_modules/.bniがPATHに 追加されますが、これ以外に任意のディレクトリをPATHに追加する方法ってあるでしょうか。
573 名前:デフォルトの名無しさん mailto:sage [2017/05/03(水) 23:44:19.89 ID:/FJiuNZS.net] 実行するコマンドの前で設定するとか
574 名前:デフォルトの名無しさん [2017/05/04(木) 01:58:16.57 ID:arHoxXIF.net] windowsだからpythonのpip以上にnpm厄介だな
575 名前:561 mailto:sage [2017/05/04(木) 11:09:36.82 ID:l8/ufUYV.net] ありがとうございます。でもwindowsだとうまくいかないなぁ。 "somecommand": "set PATH=%PATH%;<パス> && <コマンド>" #<コマンド>は内部でPATH環境変数を使用するスクリプトで、これ自体にはPATHが通っている。 &&の両側のコマンドが同時に立ち上がるんだから当然と言えば当然か。 でもコマンドプロンプトで順次実行する&に変えても結果は同じだった。 bashのexportみたいなのが使えればいいんだけど。
576 名前:デフォルトの名無しさん mailto:sage [2017/05/04(木) 11:15:14.24 ID:rRUt3/Oc.net] めんどくせぇなぁ、 そのためのnpmライブラリでもあんだろ
577 名前:デフォルトの名無しさん mailto:sage [2017/05/04(木) 14:13:58.13 ID:PLZ28pn/.net] cross-envが定番 https://www.npmjs.com/package/cross-env