1 名前:デフォルトの名無しさん mailto:sageteoff [2014/12/27(土) 18:40:07.70 ID:MwQYLNUR.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 2【Rhino】 peace.2ch.net/test/read.cgi/tech/1358937029/ 【node.js】サーバサイドjavascript【Rhino】 toro.2ch.net/test/read.cgi/tech/1310087535/
58 名前:デフォルトの名無しさん mailto:sage [2015/01/05(月) 09:46:01.36 ID:mZODWVt6.net] >>50 横から失礼、俺も読んでて意味わからないから質問させてくれ >まったくハンドリングしてない予期しない例外でも内蔵Promiseならデバッガが >気を効かせて例外を通知してくれるって事を言ってんのに >お前はなんで分かんないんだよマジで無能だな 内臓Promiseの利点はデバッガが気を利かせて例外通知をしてくれる、と読めるんだけど、つまり製品に使うと勝手にデバッガが動いてる状態になるから開発時以外は使っちゃいけないって事でOK? それともPromiseには何らかのデバッガが内臓されている感じなのかな?もしそうだとして、デバッガが動作してることを前提でコードを組むのがPromiseの使い方って事? もし前者なら(特に将来的に)仕様がどうなるかは環境依存って事になるから、Promiseは使ってはいけないんじゃないだろうか?
59 名前:デフォルトの名無しさん mailto:sage [2015/01/05(月) 12:38:50.48 ID:A9O4oHD7.net] 面倒だがこうなったらしょうがない少し付き合ってやる >>52 > > ・渡されたコールバックを確実に非同期で実行する > > これがJSで実装できないって主張は間違いだったということでいいのか? setImmediate()の仕様は、渡されたコールバックを次のJavaScriptの命令が確実に実行された後に 実行するとは読めなかったが、もし内部の実装がそうなってるのであれば、setImmediate()で 実装できるよ ただし、本当に内部の実装がそうなってるかどうかはお前が確認して報告しろ > Chrome開発版や他のブラウザだとブレークするのか? 通常のChromeとFirefoxでブレークするのを確認した >>55 > つまり製品に使うと勝手にデバッガが動いてる状態になるから開発時以外は使っちゃいけないって事でOK? デバッガは普通のブラウジング時には有効になってないよ 有効にするにはブラウザごとにやり方が違うから自分で調べてくれ
60 名前:デフォルトの名無しさん mailto:sage [2015/01/05(月) 20:40:46.70 ID:xBMPeqox.net] >56 > ただし、本当に内部の実装がそうなってるかどうかはお前が確認して報告しろ process.nextTick()もsetImmediate()もsetTimeout()もそうなってるよ どの関数もreturnして後続のコードが実行されてイベントループに戻るより前に コールバックが呼ばれることはない > > Chrome開発版や他のブラウザだとブレークするのか? > 通常のChromeとFirefoxでブレークするのを確認した >>54 が引用されてるが、それはお前の言う「ハンドリングしてない予期しない例外」 とは別の「ハンドリングしてないreject」の話だぞ >>54 の一行目にそう書いてあるだろ それより > まったくハンドリングしてない予期しない例外でも内蔵Promiseならデバッガが > 気を効かせて例外を通知してくれるって事を言ってんのに について具体的にコードでも書いて説明してくれよ 日本語じゃまともに通じてないんだからその方がお互い手っ取り早いだろ?
61 名前:デフォルトの名無しさん mailto:sage [2015/01/05(月) 20:47:12.39 ID:xBMPeqox.net] これは「ハンドリングしてないreject」としてのレス >>56 > 通常のChromeとFirefoxでブレークするのを確認した まずは確認だが、Chromeで"Pause On Caught Exceptions"は外してるよな? あれはハンドリング「してる」例外でもブレークするからここでは邪魔になる その上で、rejectをハンドリングしている Promise.resolve(true).then(function(v) { throw new Error('then'); }).catch(function(e) { console.log(e); }); はブレークしないが、rejectをハンドリングしていない Promise.resolve(true).then(function(v) { throw new Error('then'); }); はブレークするのを確認した、ということで間違いないか? 俺のChrome 39ではどちらもブレークしない (通常の「ハンドリングしてない例外」はもちろんブレークする) もしChromeの設定が必要なら教えて欲しい
62 名前:デフォルトの名無しさん mailto:sage [2015/01/05(月) 20:56:09.22 ID:xBMPeqox.net] これも「ハンドリングしてないreject」としてのレス 例外ではなくrejectの話ということがより明確になるようにコードを修正した rejectをハンドリングしている Promise.resolve(true).then(function(v) { return Promise.reject(new Error('then')); }).catch(function(e) { console.log(e); }); はブレークしないが、rejectをハンドリングしていない Promise.resolve(true).then(function(v) { return Promise.reject(new Error('then')); }); はブレークするのか? ちなみにQを使う場合はQ.getUnhandledReasons()で 「ハンドリングしてないreject」の一覧を取得できる nodeではsetInterval()で定期的にログ出力すればデバッガの必要性は低い
63 名前:デフォルトの名無しさん mailto:sage [2015/01/05(月) 22:13:35.53 ID:gHiAPMtv.net] >>57 > process.nextTick()もsetImmediate()もsetTimeout()もそうなってるよ 調べもせずに適当な事言うなよ 少なくともsetTimeout()は絶対違う 他は日本語が意味不明 Promise.resolve(true).then(function(v) { throw new Error('then'); ← ここでデバッガがブレークする }); アホなお前はこれでも理解出来ないと思うが、俺はこれ以上説明しない > nodeではsetInterval()で定期的にログ出力すればデバッガの必要性は低い 糞みたいな負け惜しみすんなよw
64 名前:デフォルトの名無しさん mailto:sage [2015/01/05(月) 22:22:33.23 ID:gHiAPMtv.net] > 少なくともsetTimeout()は絶対違う 捕捉するがタイムアウト時間を1msとかにすれば、99.9%実用上問題無いだろう だが「確実」に非同期にするという事とは全く意味が違う >>58 > もしChromeの設定が必要なら教えて欲しい デバッガのデフォ設定では飲み込まれて無反応だ さんざんケチつけてる割にはそんな簡単な設定も分からんか ただ、激しくスレチな事なんで無理もないからそろそろ黙ってくれ
65 名前:デフォルトの名無しさん mailto:sage [2015/01/05(月) 23:31:48.05 ID:xBMPeqox.net] >>60 > 調べもせずに適当な事言うなよ 調べて言ってるけど? まずは仕様 https://html.spec.whatwg.org/multipage/webappapis.html#timers "timer initialisation steps"の10で"Return handle, and then continue running this algorithm in parallel." となっていて、コールバックが呼び出されるのは14の"Queue the task task."によってだ そしてNodeの実装 https://github.com/joyent/node/blob/v0.10/lib/timers.js#L194 203行目でTimeoutオブジェクトを作って225行目でactive()に渡してる 175行目からのactive()はリストにTimeoutオブジェクトを追加してるだけ どうやってもsetTimeout()がreturnする前にコールバックが呼ばれることはない > 少なくともsetTimeout()は絶対違う その根拠は? お前は主張するばっかで根拠は何も示さないのな >>61 > 捕捉するがタイムアウト時間を1msとかにすれば、99.9%実用上問題無いだろう > だが「確実」に非同期にするという事とは全く意味が違う お前「非同期」の意味わかってる? タイムアウト時間は非同期とは一切関係ないぞ setTimeout()は常にコールバックを非同期に実行する ただしコールバックが実行されるまでの時間は指定したとおりになるとは限らないだけだ 特にネストした呼び出しでは0〜3msを指定しても最低4msは待たされる(上の仕様に書いてある) だが常に非同期だ
66 名前:デフォルトの名無しさん mailto:sage [2015/01/05(月) 23:36:20.18 ID:xBMPeqox.net] >>60 > 他は日本語が意味不明 お互いになw でもJSのコードは分かっただろ? だからお前が言いたいこともコードで示してくれって何度も言ってるわけだ なんでコードで書かないんだ? > Promise.resolve(true).then(function(v) { > throw new Error('then'); ← ここでデバッガがブレークする > }); それだけだと"Pause On Caught Exceptions"を有効にしてるようにしか見えないな その場合ブレークするのは内蔵Promise一切関係ないからな catch()してるケースではどうなんだ? ブレークしちゃうんじゃねーの? >>59 のPromise.reject()版でもブレークするのか? しないんじゃねーの? > アホなお前はこれでも理解出来ないと思うが、俺はこれ以上説明しない それこそ負け惜しみだろw 「しない」じゃなくて「できない」んじゃねーの? > > nodeではsetInterval()で定期的にログ出力すればデバッガの必要性は低い > 糞みたいな負け惜しみすんなよw 繰り返すけどここはサーバサイドJSスレなんでな 動かしっぱなしのサーバではロギングして調べる方が基本なんだよ ぶっちゃけこのスレでもNodeでデバッガ普段使いしてるヤツの方が少数派じゃね? 他の人どうよ?
67 名前:デフォルトの名無しさん mailto:sage [2015/01/05(月) 23:38:49.17 ID:xBMPeqox.net] >>61 > デバッガのデフォ設定では飲み込まれて無反応だ > さんざんケチつけてる割にはそんな簡単な設定も分からんか わからんな 頼むから教えてくれよ 煽るより少ない文字数で終了するだろ > ただ、激しくスレチな事なんで無理もないからそろそろ黙ってくれ 何を今更w >>55 とか他の人も興味あるかもしれないだろ そんな簡単な設定ならさっさと書いてくれよ
68 名前:デフォルトの名無しさん mailto:sage [2015/01/05(月) 23:41:57.54 ID:gHiAPMtv.net] >>62 This API does not guarantee that timers will run exactly on schedule. って書いてある いつ実行されるか保証してないじゃん 上の方のa += 1;を実行するまでに100msの時間が掛かったとすると、その前に実行される可能性がある
69 名前:デフォルトの名無しさん mailto:sage [2015/01/05(月) 23:57:22.85 ID:gHiAPMtv.net] 昔WebkitかFirefoxのPromiseの実装を見た時に、これで非同期にしてんのかと思った事があった気がするから とりあえずソースをあたったみるから待ってろ それで全て解決だ ソースを落とすには滅茶苦茶時間掛かるし、ブラウザで探すにしても時間が掛かる > わからんな > 頼むから教えてくれよ デベロッパーツールを出して一番右にある黒丸に縦二重線のPause on exceptionsを押しといてリロードだよ
70 名前:デフォルトの名無しさん mailto:sage [2015/01/05(月) 23:59:55.31 ID:xBMPeqox.net] >>65 > いつ実行されるか保証してないじゃん それ俺が書いた > ただしコールバックが実行されるまでの時間は指定したとおりになるとは限らないだけだ のことな > 上の方のa += 1;を実行するまでに100msの時間が掛かったとすると、その前に実行される可能性がある その可能性はないんだよ ステップの10でリターンした「後」、残りのステップは並列に実行される可能性がある その一つのステップ14でコールバックを実行するタスクがキューに入れられる タスクはキューに入れられるだけで実行はされない そしてそのタスクがキューから取り出されて実行されるのは制御がイベントループに戻った後だ お前の言うa += 1;の実行が終わらない限り制御がイベントループに戻ることはない だからsetTimeout()はタイムアウト時間に一切関係なく常に非同期だ 詳細は"14. Queue the task task."のリンク先を見てくれ そんな難しく考えなくてもシングルスレッドなんだからわかりそうなもんだがw
71 名前:デフォルトの名無しさん mailto:sage [2015/01/06(火) 00:14:54.50 ID:KFlyuGQs.net] >>67 > そしてそのタスクがキューから取り出されて実行されるのは制御がイベントループに戻った後だ イベントループに戻るのはsetTimeout()の直後の位置だ (a += 1;の前)
72 名前:デフォルトの名無しさん mailto:sage [2015/01/06(火) 00:22:50.21 ID:oSSj0EiH.net] >>66 > デベロッパーツールを出して一番右にある黒丸に縦二重線のPause on exceptionsを押しといてリロードだよ それ黒丸に縦二重線を押して出てくるパネルにあるチェックボックスのことだよな? それ「Pause on exceptions」じゃなくて「Pause On Caught Exceptions」だよな? 俺がこれまで書いた↓全然読んでなかったのかwwwwww >>58 > まずは確認だが、Chromeで"Pause On Caught Exceptions"は外してるよな? >>63 > それだけだと"Pause On Caught Exceptions"を有効にしてるようにしか見えないな "Pause On Caught Exceptions"って有効にすると try { throw new Error('err'); //ここでもブレークする! } catch (e) { console.log('handled'); } こんなのまでブレークしちゃう代物なわけよ 内蔵Promiseがどうとか一切関係なく、自前のライブラリだろうがなんだろうが どこでも例外スローするとブレークするオプションなわけじゃん 内蔵Promiseでないと実装できないとかって話と何の関係ないよな? >>24 > > ・飲み込まれた例外をデバッグ出来る > そりゃ、ライブラリ内部のcatch内にブレークポイントを張って待ちかまえていれば > 可能だが毎回そんな事すんのか?いやするわけない > そして例外がスルーされて何も起きない ↑の説明は"Pause On Caught Exceptions"と矛盾してることはわかるか?
73 名前:デフォルトの名無しさん mailto:sage [2015/01/06(火) 00:29:21.55 ID:oSSj0EiH.net] >>68 > イベントループに戻るのはsetTimeout()の直後の位置だ (a += 1;の前) は? え? え? setTimeout(function() { ... }, 0); // (a) a += 1; こういうコードで(a)の位置でイベントループに戻ると思ってるわけ? いやいやいや、いくらなんでもそれは。。。 あー
74 名前:デフォルトの名無しさん mailto:sage [2015/01/06(火) 00:39:58.23 ID:KFlyuGQs.net] >>69 あっそう、俺はFirefoxしか使ってないからChromeの事はそれでいいと思ったよ Firefoxだと try { throw new Error('err'); // ここでブレークしないで } catch (e) { console.log('handled'); } Promise.resolve(true).then(function(v) { throw new Error('then'); // ここでブレークする }); になる もはやV8とも関係無くて悪いなw
75 名前:デフォルトの名無しさん mailto:sage [2015/01/06(火) 00:44:09.33 ID:KFlyuGQs.net] >>69 ChromeでPromiseをブレークさせる方法は無いのか何らかの方法があるのか調べておくよ
76 名前:デフォルトの名無しさん mailto:sage [2015/01/06(火) 00:48:43.95 ID:oSSj0EiH.net] >>72 別にいいよ、開発版で取り組んでるから https://code.google.com/p/v8/issues/detail?id=3093 https://code.google.com/p/chromium/issues/detail?id=393913
77 名前:デフォルトの名無しさん mailto:sage [2015/01/06(火) 02:04:56.21 ID:KFlyuGQs.net] 俺が勘違いしていた Promiseの仕様的にイベントループが1回以上発生する事を保証しないといけないから setTimeout()では完全ではないということだな はいおしまい
78 名前:デフォルトの名無しさん mailto:sage [2015/01/06(火) 05:03:53.45 ID:D9r7QrzV.net] まだやってんのか…
79 名前:デフォルトの名無しさん mailto:sage [2015/01/06(火) 15:07:59.00 ID:LUJGb7UT.net] ざっと読んでたら、 イベントループ=非同期 って話してるのかと思った(笑) 何に対しての同期かにもよるだろうけどね
80 名前:デフォルトの名無しさん mailto:sage [2015/01/06(火) 19:05:27.58 ID:oSSj0EiH.net] >>76 JSの世界(特にコールバック絡み)で同期・非同期といったら function foo(function callback() { ... //(1) }); ... //(2) (1)->(2)で実行されるのが同期 (Array.forEach()とか) (2)->(1)で実行されるのが非同期 (setTimeout()とか) 「Effective JavaScript」の項目67とか以下とか参照 blog.ometer.com/2011/07/24/callbacks-synchronous-and-asynchronous/
81 名前:デフォルトの名無しさん mailto:sage [2015/01/06(火) 20:55:50.08 ID:Xd0L/8rv.net] >>16 > 「Promiseを理解しないと非同期のメリットを生かせない」ってのは > 表層しか理解してないって証だわな 真理だったな
82 名前:デフォルトの名無しさん mailto:sage [2015/01/06(火) 22:25:56.23 ID:QIYM1JY4.net] JavaScriptはシングルスレッドだけど NodeのIOは非同期、つまり別スレッドで行われる
83 名前:デフォルトの名無しさん mailto:sage [2015/01/06(火) 22:40:06.78 ID:oSSj0EiH.net] >>
84 名前:78 まぁまぁw >>79 別スレッドなのはファイルだけでネットワークやパイプはメインスレッドだよ Windowsではファイルもメインスレッドかもしれん [] [ここ壊れてます]
85 名前:デフォルトの名無しさん mailto:sage [2015/01/06(火) 23:38:13.20 ID:KFlyuGQs.net] >>78 ただ煽ってるだけだろ 理由を述べよ すぐに理由を述べられなければただの煽りと認定する (たぶん無理だろうけど)
86 名前:デフォルトの名無しさん mailto:sage [2015/01/06(火) 23:44:03.55 ID:KFlyuGQs.net] >>80 何がまぁまぁだよw お前もどうせ無能なんだろ とりあえずすぐに理由を言ってみろよ、言えないくせに
87 名前:デフォルトの名無しさん mailto:sage [2015/01/07(水) 14:59:21.93 ID:R3Z2NWM/.net] >>80 そんな事無いだろ メインスレッドでやる意味ないし
88 名前:デフォルトの名無しさん mailto:sage [2015/01/07(水) 20:07:44.58 ID:OxX2nn0Y.net] >>83 逆に考えるんだ ネットやパイプはノンブロッキングI/Oで多重化できるからワーカスレッドでやる意味の方がない UnixのファイルI/OはそれができないからワーカスレッドでブロッキングI/Oせざるを得ない 以下のNoteにもそういうことが書いてある nikhilm.github.io/uvbook/filesystem.html ソースだとファイル系の操作(839行目〜)はみんな以下のPOSTマクロを使ってる https://github.com/libuv/libuv/blob/v1.x/src/unix/fs.c#L97 その中のuv__work_submit()がワーカスレッドに処理を依頼する関数 ネットやパイプではそんなことしてない 詳細を知りたければブロッキングI/O、ノンブロッキングI/O、 多重化、非同期I/Oと順に説明してる解説を読むといい そしてUnixでは本物の非同期I/Oは事実上ないことを知るw
89 名前:デフォルトの名無しさん mailto:release age [2015/01/13(火) 15:11:04.11 ID:LHG94Mlu.net] ついに本日 io.js 1.0.0 が正式リリース。 v8エンジンのおかげで node より大幅速度向上。 本日は io.js の誕生日であるとともに node の命日ともなりましたナムナム
90 名前:デフォルトの名無しさん [2015/01/14(水) 08:06:57.60 ID:EnBoJmyV.net] 2ちゃんもお別れの日が近い気がする
91 名前:デフォルトの名無しさん [2015/01/14(水) 22:24:56.52 ID:knoTvZIn.net] CPUを使う処理の速度は確かに向上している が、node-gypがライブラリをダウンロード出来ずビルドに失敗したり v8のAPI変更でnanがコンパイル失敗したり ちょっと困った node-gypはどこに対策版があるか分からず自分でちまちまファイル名を直した nanは本家リポジトリに対策版のブランチあり
92 名前:デフォルトの名無しさん mailto:sage [2015/01/14(水) 22:26:05.98 ID:knoTvZIn.net] io.jsのことね 後、Path追加するように指定してインストールしたつもりなのに何故か追加されてない
93 名前:デフォルトの名無しさん [2015/01/16(金) 14:43:45.88 ID:sXdFjxSo.net] nodejs、Javascriptに詳しくないけど。 基本が非同期ってのが面倒。 同期のJavascriptとは別物だ。 同期のソースコードに適合させたい。 これはどうやったら実現できますか。 downloadでの同期処理。 data = download("www.google.co.jp/" ); dataに対する処理;
94 名前:デフォルトの名無しさん [2015/01/16(金) 14:55:27.50 ID:sXdFjxSo.net] こんなふうにやっても待ちが出来ず。 url = "www.google.co.jp/"; data = download(url); console.log(data); function download(url) { data = undefined; request = require('superagent'); request.get(url) .end( function(resp){ data = resp.res.text; }); for(i=0; i<10 && data==undefined; i++) setTimeout(null, 500); return data; }
95 名前:デフォルトの名無しさん mailto:sage [2015/01/16(金) 15:07:39.68 ID:WEjV0wIz.net] 同期のJavascriptってレアだな generatorで擬似的にやるかasync/awaitを待て
96 名前:デフォルトの名無しさん [2015/01/16(金) 17:26:44.61 ID:x/KvFbcS
] [ここ壊れてます]
97 名前:.net mailto: >>90 こんなんでいいんじゃない? var httpsync = require('httpsync'); var url = "http://www.google.co.jp/"; var req = httpsync.get(url); var res = req.end(); var data = res.data.toString(); console.log(data); [] [ここ壊れてます]
98 名前:デフォルトの名無しさん mailto:sage [2015/01/16(金) 17:44:25.51 ID:TPIs3k36.net] JavaScriptで大量のリクエストを処理するなら 使うべきはメインスレッドをブロックする同期IOなんかじゃなくて 当然非同期IOだよな
99 名前:デフォルトの名無しさん [2015/01/16(金) 17:52:01.40 ID:+cZ2zonb.net] にわか
100 名前:デフォルトの名無しさん mailto:sage [2015/01/16(金) 20:23:30.77 ID:lUd0kLGp.net] 本家のネスケが最初に作ったサーバサイドjavascriptは同期でマルチスレッドだった
101 名前:デフォルトの名無しさん mailto:sage [2015/01/16(金) 22:01:52.67 ID:TPIs3k36.net] nodeの公式が同期とスレッドを使ったプログラムをこき下ろしてるぞ Thread-based networking is relatively inefficient and very difficult to use. とか nodejs.org/about/
102 名前:デフォルトの名無しさん mailto:sage [2015/01/16(金) 22:55:28.32 ID:gHXWvVDx.net] そりゃ最初のサーバサイドJSなんてほとんど20年前の代物だからw こんなのあるから暇なヤツは聞いてみれ(ES7ってことはasync/awaitだろうけど) https://player.fm/series/lately-in-javascript-podcast/asynchronous-javascript-without-callbacks-in-ecmascript-7-lately-in-javascript-podcast-episode-50
103 名前:デフォルトの名無しさん mailto:sage [2015/01/18(日) 09:56:30.56 ID:5wNJLYNH.net] promise使うといたらええんや
104 名前:デフォルトの名無しさん mailto:sage [2015/01/18(日) 17:21:38.41 ID:ckxewJLG.net] promiseじゃ同期っぽく書けない
105 名前:デフォルトの名無しさん mailto:sage [2015/01/18(日) 21:30:04.25 ID:ohcYLEp3.net] perlに帰ろう
106 名前:デフォルトの名無しさん mailto:sage [2015/01/19(月) 13:14:20.73 ID:KroxEeJe.net] StackOverFlowのスコアを上げとくと、何かいいことがあるかもしれない。 『【翻訳】多種多様な基準から見るプログラマの市場価値』 postd.cc/how-much-do-you-cost/
107 名前:デフォルトの名無しさん mailto:sage [2015/01/19(月) 15:04:48.09 ID:ys/y/3Zn.net] くだらねぇw
108 名前:デフォルトの名無しさん mailto:sage [2015/01/19(月) 15:22:29.17 ID:CuAQcBp8.net] 2chで質問スレの住民やって回答してます!(キリッ みたいな面接のネタAAがあったけど似たようなもんだな
109 名前:デフォルトの名無しさん mailto:sage [2015/01/19(月) 15:25:22.24 ID:KroxEeJe.net] 2ちゃんも回答者にポイントくれないかな
110 名前:デフォルトの名無しさん mailto:sage [2015/01/20(火) 11:00:22.26 ID:OQruBfwA.net] 非同期だとデバッグ大変じゃないかな。 ブレークポイントで止まってる間もsetIntervalは裏で動いちゃって、待ち行列が出来たりするでしょ。
111 名前:デフォルトの名無しさん mailto:sage [2015/01/20(火) 21:07:01.09 ID:GWZYH+JO.net] メーリングリストみたら0.11.15が出るらしいけど使われているv8がとても古い
112 名前:デフォルトの名無しさん mailto:sage [2015/01/21(水) 00:17:31.01 ID:n3ucrSzY.net] >>106 それもip.jsがフォークした理由の一つ
113 名前:デフォルトの名無しさん mailto:sage [2015/01/21(水) 00:17:39.27 ID:pMVsv6gb.net] >>106 それもip.jsがフォークした理由の一つ
114 名前:デフォルトの名無しさん mailto:sage [2015/01/21(水) 03:02:39.08 ID:1UCwofHM.net] >>106 それもip.ry(
115 名前:デフォルトの名無しさん mailto:sage [2015/01/21(水) 13:36:21.00 ID:W+aNuk6y.net] レスをフォーク
116 名前:デフォルトの名無しさん mailto:sage [2015/01/21(水) 17:08:05.52 ID:VHJhqEss.net] 何?また別のがフォークしたの?
117 名前:デフォルトの名無しさん mailto:sage [2015/01/21(水) 17:19:04.46 ID:PfvOP5lB.net] node-gypはio.js 1.0.3では動かないけどpangypは動作するらしい
118 名前:デフォルトの名無しさん mailto:age [2015/01/22(木) 21:04:56.44 ID:lh8u5jbd.net] lodash 3.0 リリース間近! https://github.com/lodash/lodash 3.0-preから-preが外れました! スレが多すぎてどこに書けばいいかわからないので 関連スレすべてにマルチポストしています。m(__)m
119 名前:デフォルトの名無しさん mailto:sage [2015/01/22(木) 21:47:19.08 ID:IMAN2WtB.net] Chrome 40(v8 3.30)のPromiseはハンドリングされてないrejectのデバッグがサポートされて>>59 で書いたようになった しかしio.js 1.0.3(v8 4.1)の組込デバッガは未対応
120 名前:デフォルトの名無しさん mailto:sage [2015/01/23(金) 12:41:14
] [ここ壊れてます]
121 名前:.68 ID:iNKYdZ74.net mailto: io.jsもvert.xのように一時期話題になるだけでnode.jsの代替にはならないよ [] [ここ壊れてます]
122 名前:デフォルトの名無しさん mailto:sage [2015/01/23(金) 16:47:56.23 ID:CFiT31YS.net] なんでvert.xが出てくるんだよ、全然別物じゃん node.jsとio.jsは名前とリポジトリが違うだけでコードも開発者もほぼ同じだぞ oracleの支配を嫌ってhudsonからフォークしたjenkinsに近い
123 名前:デフォルトの名無しさん mailto:sage [2015/01/23(金) 19:35:57.38 ID:Ztpp331L.net] 性能ではもうio.jsが圧勝みたいだよ。 あとv8のバージョンもnodeはまだ3.*なのにio.jsはもう4.*に上がってる。
124 名前:デフォルトの名無しさん mailto:sage [2015/01/23(金) 19:50:06.18 ID:raMd+kOH.net] ,,、、、,,,、,,z、,_,、、 ,r三ミミミヾヾミt,X(リミ、, ミニミリ" ゛ミ、"゛リ"ミミ、> 三ニ" ゛ミi ,、_ミ爪",,-____ ,,<、. i ト、ミミ ,r‐- 、``'ニ=‐、.彡リ. ヾ,iハ゛.´ _,,、_ i.; _,. ` 彡'i) `、j,' `゚''´:.ノ i::<・ゝ) .ハン !? i, ` ,、/ i_ `` ,r' ,r〃'i ,r'ヽ、 _,〉 /. /i:ト、;;i, ミ=_‐_-, 'i /ヽ__ r-‐'´i::::ハ;;ヾ、‐‐-、 ノ´/i:::'i`i‐- 、_ ::i' .l:i 'i::::i ヾ;;`‐---‐'i':/ i、 'i::! i::::i ` :i' i:| !:::l _,r.、;;;;;,r''´ヽi. ll::i i::i l:::'
125 名前:デフォルトの名無しさん mailto:sage [2015/01/23(金) 20:13:06.13 ID:CFiT31YS.net] つか性能差のほとんどはv8のバージョンの差だろ io.js = node.js 0.11 + v8 4.1 + より多くのバグ修正 使う側はnode.js 0.12の次のバージョンから名前がio.jsに変わるくらいの認識でいいんだよ
126 名前:デフォルトの名無しさん mailto:age [2015/01/23(金) 20:42:13.28 ID:YkgE7zny.net] 紛らわしいのは、io.jsは1.0といいながら 実態は0.10と0.11の間ぐらいなんだよな。 0.10よりかは機能が増えているかもしれないが、 0.11よりかは劣っているわけで。
127 名前:デフォルトの名無しさん mailto:sage [2015/01/23(金) 21:00:22.09 ID:CFiT31YS.net] >>120 そりゃ誤解 io.jsのv1.xブランチはnode.jsのv0.12ブランチから派生したものだ https://github.com/iojs/io.js/issues/218 io.js v1.0はnode.js v0.12と互換つってるしちょくちょくマージもされてる
128 名前:デフォルトの名無しさん mailto:sage [2015/01/23(金) 21:20:29.05 ID:YkgE7zny.net] v0.12はまだリリースされていないんだから、 v0.12より劣っているのは確かだな。
129 名前:デフォルトの名無しさん mailto:sage [2015/01/23(金) 21:58:14.56 ID:CFiT31YS.net] い み ふ 紛らわしいことがあるとするなら、io.jsはsemver採用で開発版と安定版を バージョンで区別できないことかな 今v1.0.3まで出てるがこれは全部開発版で、安定版はたとえばv1.0.15からみたいなことになる io.jsの安定版はおそらくnode.js v0.12が出た後にそれをマージしてからリリースされるだろう
130 名前:デフォルトの名無しさん mailto:sage [2015/01/23(金) 22:00:50.56 ID:gqb5Qh0S.net] ベンチマーク見たがたいして違いないしnodejsのままでいいや
131 名前:デフォルトの名無しさん mailto:sage [2015/01/23(金) 22:05:12.22 ID:YkgE7zny.net] >>123 semverだと、1.0が正式版なので、 0.12相当なのに1.0を名乗っているから 最初からおかしいんだよ。
132 名前:デフォルトの名無しさん mailto:sage [2015/01/23(金) 22:11:14.23 ID:4o3NBFe/.net] なんで1.0.0-betaとかじゃないんだろとかは思う
133 名前:デフォルトの名無しさん mailto:sage [2015/01/23(金) 22:15:52.01 ID:CFiT31YS.net] >>125 semverではpre-releaseはMUSTじゃなくてMAYだし、実装が不安定でもAPIを固定すれば1.0.0を名乗れるだろ どこがおかしい?
134 名前:デフォルトの名無しさん mailto:sage [2015/01/23(金) 22:17:49.38 ID:CFiT31YS.net] "-beta"がpre-releaseの部分な
135 名前:デフォルトの名無しさん mailto:sage [2015/01/23(金) 22:28:31.93 ID:So6YQ3Pc.net] そんな事ないうんどろの差だよ
136 名前:デフォルトの名無しさん mailto:sage [2015/01/23(金) 22:43:16.31 ID:YkgE7zny.net] >>127 だからMAYだろ? MAYとはいえ、決まっているわけで、 その決まってることを意味なく破るのはなぁ。
137 名前:デフォルトの名無しさん mailto:sage [2015/01/23(金) 22:57:18.12 ID:So6YQ3Pc.net] こんなに広く使われているのに何でずっとバージョン0.xなんだYO
138 名前:デフォルトの名無しさん mailto:sage [2015/01/23(金) 23:02:13.80 ID:CFiT31YS.net] >>130 付けてもいい (MAY) 付けるべき (SHOULD) 付けなくてはならない (MUST) 付けてはならない (MUST NOT) MAYなんだから付けなくて何の問題もないし、何も破ってない だいたいsemverの主目的はAPIの互換性を示すもので実装の安定性を示すものではない
139 名前:デフォルトの名無しさん mailto:sage [2015/01/23(金) 23:22:59.99 ID:CFiT31YS.net] >>131 安定するより早く広まってしまった 元々v0.12の次の安定版がv1.0になると言われてたんだがv0.12が出ないうちにgruntなんかが出てきちゃったから…
140 名前:デフォルトの名無しさん mailto:sage [2015/01/23(金) 23:30:41.62 ID:OPE+Wqmb.net] 安定する前に分裂とかw
141 名前:デフォルトの名無しさん mailto:sage [2015/01/23(金) 23:32:29.92 ID:t01wISfr.net] 結局のところ、io.jsは安定してないのに、 1.0を名乗っているわけで。
142 名前:デフォルトの名無しさん mailto:sage [2015/01/23(金) 23:41:14.77 ID:CFiT31YS.net] だから、io.js v1.0はAPIを固定したという決意表明なのよ、semver的に 実装の安定ではなく この辺はsemver自体が広く理解されないと紛らわしいよね
143 名前:デフォルトの名無しさん mailto:sage [2015/01/23(金) 23:44:10.78 ID:XIEI9xsC.net] いや、だから本家がAPIを固定してないから 0.xという名前なわけで、なぜAPIを固定してないかというと そこにまだ変えるべき問題があるからなわけで。 変えるべき問題があるのに、1.0を表明しているからダメだって言ってるんだよ。 これが後々、悪いAPIだけど変えるに変えられない状態を生み出してしまう。
144 名前:デフォルトの名無しさん mailto:sage [2015/01/23(金) 23:57:49.08 ID:CFiT31YS.net] よくわからんな ・node.jsはsemverではないので0.xだからといってAPIを固定してないとは言えない ・node.js v0.11はすでにv0.12のRCであり、この系においてはAPIは固定されたとみなせる ・io.jsはAPIを変えたければv1.1.x、v2.0.0などにバージョンアップすればいい (すでにv1.1向けのPRも存在する) 何か問題が?
145 名前:デフォルトの名無しさん mailto:sage [2015/01/24(土) 00:05:56.67 ID:erhfYoBY.net] io.jsはAPIが固定されてなく、 同じくAPIが固定されてないnodeのバージョンアップに 追尾することで、APIが変更になる。 つまりio.jsはこれから互換性がないバージョンアップを 短期間に繰り返すことになり 今使うべきじゃないプロダクトだねって話になる。
146 名前:デフォルトの名無しさん mailto:sage [2015/01/24(土) 12:14:35.97 ID:WI6RO/N+.net] OH "io.js is a way better name than node.js" --Ryan Dahl. #forreal https://twitter.com/mikeal/status/558787202919186432
147 名前:デフォルトの名無しさん mailto:sage [2015/01/24(土) 12:24:15.12 ID:H0FHHZ5/.net] どうせタイプ数が少ないからとか言う、そういジョークだろうなw
148 名前:デフォルトの名無しさん mailto:sage [2015/01/24(土) 12:25:38.81 ID:XGtAEOPl.net] 検索する側からしたら迷惑な名前
149 名前:デフォルトの名無しさん mailto:sage [2015/01/24(土) 13:39:24.09 ID:XGGvY8P/.net] io.jsも最初はsocket.io.jsがヒットしたりioとjsが含まれる関係ないサイトがヒットしたりして検索しにくかったけど 今はio.jsで検索しやすくなったし ググラビリティー(検索しやすさ)の問題は知名度で改善する面もあると思う 何しろ線を意味する一般名詞が多大な知名度のおかげでIMサービスの名称としてググラビリティーをほとんど損なわずに成り立ってるわけだし
150 名前:デフォルトの名無しさん mailto:sage [2015/01/24(土) 15:35:38.09 ID:WI6RO/N+.net] 念のため書いておくと、>>140 のポイントは語ったのがnode.jsの作者で命名者でもあるRyan Dahlってとこな 消息不明みたいなものだったから「ライアン生きてたっ!」とまずは喜ぶべき
151 名前:デフォルトの名無しさん mailto:sage [2015/01/25(日) 01:55:03.33 ID:U9S0+Ro3.net] ググラビリティーw 変な和製英語作んなよw
152 名前:デフォルトの名無しさん [2015/01/25(日) 02:15:42.11 ID:ychJN5mu.net] googleability Likelihood of being found by an internet search engine, especially Google's. googleability - Wiktionary
153 名前:デフォルトの名無しさん mailto:sage [2015/01/25(日) 07:01:16.08 ID:TpaFIK4z.net] プログラミング言語の Processing なんか、 Proce55ing で検索する
154 名前:デフォルトの名無しさん mailto:sage [2015/01/25(日) 10:19:17.73 ID:uEAYYO/U.net] 知名度ではnode.jsのほうが上だし!
155 名前:デフォルトの名無しさん [2015/01/25(日) 10:25:24.56 ID:JhgO84F7.net] io.jsは 10.jsで検索しろとでも?
156 名前:デフォルトの名無しさん mailto:sage [2015/01/25(日) 17:48:20.48 ID:U9S0+Ro3.net] お前らググラビリティ低いなw io.js だけでなくて v8とかforkとかbranchとか組み合わせて検索すればいいだよw
157 名前:デフォルトの名無しさん mailto:sage [2015/01/25(日) 18:00:06.11 ID:GYzk0joc.net] 別にフォークしたって記事を探したいわけじゃない
158 名前:デフォルトの名無しさん mailto:sage [2015/01/25(日) 18:15:28.52 ID:3aXiO/4E.net] どうせio.jsなんて消えるよ