トップページ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/
0184デフォルトの名無しさん2015/02/03(火) 13:37:47.07ID:bKWRqprR
ECMAScriptの仕様、日本語のページあったっけ?
0185デフォルトの名無しさん2015/02/03(火) 14:57:57.67ID:sb7Xm3EE
仕様を解説した日本語の本はあるな
es5.1だけど
0186デフォルトの名無しさん2015/02/04(水) 00:42:12.82ID:tLBZ133A
本気で普及させたいんならまず日本語情報を充実させないとな。
0187デフォルトの名無しさん2015/02/04(水) 00:59:24.80ID:lvAh45WM
もう十分普及してるし日本語の情報も溢れてる
0188デフォルトの名無しさん2015/02/04(水) 04:48:55.89ID:lvAh45WM
atomがnode.jsからio.jsへ移行した
0189デフォルトの名無しさん2015/02/04(水) 17:31:16.72ID:tLBZ133A
>>187
いやいやio.jsとnodeのごたごたの経緯なんて
日本語だとろくにわからないし、io.js1.0の情報なんて
とても「日本語の情報が溢れてる」という状況じゃない。
0190デフォルトの名無しさん2015/02/04(水) 19:17:53.08ID:8Sw6mo5N
とりあえずio.jsがnodejsのどのバージョンに当たるのかだけ教えて
あとさ、今後io.jsはnodejsをフォークしながら開発されていくのかもおしえて
0191デフォルトの名無しさん2015/02/05(木) 00:13:15.88ID:PK7PKopP
>>189
そんな経緯なんか普及とは関係ねぇよ
ほとんどの利用者はgruntやgulpのインストール手順がio.jsに書き変わればio.jsを使う
開発者はes6が使いたければio.jsを使う

>>190
v0.12をベースにv8を新しくしたのがio.js
0192デフォルトの名無しさん2015/02/05(木) 16:02:37.70ID:LnAyM1GB
nodejsっていつ0.12が安定版になりますか?
いまってまだ0.10が安定版だから次の安定版が0.11ってことですよね
0193デフォルトの名無しさん2015/02/05(木) 17:09:40.11ID:K2HEETXR
v0.11は開発版でv0.12が次の安定版
年末にv0.11.15が出た後2週間でv0.12.0の予定だったがずるずる延びて、v0.11.16が出てv0.11.17が出る可能性もある
この遅さ、思い切りの悪さもフォークの原因の一つだろうな
来週のnode summitで動きがあるかどうか
0194デフォルトの名無しさん2015/02/07(土) 07:44:46.25ID:5t2FMmDd
node.js v0.12.0リリース
http://blog.nodejs.org/2015/02/06/node-v0-12-0-stable/
0195デフォルトの名無しさん2015/02/07(土) 10:35:03.64ID:ki0qNqzN
iojsに煽られてあわててリリースしたというふいんきだな。
0196デフォルトの名無しさん2015/02/07(土) 11:04:42.08ID:WcRlxtVS
つまりio.jsは噛ませ犬だったってことかw
0197デフォルトの名無しさん2015/02/07(土) 11:19:00.08ID:Hof4fFat
競争相手がいないと組織は腐る
0198デフォルトの名無しさん2015/02/07(土) 11:57:48.22ID:C2mSGeUj
0.12でharmonyオプションとりはずせるけど
0.11以下でも動かすかもしれないからharmonyつけたままにしたいんだけど
0.12でharmony付けるとどうなる?
0199デフォルトの名無しさん2015/02/07(土) 12:27:12.88ID:nPDceh1h
出世して彼女ができて宝くじがあたります
0200デフォルトの名無しさん2015/02/09(月) 10:59:40.44ID:fZtNVB1v
>>199は簡単にオレオレ詐欺にダマされるタイプ
0201デフォルトの名無しさん2015/02/09(月) 11:03:16.64ID:iJdyGTL3
Microsoft、オープンソースの.NET実行エンジン「CoreCLR」を公開 | スラッシュドット・ジャパン オープンソース
http://opensource.slashdot.jp/story/15/02/08/0721252/
0202デフォルトの名無しさん2015/02/11(水) 21:21:51.49ID:z1YCt8TB
>>198
Node0.12は知らんがV8最前線は少し前からharmonyでは全機能が有効にならなくなった。
有効にするには個別のフラグを指定する必要がある。
0203デフォルトの名無しさん2015/02/11(水) 21:27:51.17ID:eikfP7K0
0.12でもharmonyつけないとfunction *(){}が使えなかった
0204デフォルトの名無しさん2015/02/12(木) 03:47:37.63ID:a2m4i3WK
ttp://www.nodebeginner.org/index-jp.html#finding-a-place-for-our-server-module
今さっきnodejs入れてこのビギナーズブックを見てるんだけど
ブロッキング項目で例がsleepもどきから途中でchild_process.execへ変わってるのは
sleepもどきのままでノンブロッキングは無理又は難しいからって認識で合ってる?
0205デフォルトの名無しさん2015/02/12(木) 05:07:15.11ID:o6kZdkkY
違う
sleepは値(結果)を産み出さないから間違ってても気づかない
だからlsコマンドの実行に変えた
そしてlsの結果じゃなく"empty"って表示されて「あれ?」と思わせるというシナリオ
0206デフォルトの名無しさん2015/02/12(木) 14:42:11.34ID:fUzWkr8T
Joyentが「Node.js Foundation」設立を発表。IBM、Microsoft、PayPal、Fidelityなどが創立メンバーに
http://www.publickey1.jp/blog/15/joyentnodejs_foundationibmmicrosoftpaypalfidelity.html
0207デフォルトの名無しさん2015/02/12(木) 14:42:56.16ID:x5e0tI8J
io.jsに未来なんてねえんだよ
0208デフォルトの名無しさん2015/02/12(木) 14:44:27.12ID:NmXHf2UC
そうかな
本家争いで joyent は焦ってるように見える
0209デフォルトの名無しさん2015/02/12(木) 15:10:12.32ID:ThCWUpsh
2015年の活発さはforkのたまもの。ユーザメリットも多いんだからiojs歓迎だよ。
0210デフォルトの名無しさん2015/02/12(木) 15:58:57.74ID:a2m4i3WK
>>205
レスさんくす
項目の目的が非同期でまず躓く失敗を体験させることなのはわかった

