トップページtech
1002コメント339KB

【node.js】サーバサイドjavascript 3【io.js】©5ch.net

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん 転載ダメ©2ch.net2014/12/27(土) 18:40:07.70ID:MwQYLNUR
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 2【Rhino】
http://peace.2ch.net/test/read.cgi/tech/1358937029/
【node.js】サーバサイドjavascript【Rhino】
http://toro.2ch.net/test/read.cgi/tech/1310087535/
0222デフォルトの名無しさん2015/02/16(月) 11:24:49.99ID:/Le2iIgb
expressのtemplateライブラリって何のためにあるの?
あんなもの使うなら、phpで書いた方がマシ
0223デフォルトの名無しさん2015/02/16(月) 11:30:57.54ID:Zud42+NA
時代はkoaですよ
0224デフォルトの名無しさん2015/02/16(月) 14:21:03.22ID:aOc1RZqa
>>221
☓フォーク
◯スポーク
0225デフォルトの名無しさん2015/02/16(月) 16:28:15.03ID:VsTkNRzh
>>222
Angularかbackboneで表示するから、あまり使わない
0226デフォルトの名無しさん2015/02/16(月) 18:28:01.85ID:NxVOoQZu
この先もずっとioが必要かは分からないが、
今年来年くらいはまさにhttp2やES.next対応やらの需要がピークなわけで、ioには頑張ってもらいたい。
0227デフォルトの名無しさん2015/02/16(月) 19:05:20.84ID:PwN9qruY
joyent/node@v0.12 2月に入ってからの半月で17コミット
iojs/io.js@v1.x 2月に入ってからの半月で100コミット

どうして差がついた。慢心、環境の違い…
0228デフォルトの名無しさん2015/02/16(月) 21:03:23.43ID:/Le2iIgb
本家が安定版だからだろ。io.jsなんて犬も喰わない
0229デフォルトの名無しさん2015/02/16(月) 21:30:02.79ID:4Cxg/4AS
>>223
koaはio.jsではそのまま使えるけど、node.jsで使うにはオプションが必要だからその人には、ねw
0230デフォルトの名無しさん2015/02/16(月) 21:46:32.47ID:nT8bWWvG
koaも過渡期の産物で本来は基本モジュールが全部Promiseを返すようになって、
ES7のawait/asyncが使えるようになれば最高。
0231デフォルトの名無しさん2015/02/19(木) 07:20:14.54ID:owmyBdJ4
Open GovernanceなTechnical Committeeって、Node Foundationはio.jsを丸ごと受け入れるっつか本丸明け渡す体制だな
TrademarkもFoundation Boardに移るようだし、Joyent完敗やん
io.jsの実体とNode.jsの名前が残るベストな結末になりそうでいいことだけどな
0232デフォルトの名無しさん2015/02/21(土) 16:33:40.41ID:nvbkyqD5
https://github.com/tmpvar/jsdom/blob/master/README.md
Note that as of our 4.0.0 release, jsdom no longer works with Node.js, and instead requires io.js.
You are still welcome to install a release inthe 3.x seriesif you are stuck on legacy technology like Node.js.
0233デフォルトの名無しさん2015/02/21(土) 16:55:40.13ID:aIEWJefX
> legacy technology like Node.js
0234デフォルトの名無しさん2015/02/21(土) 18:34:56.63ID:VFEr1UXm
node.jsとio.jsはテクノロジー的には
同じだと思うけどね。フォークしたんだからw
0235デフォルトの名無しさん2015/02/21(土) 19:28:10.58ID:qY4oi0dn
どこまで行ってもベースのテクノロジーは同じだろうが
ひょっとすると表面のAPIがガラッと変わっていくかもしれないし
0236デフォルトの名無しさん2015/02/22(日) 00:36:09.60ID:KOnDqQsn
>>234
それはSafariとChromeは同じだと言っているようなものでは
0237デフォルトの名無しさん2015/02/22(日) 00:49:58.38ID:XwM2xAPU
Io.jsって、node.jsのリーダーが独裁的だったから反発して分裂したらしいな
リーダーって誰だよw
こいつの社会的評価は急転直下なんだろうなw
0238デフォルトの名無しさん2015/02/22(日) 00:58:59.80ID:GaZASibZ
>>237
Timothy J Fontaine
0239デフォルトの名無しさん2015/02/22(日) 04:01:31.72ID:Y5TRxyoj
よいリーダーというのは独裁的であるべきだよ。
それで大成功しているプロジェクトもたくさんある。
問題は開発が停滞したことでしょ。
0240デフォルトの名無しさん2015/02/22(日) 07:47:28.44ID:uX3Bvmht
同意します
0241デフォルトの名無しさん2015/02/22(日) 09:25:14.34ID:c6XeXodQ
iojsで実験的、先進的な機能を実装→nodejsにフィードバックという流れができれば。
0242デフォルトの名無しさん2015/02/22(日) 10:27:15.33ID:2O4bEH+I
>>241
と、期待していたのに全然ダメとわかったから離れだしてるんだろ
0243デフォルトの名無しさん2015/02/22(日) 13:25:28.41ID:AaKxOohj
Fedora rawhideとCentOSみたいな関係でいいよ。
0244デフォルトの名無しさん2015/02/22(日) 16:26:15.71ID:6wlRzF4X
>>239
独裁者が独裁で主要開発者を排除して開発が滞ったんだろ
0245デフォルトの名無しさん2015/02/22(日) 16:39:58.16ID:fXacNSCG
>>244
ソースは?
0246デフォルトの名無しさん2015/02/22(日) 17:09:30.64ID:aGLKDFhg
おいおい、この文脈でそれを言うのは、全く面白くないジョークだぜ
0247デフォルトの名無しさん2015/02/22(日) 17:25:25.34ID:G9MatKu0
リポジトリからpullして名前とバージョン番号だけ変えるようになったら笑える、
いや笑えない
0248デフォルトの名無しさん2015/02/22(日) 21:58:31.41ID:NwE09bSL
nodejsがマルチコアに対応するのはいつになるのかね
0249デフォルトの名無しさん2015/02/22(日) 22:01:34.15ID:gyQTJZTB
だいぶ前に放棄されたからもうしないんじゃね
0250デフォルトの名無しさん2015/02/22(日) 22:36:09.88ID:EzG81a2V
WebWorkerを使って自分でする
0251デフォルトの名無しさん2015/02/23(月) 04:55:07.03ID:m2dP1v8u
何をもってマルチコア対応と言ってるんだ?
Nodeの内部は当然昔からマルチスレッドで動いているんだが。
結局表面のJS部分でスレッドが使いたいという話だろう?
0252デフォルトの名無しさん2015/02/23(月) 08:47:48.40ID:AjFb9vvE
おわこん
0253デフォルトの名無しさん2015/02/24(火) 12:13:29.58ID:lFZ8d0+y
Nodeがオワコンかどうかは知らないが、完成形とは程遠いのは分かる。
そういう意味ではサーバサイドJS環境は始まってすらいない。
0254デフォルトの名無しさん2015/02/24(火) 12:21:24.19ID:uzE+eLOu
実りの時期を待たずに刈り取ろうとしたのかw
0255デフォルトの名無しさん2015/02/24(火) 21:15:50.52ID:iBIsMnSZ
>>245
ben noordhoisが辞めた時に一悶着あったらしい
ソースは検索してみて
0256デフォルトの名無しさん2015/02/24(火) 22:11:01.64ID:1VU0JeeK
>>255
いい加減なこと書くんじゃねーよ糞が
そん時のリーダーは今の人とは別人でio.jsで仲良くやってんだよ
0257デフォルトの名無しさん2015/02/25(水) 09:43:31.95ID:oiOKwPPk
>>254
ま、創始者が作りそしてぶっ壊しちゃったね。
馬鹿な創始者だなって思う。

結局サーバサイドJavaScriptはこうして歴史を閉じるわけだ。
せっかく一つの分野を開拓したのにね。