そして申し訳ないけど寝ぼけ眼で書いたせいか質問文がおかしかった
sleepもどきのような重い処理をノンブロッキングにできるのかが知りたかったんだ
ブラウザで例えるならWebWorkerに投げるみたいな
移動中にググって基本的には難しいってのがわかった、いい勉強になった
0211デフォルトの名無しさん2015/02/12(木) 16:08:27.83ID:lzKOaP2E
io.jsもnodojsと同じシングルスレッドならnodojsから乗り換える価値ないよね
0212デフォルトの名無しさん2015/02/12(木) 16:55:01.48ID:ACLeg2X+
joyentにガバナンス手放してファウンデーション作らせただけでもio.jsの勝利
0213デフォルトの名無しさん2015/02/12(木) 22:46:40.79ID:Il0VyiBX
io.jsの成果はio.js 1.0じゃないんだ。

nodejsを活発化させたことが
io.jsの成果なんだ。

forkしたものはどうでもいい。
0214デフォルトの名無しさん2015/02/13(金) 00:10:45.38ID:hCJDzLwl
活発化してるのはio.jsリポジトリのv1.xブランチだけどな
0215デフォルトの名無しさん2015/02/13(金) 16:55:47.34ID:v5btlO/2
V8が最近moduleに手を入れはじめたから、特にioの方はそろそろ無視できなくなって来るな。
0216デフォルトの名無しさん2015/02/14(土) 04:18:17.00ID:uJwXJif2
そして最後に全部nodejsがかっぱらう。
オープンソースですからねw
0217デフォルトの名無しさん2015/02/16(月) 08:33:48.60ID:JcJgKv2l
>>216
そもそも、名前が悪いから検索に引っかからないしね。
おまけにフォークした程度の内容。
0218デフォルトの名無しさん2015/02/16(月) 08:41:03.35ID:F7oc1qZ/
かませ犬でも良いよ成長促進されるなら
0219デフォルトの名無しさん2015/02/16(月) 09:53:36.17ID:DphEjV/x
io.jsの目的はio.jsそのものじゃなくてnodeのしりを叩くことだったりして
0220デフォルトの名無しさん2015/02/16(月) 10:24:15.23ID:2crvF8yD
いまio.jsに乗り換えましたって主張をわざわざブログやツイッターに書き込んでるのは主導権握りたいから
0221デフォルトの名無しさん2015/02/16(月) 10:55:59.93ID:JcJgKv2l
>>220
主導権なんて握れないけれどな。所詮フォーク。
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プロセスじゃマルチコア使えない
■ このスレッドは過去ログ倉庫に格納されています