かといって、io.jsがメジャーになることはない。
0258デフォルトの名無しさん2015/02/25(水) 10:00:13.24ID:nKN7f0Au
間違った進化は淘汰される
0259デフォルトの名無しさん2015/02/25(水) 10:31:04.99ID:2phC3Ctb
どうせ統合されるから
0260デフォルトの名無しさん2015/02/25(水) 12:38:07.65ID:jNJiSOpZ
などと言われて本当に消えてものはない。
0261デフォルトの名無しさん2015/02/25(水) 14:34:24.52ID:Ehdl7vHZ
日本語でおけ
0262デフォルトの名無しさん2015/02/25(水) 16:48:47.89ID:+Rnlx2S3
まあJavaScriptが終わるかどうかは分からないが、
ES6,7,8...の予定を見てると飛躍的に進化するなと感じるし、
SaneScript構想なんかを見ると、今までのJSとは違うなって思う。
0263デフォルトの名無しさん2015/02/25(水) 16:53:58.84ID:nEs08NKh
TimeZoneを識別子で設定できるようにならないから
あとサマータイムの考慮できるようにしてほしい
そういうライブラリでもいいんだけど
0264デフォルトの名無しさん2015/02/25(水) 17:39:52.92ID:+Rnlx2S3
それはDateクラスで何とかすべき問題ではなくて?
0265デフォルトの名無しさん2015/02/25(水) 18:19:49.08ID:DZ2Kp+uW
定番のmoment.js
0266デフォルトの名無しさん2015/02/25(水) 21:40:39.31ID:DZbi2c77
>>257
みたいにio.jsを目の敵にしてる知恵遅れのキチガイは何なん?
もうio.js様大勝利確定でjoyentは三顧の礼でもってio.js様を迎え入れようとしてるのに
0267デフォルトの名無しさん2015/02/25(水) 22:05:00.23ID:Ehdl7vHZ
はぁ?"node"という商標使いたさに頭下げてjoyentに軍門してるのに?
0268デフォルトの名無しさん2015/02/25(水) 22:29:37.76ID:DZbi2c77
商標もnode foundationに移すじゃん
io.js様に出ていかれたままじゃ商標の価値そのものが無くなるからjoyent必死だな
0269デフォルトの名無しさん2015/02/25(水) 23:51:14.72ID:1ACQe7ag
社員以外の開発者に出ていかれて泣く泣く商標もガバナンスも手放してNode Foundationへの合流を望むJoyent
合流するかどうかはオープンに議論する余裕のio.js
どうして差がついたのか…慢心、環境の違い
0270デフォルトの名無しさん2015/02/26(木) 07:46:40.66ID:cUPSHxGd
軍門に降る
な!
0271デフォルトの名無しさん2015/02/26(木) 12:11:00.71ID:U9UNhVzT
「軍門してる」って、io.jsに親を殺された池沼は日本人じゃなかったのかw
0272デフォルトの名無しさん2015/02/26(木) 13:49:08.91ID:ScTUDd1D
nodejsとsocket.ioで掲示板を作ろうと思うんですけど
1000人がページを開きっぱなしにするとwebsocketで接続しっぱなしってことでリソースを食いつぶしちゃいますか?
0273デフォルトの名無しさん2015/02/26(木) 14:06:06.69ID:s5JPbxDv
サーバーの性能による。
0274デフォルトの名無しさん2015/02/26(木) 14:06:13.89ID:32CLcP5C
>>272
タイムアウト時間決めて無通信状態が続けば切っちまえ

えっと、何ていうんだっけそういうの?KeepAlive?
0275デフォルトの名無しさん2015/02/26(木) 14:25:31.10ID:CEv9YCvj
>>272
接続だけならどってことない
接続ごとに持つ情報も掲示板で1000程度なら問題にならん
仮に1接続あたり10KBも持ったとして、それでも1000接続でたったの10MBだ
0276デフォルトの名無しさん2015/02/26(木) 14:57:29.64ID:32CLcP5C
一人が更新しても残り全員にメッセージを送らないといけない
クライアントから新着を一定間隔でポーリングするのか
サーバーから全接続にpushするのか知らんけど

ROMの人だと本当に見てるかどうか判別できないな

ダイアログだして延長するかどうか尋ねるとか?

まあ仲間内だけのサービスなら開きっぱでも問題ないだろうけど
0277デフォルトの名無しさん2015/02/26(木) 15:16:48.44ID:0na4n84n
通常の範囲で使われている限りは何の心配もすることはないよ。
問題はWebSocketはblobも送れるし、容量制限が実質ないこと。
本来容量で弾かないといけないけど、受信しきってからイベントが発生するタイプだと厳しい。
また、文字列前提で、blobが送られた時エラーで落ちるってのはよくハマること。
open2chのチャットも当初そのバグが有った。
0278デフォルトの名無しさん2015/02/26(木) 15:21:05.50ID:ScTUDd1D
そこまで考えてなかったけど勉強になりました
0279デフォルトの名無しさん2015/02/27(金) 17:24:48.62ID:mT46lxBT
nodeからmongodbを操作するmongooseの解説書に
プロセス終了時にコネクションを切断する以下のようなコードが紹介されているのですが

process.on('SIGINT', function() {
mongoose.connection.close(function () {
console.log('Mongoose disconnected through app termination');
process.exit(0);
});
});

プロセスが終わったらコネクションは明示的に切断処理をしなくても切断されるのではないかと
思うのですが、違うのでしょうか?
0280デフォルトの名無しさん2015/02/27(金) 17:42:45.47ID:iNaIMmLv
自動で〜と言う部分は保証されていない限り、どの言語でも終了処理は自分でした方が良い
0281デフォルトの名無しさん2015/02/27(金) 18:19:57.68ID:mT46lxBT
なるほど、そういうものですか
ありがとうございました
0282デフォルトの名無しさん2015/02/27(金) 20:08:17.57ID:/TZ2R5Zj
>>279
PCで言うとシャットダウンしないでいきなり電源切るような使い方で良いなら好きにすれば
0283デフォルトの名無しさん2015/02/27(金) 22:12:30.41ID:j2kMYDr9
普通はそれで全く問題ないが、mongoは散々DB破壊問題を起こしてきたから特に信用出来ない。
0284デフォルトの名無しさん2015/02/27(金) 22:38:17.82ID:bN3T6fIh
>>251
JSが動くのはメインスレッドだけで、他のスレッドは主にブロッキングI/Oするだけだから1プロセスじゃマルチコア使えない
0285デフォルトの名無しさん2015/02/27(金) 22:59:38.23ID:X8PXZoo1
>>283
sqliteといい、ext4といい、出始めは安定しないものだけど
こいつがもんだい起こしてるとは知らなんだ
安定は、まだ先そう?
0286デフォルトの名無しさん2015/02/27(金) 23:06:55.04ID:bN3T6fIh
俺はそもそもMongoを使う気がしない
使うやつの気が知れない
0287デフォルトの名無しさん2015/02/28(土) 01:09:34.76ID:6Lhyreb3
>>284
使えないというのではなく、活かしきれないと書いたほうがいいと思う。
libuvは一応マルチコア使ってくるはず。
0288デフォルトの名無しさん2015/02/28(土) 01:24:12.76ID:wlw7vunX
>>287
だからfsモジュールとかブロッキングI/Oで寝てるだけなんだからCPU使わないんだって
zlibを並行で使い続けるような特殊なアプリでもない限りな
0289デフォルトの名無しさん2015/02/28(土) 10:49:07.17ID:VNSN4Y6t
>>283
node.jsは信用に値するのか?
0290デフォルトの名無しさん2015/02/28(土) 11:04:22.33ID:1nuig21R
OOPLなのに+で文字列結合とか無いわー。
集合型と互換性なくなるじゃん。

"集合型と文字列型が互換性を持っているSmalltalkの例"
| value |

"加算"
value := #( 1 2 ) + 1. "-> #( 2 3 )"
value := 'AB' + ( $a - $A ). "-> ab"

"結合"
value := #( 1 2 ) , #( 3 ). "-> #( 1
2 3 )"
value := 'example', 10 printString. "-> example10"

"備考:書式付き文字列結合"
value := 'example%1' % { 10 }. "-> example10"
0291デフォルトの名無しさん2015/02/28(土) 11:11:31.60ID:0J8+8Slx
>>290
スモールマウス。ちがったトーク。うざいよ?
0292デフォルトの名無しさん2015/02/28(土) 11:21:25.01ID:jV2hL0tG
>>289
ウォルマートみたいな大企業が使っているんでしょ?

マルチコア活かしたいなら子プロセスやJavaScriptのスレッドを作るアドオン、JXCoreがあるだろ

今のJavaScriptはスレッド間でオブジェクトを共有できないから他の言語と比べたらマルチコアを活かす処理は書きづらいかもしれない

JavaScriptじゃ無理そうな時はuv_queue_workを使って特定の処理をするアドオンを書いたら良いんじゃないか
0293デフォルトの名無しさん2015/02/28(土) 11:52:53.89ID:JYQdrmRY
Meteorって、おいしいの?
以前とは比較にならないぐらい、サイトデザインが垢抜けてるんだけど
0294デフォルトの名無しさん2015/02/28(土) 12:38:32.61ID:VNSN4Y6t
>>292
試験的にちょこっと使ってるのかと思ったら、フロントエンドで使ってるんだね。
日本だとうまく動かなかった場合に言いだしっぺの全面的な責任になるので使うのを躊躇する。
うまく動いた場合は上司の手柄になるしな。
0295デフォルトの名無しさん2015/02/28(土) 12:40:46.18ID:VNSN4Y6t
というか、ゼネコン構造の日本のIT業界だと提案しても通らないべ。
日本で使ってるのは自社開発してるところしか使ってないのでは?
0296デフォルトの名無しさん2015/02/28(土) 12:50:19.54ID:MySCamNG
ほんそれ
0297デフォルトの名無しさん2015/02/28(土) 13:22:00.23ID:nHe/WRfo
海外じゃ他にPaypal、LinkedIn、Yahooと大手の事例も多い
日本ではソーシャルゲームばっか
0298デフォルトの名無しさん2015/02/28(土) 13:59:47.82ID:VNSN4Y6t
海外大手はソフト内製、日本はアウトソーシングばかりだから。
でも、海外企業は朝出社したら、「今日からキミは首だから、もう帰って良いよ」って事が普通にある。
0299デフォルトの名無しさん2015/02/28(土) 16:49:38.15ID:NypSTCLe
「node.js 国内事例」でggrと最初に出てきた記事(の連載目次、引っかかったのは第3回)だがリクルートは内製?
http://www.atmarkit.co.jp/ait/kw/pushinfra.html

ソシャゲ以外の他の事例が見つからね
0300デフォルトの名無しさん2015/02/28(土) 19:02:43.87ID:k8knI5Pe
>>256
いや、その時の実質的なリーダーは今のリーダーだぞ
0301デフォルトの名無しさん2015/02/28(土) 20:01:28.97ID:EjJ9Wqcd
>>300
お前、何の話してるかわかってないだろ
>>237 >>238 >>239 >>244 >>245 >>255 >>256を続けて読んでみろ
誰が「実質的なリーダー」かなんて話はしてねーんだよ

Ben Noordhuisが去ったのは2013/12/01だ
https://github.com/joyent/libuv/pull/1015#issuecomment-29568172

Ben Noordhuisがクローズしたこのプルリクエストをマージして衝突したのは IsaacZ. Schlueterで、彼が当時のNode.jsのリーダーだ
https://github.com/joyent/libuv/pull/1015#issuecomment-29542508

Timothy J Fontaineはこの件に参加してないし、Node.jsのリーダーになったのは1ヶ月半後の2014/01/15だ
http://blog.nodejs.org/2014/01/15/the-next-phase-of-node-js/

その前からリリース作業を担当していても、Timothy J Fontaineは>>237>>244に該当しねーんだよ

死んどけ糞野郎が
0302デフォルトの名無しさん2015/03/01(日) 00:09:21.16ID:/9/0Furz
Joyentが糞なのは間違いない
0303デフォルトの名無しさん2015/03/01(日) 07:59:49.26ID:yqpW0lF8
実際、BenのことをAssholeだの解雇するだの言ったのは
joyentのCTOのBryanだな
TJは無罪かもしれないが、joyentが高圧的だってことは間違いない
主要開発者が去ってnodeの開発が停滞し大きな要因だろう
0304デフォルトの名無しさん2015/03/01(日) 12:41:10.14ID:P8lkcWMS
Mongoの代替データベースってなに?
0305デフォルトの名無しさん2015/03/01(日) 12:55:39.05ID:U9v779n7
>>304
PostgreSQL のhstoreかjson
0306デフォルトの名無しさん2015/03/01(日) 21:54:53.86ID:kPgt2Stx
>>303
StrongLoopもブログで「Benが学習できなければ首にする」と書いたがBenはStrongLoopをやめてない
https://strongloop.com/strongblog/collaboration-not-derision-in-the-node-community/

BenがNode.jsから抜けたのは差別問題ではなくIsaacを信頼できなくなったからだ
https://groups.google.com/d/msg/nodejs/ipnv3VCDwVk/5WvtUfrUE3EJ

それはBenの誤解でIsaacに謝罪した
https://groups.google.com/d/msg/nodejs/ipnv3VCDwVk/Y24y4VLdwZwJ

勝手な妄想で悪役を作るな
0307デフォルトの名無しさん2015/03/04(水) 14:27:17.88ID:43dd3cus
Joyentが白旗を上げた: Node.jsは新しい基金の手に
http://readwrite.jp/archives/20489

酷く煽ったタイトルだがそういうことだな
io.jsアンチ惨めだな
0308デフォルトの名無しさん2015/03/04(水) 14:42:23.32ID:aiebJTF+
ん?つまり元に戻るって事?
0309デフォルトの名無しさん2015/03/04(水) 15:53:28.53ID:bYHomauY
nodeは2つに分ける意味ないもんね
分裂後、双方が独立して発展して行っていると言うわけでもなし
0310デフォルトの名無しさん2015/03/04(水) 16:26:44.89ID:g/arT6Ck
>>309
io.jsは名前が悪いから普及しない

検索エンジンだと弾かれる。短すぎてね。
0311デフォルトの名無しさん2015/03/04(水) 16:29:26.43ID:1ms42xKS
うむ
0312デフォルトの名無しさん2015/03/04(水) 17:15:15.60ID:FSCcQqIJ
たまにはGoの事も思い出してあげてください
0313デフォルトの名無しさん2015/03/04(水) 18:21:35.51ID:x4QEPSD1
golang
0314デフォルトの名無しさん2015/03/04(水) 21:22:04.53ID:g/89t28n
碁のことも思い出してgolang?
0315デフォルトの名無しさん2015/03/04(水) 23:17:53.77ID:/uWWye7B
>>306
それらの記事のどれも>>303を否定していないが?
0316デフォルトの名無しさん2015/03/04(水) 23:50:21.81ID:zaclao0G
>>315
>>303の最後の行が他の3行と無関係ならそうかもしれないが、そう読むのは無理だろ
まともに読めば>>303は「joyentが高圧的」*だったから*「主要開発者が去ってnodeの開発が停滞」したという主張だろ
>>306はそれ(>>303の始め3行と最後の1行の関係)を否定してる
0317デフォルトの名無しさん2015/03/09(月) 05:15:12.24ID:4qTfBSJC
このスレではmongodbが不評ですが何故ですか?
0318デフォルトの名無しさん2015/03/09(月) 07:23:43.18ID:hyKOVbRp
何故ですよ
0319デフォルトの名無しさん2015/03/09(月) 08:12:36.37ID:p+uKF6zv
>>317
XMLDBがなぜ廃れたのか?
それがわかればその質問はない。
0320デフォルトの名無しさん2015/03/09(月) 12:39:00.03ID:ZAAfweG2
あれは遅いからだと思ってた
0321デフォルトの名無しさん2015/03/09(月) 14:15:14.49ID:naJkLlvi
XMLDBの事情なんかMongoよりもっと知らんだろ
XMLDBが廃れたって言われるほど普及したのかさえ知らんわ
■ このスレッドは過去ログ倉庫に格納されています