- 1 名前:デフォルトの名無しさん mailto:sage [2015/04/29(水) 20:58:27.13 ID:ynuTQJZG.net]
- 前スレ
【Lisp】スクリプト バトルロワイヤル48【pl,rb,php,js】 [転載禁止](c)2ch.net peace.2ch.net/test/read.cgi/tech/1425051187/
- 231 名前:デフォルトの名無しさん mailto:sage [2015/05/04(月) 03:16:13.97 ID:3D0tbtvP.net]
- とりあえず、JS厨は有害だということが分かったね
- 232 名前:デフォルトの名無しさん mailto:sage [2015/05/04(月) 06:20:36.08 ID:3D0tbtvP.net]
- >>190
別にケチつけたいとか何でもなく Lisp とかやたら実装あるし、長生きだなとか思った
- 233 名前:デフォルトの名無しさん mailto:sage [2015/05/04(月) 06:23:20.12 ID:3D0tbtvP.net]
- おお、227とID同じだ。初めて見た
- 234 名前:デフォルトの名無しさん mailto:sage [2015/05/04(月) 07:03:16.84 ID:J0bB/MBQ.net]
- >>227
"こども" っていうのはお前のことな
- 235 名前:デフォルトの名無しさん mailto:sage [2015/05/04(月) 07:31:38.85 ID:IlsJpzht.net]
- JSが使われるいろんな場面でノンブロッキングを徹底する必要はあるけど、
それ=非同期関数を使いまくったり、コールバックで書かないといけないというわけじゃない。 Worker立てて別プロセスで同期処理しても目的は達成されるわけだし、ジェネレータ使えば非同期処理を同期的に書ける。
- 236 名前:デフォルトの名無しさん mailto:sage [2015/05/04(月) 07:38:45.62 ID:1poVLIgC.net]
- それにNode.js環境であればreadFileSyncなどのように
非同期関数も存在する。
- 237 名前:デフォルトの名無しさん mailto:sage [2015/05/04(月) 17:21:24.39 ID:Xz6tXobb.net]
- 非同期関数じゃなくて同期関数でしょ
で、それをIOと関係ないところで使えば問題ないってことでしょ
- 238 名前:デフォルトの名無しさん mailto:sage [2015/05/04(月) 18:12:17.94 ID:+glKkzJw.net]
- 脱ブラウザ化を前提にした新しいインターネット体験が既に始まった現代においてjsとか何の冗談ですか?
老害はおかえり下さい
- 239 名前:デフォルトの名無しさん mailto:sage [2015/05/04(月) 18:48:25.24 ID:Xz6tXobb.net]
- WebはWebでServiceWorkerのPush通知みたいにちゃんと時代に合わせて進歩してきてると思うよ。
まあJSの良い所は柔軟性と、機能が少ないからこその拡張性だろうね。
- 240 名前:デフォルトの名無しさん mailto:sage [2015/05/04(月) 19:53:27.82 ID:wYDx+Rh8.net]
- >>233
readFileSyncというI/Oの同期関数を I/Oと関係ないところで使うって どういう意味?
- 241 名前:デフォルトの名無しさん mailto:sage [2015/05/04(月) 20:01:22.49 ID:prYoIKs4.net]
- 一般的に同期関数をメインスレッド→
Nodeだと基本リクエストを受け付けるサーバ、そういう意味でのIO WebだとDOM操作、そういう意味でのIO で使うのは厳禁ということでしょうよ。
- 242 名前:デフォルトの名無しさん mailto:sage [2015/05/04(月) 20:35:24.91 ID:wYDx+Rh8.net]
- Nodeってスレッド一つしか無いんだけど?
- 243 名前:デフォルトの名無しさん mailto:sage [2015/05/04(月) 20:37:53.08 ID:40ee8aRr.net]
- Nodeの同期関数はバッチ処理やちょっとしたユーティリティの類も作れるようにという意図だね
もちろんオンラインで使えば確実に固まる
- 244 名前:デフォルトの名無しさん mailto:sage [2015/05/04(月) 20:54:14.33 ID:prYoIKs4.net]
- >>238
子プロセスを立ちあげられる。 それと「Node」はシングルスレッドではない。 スループット向上の為バックのio処理は数スレッドで動いてる。
- 245 名前:デフォルトの名無しさん mailto:sage [2015/05/04(月) 21:07:03.45 ID:WoMWhSqx.net]
- 記者の眼 - Node.jsの仕組みはWebアプリ開発者も知っておくべき:ITpro
itpro.nikkeibp.co.jp/article/Watcher/20121003/427288/ Node.jsは、シングルスレッドでしか動作しない。 大量のアクセスに対しては、とにかくリクエストを受け付けてしまう。 だが、シングルスレッドなので一つひとつのリクエストを高速に処理していかないと、処理すべきリクエストは増える一方となる。 シングルスレッドでも高速に処理するため、Node.jsは「イベントループ方式」と「非同期I/O処理」を実装している。
- 246 名前:デフォルトの名無しさん mailto:sage [2015/05/04(月) 21:20:49.32 ID:QPogxQWE.net]
- ttp://jxcore.com/home/
- 247 名前:デフォルトの名無しさん mailto:sage [2015/05/04(月) 21:23:58.58 ID:QPogxQWE.net]
- ttp://en.wikipedia.org/wiki/Web_worker
- 248 名前:デフォルトの名無しさん mailto:sage [2015/05/04(月) 21:25:38.95 ID:QPogxQWE.net]
- ttps://nodejs.org/api/cluster.html
- 249 名前:デフォルトの名無しさん mailto:sage [2015/05/04(月) 22:21:39.41 ID:prYoIKs4.net]
- >>241
シングルスレッドなのはV8エンジンのメインスレッドであって、 Nodeの心臓部であるlibuvは非同期処理を効率的にこなすためにマルチスレッドで動いてる。 またChild Processモジュールを使ってメイン
- 250 名前:からサブのNodeのプロセスを立ち上げたり、
一般的なサーバ用途であればそのロードバランサをClusterモジュールに任せることも出来る。 [] - [ここ壊れてます]
- 251 名前:デフォルトの名無しさん mailto:sage [2015/05/04(月) 22:33:43.75 ID:40ee8aRr.net]
- >>245
V8エンジンがシングルスレッドである以上、一つのコールバックが同期IOをやれば当然全部固まるだろ それを問題にしてるんであって、内部がどうなってようが関係ないよね また、子プロセスを立ち上げるとNode.jsのアーキテクチャのメリットが完全にスポイルされるわけだから 結局バッチ処理などのまとまった処理にしか使えない
- 252 名前:デフォルトの名無しさん mailto:sage [2015/05/04(月) 22:33:49.78 ID:QPogxQWE.net]
- ttp://nikhilm.github.io/uvbook/threads.html
- 253 名前:デフォルトの名無しさん mailto:sage [2015/05/04(月) 22:43:56.08 ID:prYoIKs4.net]
- >>246
だから最初からバッチ処理などのまとまった処理には使えるよってことを皆言ってるんだよ。 >>236からの流れ完全無視ですか? それと子プロセスを立ち上げるのはNodeのメリットを削がない。 セッションごとに立ち上げるわけではなく、あくまでマルチコアを有効に使おうというものであるから。
- 254 名前:デフォルトの名無しさん mailto:sage [2015/05/04(月) 22:45:51.72 ID:FuYVSRSb.net]
- Node.jsって万能なんだな
- 255 名前:デフォルトの名無しさん mailto:sage [2015/05/04(月) 22:49:08.26 ID:prYoIKs4.net]
- 上で最初は非同期関数しかなかったという話が出てるけど、
一番最初は作られた目的からしてもサーバサイド限定だったけど、 やっぱそういう用途にも使えた方がいいよねということもあって同期のファイルアクセスAPIが用意されたのだと思う。 ちなみに同期のネットアクセスAPIは用意されてない。野良モジュールであるけど。
- 256 名前:デフォルトの名無しさん mailto:sage [2015/05/04(月) 23:54:57.01 ID:wYDx+Rh8.net]
- >>248
いやいや話の流れがわかってない。 Node.jsはノンブロッキングに特化しており、 JScriptはそうではないという話をしていたんだ。 別プロセスで動かせば、ノンブロッキングだというのなら JScriptでも同じことになる。 矛盾してるんだよ。 まあそもそもこいつは、Node.jsを言語と言っているし 言語と実行環境の区別がついていないやつだから 最初っから矛盾してるんだけどな。
- 257 名前:デフォルトの名無しさん mailto:sage [2015/05/05(火) 00:36:20.53 ID:Y7D43j5s.net]
- >>251
Node.jsはノンブロッキングに特化してるということは今さら言うまでもなく誰もが認めている だけど同期関数が無いだとか、別プロセス立ち上げるのはNodeのありように反してるとか、 間違ったことを言い張るから皆から突っ込まれてるんでしょ それに単純にノンブロッキングで何かJSで重たい処理をする必要があるときは、 WebならWorker、Nodeならchildprocessみたいにメインの外でやる以外無い そのような用途のためにもchildprocessが用意されてる あともう一度言うけどノンブロッキングである必要があるのは 沢山のイベントをリアルタイムに履かないといけないからで、 バッチ処理的に使うのであれば関係がないこと
- 258 名前:デフォルトの名無しさん mailto:sage [2015/05/05(火) 00:47:58.83 ID:8OQq3apA.net]
- >>252
> Node.jsはノンブロッキングに特化してるということは今さら言うまでもなく誰もが認めている > だけど同期関数が無いだとか、別プロセス立ち上げるのはNodeのありように反してるとか、 > 間違ったことを言い張るから皆から突っ込まれてるんでしょ 俺に言うなよ。 俺がreadFileSyncの例を持ち出して、同期関数があることを 教えてやったんだよ。 別プロセス立ち上げるなとも言ってない。 JavaScriptの話と実行環境の話をごっちゃにしている奴がいたから からかって遊んでいただけだ。
- 259 名前:デフォルトの名無しさん mailto:sage [2015/05/05(火) 01:13:53.37 ID:0S25WcbA.net]
- こうやって言い負かされて形勢不利になると
ふざけたんだよ〜って逃げるヤツってどのスレにもいるんだなw
- 260 名前:デフォルトの名無しさん mailto:sage [2015/05/05(火) 01:25:58.72 ID:8OQq3apA.net]
- 言い負かしたレスってどれだい?
- 261 名前:デフォルトの名無しさん mailto:sage [2015/05/05(火) 01:37:58.48 ID:TIrf+R0e.net]
- ★ 炭水化物(小麦、米)=砂糖 ★
・「いつものパン」があなたを殺す: 脳を一生、老化させない食事 (デイビッド パールマター 2015/1/16) ・ダダモ博士のNEW血液型健康ダイエット (集英社文庫) O型とB型は小麦、とうもろこし、蕎麦を食べると体調が悪くなり太ります ・統合失調症、うつ病、パニック障
- 262 名前:害は糖を抜くと3日で治った。
・チョコレートは超危険食品 強い依存性、糖尿病の恐れ…妊婦や子供は摂取要注意 http://aoi.bbspink.com/test/read.cgi/club/1416413686/235 ・すべての不調は首が原因だった! ・長引く痛みの原因は、血管が9割 (奥野祐次ワニブックスPLUS新書2015/2/7) ・あなたの不調、実は「脳脊髄液減少症」かも!? ・その不調は遅延型フードアレルギーです! ↓ http://wc2014.2ch.net/test/read.cgi/shapeup/1425713834/73 [] - [ここ壊れてます]
- 263 名前:デフォルトの名無しさん mailto:sage [2015/05/05(火) 08:22:20.17 ID:bbS1ITn2.net]
- で、結局同期非同期について何が言いたかったのだろうか。
- 264 名前:デフォルトの名無しさん mailto:sage [2015/05/05(火) 09:15:17.82 ID:iBC7PNnN.net]
- >>257
御託を並べただけでしたね♪ こういう奴いるよね。御託並べて悦に浸っちゃうお馬鹿さん。
- 265 名前:デフォルトの名無しさん mailto:sage [2015/05/05(火) 10:11:35.57 ID:uw/h34kl.net]
- 2つの言語環境で文法や関数が完全一致していても、完全同期と完全非同期(例外的非同期と例外的同期)では同一コードでも出力が違う。
- 266 名前:デフォルトの名無しさん mailto:sage [2015/05/05(火) 11:06:39.15 ID:t+uHmPE6.net]
- 具体的に、何が違うかを書いたら?
一方の出力は、これで、 もう一方は、こうって言う風に 具体的に。
- 267 名前:デフォルトの名無しさん mailto:sage [2015/05/05(火) 11:41:44.59 ID:+V6CgyJV.net]
- >>259
日本語でプログラミング学ぼうとすると効率悪そうだよな。
- 268 名前:デフォルトの名無しさん mailto:sage [2015/05/05(火) 12:46:40.50 ID:Y1anEcJj.net]
- ID:prYoIKs4の説明がわかりやすいから常駐してほしい
- 269 名前:デフォルトの名無しさん mailto:sage [2015/05/05(火) 21:33:39.70 ID:P8IV0u4y.net]
- いや何を主張したいのかが理解できないわ
「NodeJSは基本的に非同期IOに特化しているが、バッチ処理などの単発の処理のために同期IOが使える」 と言いたいだけなんだったらなんでchildprocessを持ち出すのか この文脈で子プロセスと同期IOを使った非同期処理を引き合いに出し、さらにNodeJSはマルチプロセスでも効率的な処理が行えるというようなことを言えば セッションから子プロセスを起動するようなNodeJS的に明らかに間違った使い方をしようとしてるのかと 誤解されるのは当然だと思うよ
- 270 名前:デフォルトの名無しさん mailto:sage [2015/05/05(火) 22:23:18.89 ID:Y1anEcJj.net]
- はぁ?itproみたいなイベントドリブンだの非同期処理だの、
誰でも知ってるレベルのことだから。 誰がみても、ID:prYoIKs4の解説の方が処理系の実装まで、もっと突っ込んでるだろ
- 271 名前:デフォルトの名無しさん mailto:sage [2015/05/05(火) 22:54:07.22 ID:P8IV0u4y.net]
- 解説以前に、何が言いたいのか意味不明だと言っているんだけど?
- 272 名前:デフォルトの名無しさん mailto:sage [2015/05/05(火) 22:55:50.52 ID:P8IV0u4y.net]
- っていうか>>264はID:prYoIKs4が結局何を言いたかったのか理解できたのか?
理解できたなら教えてくれ
- 273 名前:デフォルトの名無しさん mailto:sage [2015/05/05(火) 23:57:51.46 ID:Y1anEcJj.net]
- >>266
死ねよカス。オマエは煽りたいだけだろw >>240から>>245の流れで、node.jsのIOとcluster,child processの概要を把握したよ。
- 274 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 00:03:10.42 ID:M8LrA/ZF.net]
- node.jsのIOとcluster,child processなら
知ってて当然の話だろう?
- 275 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 00:10:11.52 ID:mbn+dbFM.net]
- ID:prYoIKs4は「シングルスレッド」という言葉尻に反応してるだけだね
Nodeがシングルスレッドだというとき、スクリプトスレッドがシングルスレッドであることを意味するのは当然の暗黙の了解だし Node自体の実装がマルチスレッドだなんて当たり前すぎていちいち特筆するようなことじゃないわな
- 276 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 00:27:35.27 ID:/1rfMabx.net]
- Node.jsはシングルスレッド、イベント駆動モデルと多くで解説されてるがウソか?
Nodeビギナーズブック ≫ Node.jsチュートリアル ≫ Node.js 教程 Node.jsはたくさんの処理を同時に行えるけれども、 全てをスレッドに割り振って行うわけではないのです ? 実際、Node.jsはシングルスレッドです。そうではなく、 イベントループを走らせることでデベロッパーはこれを利用できるのです ? これらの理由から、ブロッキング操作は極力避け、 かわりにノンブロッキング操作を行うべきなのです。 www.nodebeginner.org/index-jp.html
- 277 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 00:31:50.59 ID:/1rfMabx.net]
- サーバーサイドでの利用が想定され、資源を使いきらないよう、全力を出しきらないようにシングルスレッドは有り得る話だ。
Node.jsの特徴 一般的にNode.jsのメリットというとC10K問題(クライアント1万台問題)を解消できるというのが大きいです。 C10K問題というのはJavaやPHPではクライアント接続の度に新しいスレッドが立ち、その度に2MB程度のメモリを使用してしまうため、 同時に接続できるクライアント数があり、それを超えてしまうとシステムダウンしてしまう、というやつです。 Node.jsではシングルスレッド・イベント駆動で動作しており、クライアント接続されてもスレッドは立たず1イベントとして処理されるため、このメモリの問題を飛躍的に解消できるというわけです。 blog.sinap.jp/2013/12/post-49.html Node.js を5分で大雑把に理解する - Qiita 特徴 サーバーサイドのJavaScript 非同期 ノンブロッキングI/O イベントドリブン シングルスレッド (メモリ消費が少ない、仕事切り替えが少ないので速い) JavaScript エンジンが Google の V8 で速い 小さいデータや小さい計算の場合、速い メモリ消費量が少ない qiita.com/hshimo/items/1ecb7ed1b567aacbe559
- 278 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 00:47:10.48 ID:M8LrA/ZF.net]
- VB6はスレッドを使えない。
VB6でAPIを無理やり使っても落ちるだけ。 にもかかわらず、VB6で作られたアプリは複数のスレッドを持っている。 これをマルチスレッド対応といえるだろうか? って話と同じなんだよな。 自分で書いたコードでスレッドが使えなければ 内部でいくら複数のスレッドを使っていたとしても それはシングルスレッドと言うべきだよ。 もちろん別プロセスを起動しても マルチスレッドとはいわない。
- 279 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 00:58:24.06 ID:Ntj9QqNO.net]
- スレッドを使えないことは別に悪いことじゃないんだから、使えないでいいと思うけどね
というか、Node.jsはそういうコンセプトの言語なんだし
- 280 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 01:07:19.00 ID:mbn+dbFM.net]
- clusterはサーバーの負荷分散には使えるけど、プロセスを分けたからって決して同期IOで止めていいわけじゃないから
同期非同期の話からは外れるな。>>231のいうような目的を達成できない。 childprocessも同様で、同期IOを使うなら子プロセスは結局バッチ処理の並列化くらいにしか使い道がないわけだ。単なるfork-joinだね。
- 281 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 07:54:08.43 ID:8X10Hly1.net]
- それは違うな
まずClusterはChildProcess上に成り立っている技術だけど 前者がサーバとしての負荷分散のためにあるのに比べ、後者の汎用的なものもあることを区別すべき そしてまず同期処理っていうのはIOだけにとどまらない IOのような「待ち時間の長い処理」の他に、「根本的に重たい処理」もあるわけだ もしその重たい処理に同期/非同期API両方あったとしても メイン側でたくさん非同期APIを使って組み立てるよりも 外で一度にやらせてメインでは一度のコールバックでサブから結果を受け取る方がスマート つまり、結局ここで言ってるのは粒度の違いでしかない 機能粒度の小さいネイティブ実装のスレッド外APIを沢山メインから叩くのか、 サブに必要な処理をまとめて大きな非同期APIとするのかの違い 最後にクライアントJSやNodeで非同期が大事なのは、リアルタイムなイベントをブロックしないためであって、 それはあくまでWebサーバ/Webブラウザという分野での特徴的なこと そこから離れればバッチ処理に限らず、リアルタイムにイベントを相手し続ける必要がないものはたくさんある まあとは言えNodeのChildProcessとWebWorkerは前者はプロセス、後者はスレッドという粒度の違いがある 後者では共有メモリの実現も可能だから、また違ったこともできる それとここまで書いたのは非同期APIは扱いづらい、まとめづらいという前提だから、ジェネレータやasync/awaitを使うと 同期APIとさほど違わない使い勝手になるので、より同期APIの必要性は下がってくると思われる
- 282 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 11:12:14.01 ID:sgQow1cN.net]
- >>269
Node.jsはシングルスレッドですが何か?
- 283 名前:デフォルトの名無しさん [2015/05/06(水) 11:29:36.13 ID:FTo6IrWP.net]
- >>270
それは掻い摘んだビギナー向けの概要で、libuvの内部にまで突っ込んだ話しじゃないだろ
- 284 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 11:34:35.02 ID:FTo6IrWP.net]
- IoTでやたらnode.jsが使われるのは
センサーから入力がリアルタイム処理だからって認識でいいのかな
- 285 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 11:35:36.85 ID:ctlCJDEk.net]
- libuvの内部にまで突っ込んだでシングルスレッドというのなら、
ドライバの内部にまで突っ込んで、全てのアプリは マルチスレッドで動いていると言えてしまう。 ライブラリやドライバでスレッドが複数使われているかは 関係ないんだよ。
- 286 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 11:51:22.18 ID:+wDbHyO4.net]
- セッション毎にプロセスやスレッドを立ち上げる従来のやり方ではないよということで
シングルスレッド型と言っているのであって、 実際は今やClusterを使ってCPU資産を有効に使うのが当然だし、 別にApacheと組み合わせて従来のCGIのように動作させることもできるし、 今はそう呼ぶのは言葉が良くないとは思うな
- 287 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 12:15:23.62 ID:sgQow1cN.net]
- >>280
いや、cluster使ってるなら別じゃんww node.js自体はシングルスレッドに他ならないんだから。 君ら勝手に定義変えるなよ。
- 288 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 12:17:45.38 ID:+wDbHyO4.net]
- あともっと広く非同期APIとスレッド分けのことを考えた時、
crypto的な重いAPIの時は呼んだAPIの1つ1つが違うスレッドで動いてくれないとメインを妨げてしまうから重要 まあNodeで非同期APIを提供するネイティブモジュール作るときは別スレッドで動かすし Nodeはlibuv含めたそれらの複合体なんだから、Nodeをシングルスレッドと言うのはやっぱり間違い あくまでイベントループによりシングルスレッド上で沢山のイベントを履けるよということであって 例えJSがマルチスレッドで動くようになっても、NodeのWebサーバとしての基本アーキテクチャの話をする上で関係ないし そういう意味ではシングルスレッドと言ってもいいが、Nodeを広く深く認識してる人からは当然ツッコミが入るだろうな まあ>>276のような言い方なら明らかに間違い
- 289 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 12:20:24.99 ID:+wDbHyO4.net]
- >>281
JSはシングルスレッドだけど、別にこれがマルチスレッドを扱えるようになっても上の記事の文言は変化しない 上の記事はあくまでWebサーバとしてのNodeの表面を、従来型のアーキテクチャと比較して書いてるに過ぎない そしてNodeという存在はそれだけでは無いことを認めるべし
- 290 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 12:26:03.09 ID:mbn+dbFM.net]
- >>278
Webやってる連中に訴求するための宣伝の都合だよ。 普段組み込み開発の情報なんてインターネットであまり見かけないだろ? 君の場合、そういう風に広告やサーチエンジンがオプティマイズされてるわけ。 Node.jsを採用することにより、そういう連中にもアプローチがしやすくなる。
- 291 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 13:02:03.10 ID:ctlCJDEk.net]
- nodejsは全体として、言語として、ノンブロッキング言語であることには違いがない。
ノンブロッキング言語に特例としてブロッキング関数が入ってるだけ。 sleepを入れたとしてもそこでプログラムが停止しない。 停止するJavascript環境も存在する。 動作が違うことを互換性がないと言っている。
- 292 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 15:41:48.39 ID:FTo6IrWP.net]
- >>284
訴訟って(;・∀・) 夏休みの宿題レベルにセンサー取っつけるようなことしかしないだろ
- 293 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 15:42:45.78 ID:FTo6IrWP.net]
- あれ、なんで、訴求と訴訟を読み間違えたんだろう
- 294 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 15:45:38.74 ID:FTo6IrWP.net]
- >>280
node.jsをapacheと組み合わせてCGIのように使う方法なんて、 少なくとも公式に使われるようなモジュールでは見たことないんだけど。
- 295 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 15:47:39.66 ID:ctlCJDEk.net]
- node.jsを含めて最近はウェブサーバーは必要な
- 296 名前:く
単体でウェブサーバーとして動くからね。 ウェブサーバーは静的コンテンツを返したり httpsを処理したりリバースプロキシとして、 アプリのフロントエンドとして使うものになってる。 [] - [ここ壊れてます]
- 297 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 17:21:23.20 ID:FTo6IrWP.net]
- はぁ?phpやpython付属のサーバーって、ちょっとテストするための玩具だろ
- 298 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 19:34:34.72 ID:8X10Hly1.net]
- JSにsleepがあろうがなかろうがNodeの作りが今と同じ限り、
もしNodeを知らない人にNodeとは何かを説明するときは シングルスレッド云々いうことになるだろうよ。 でもここ専門版でNodeについて話すときその見解じゃ狭すぎると思うけどね。
- 299 名前:デフォルトの名無しさん mailto:sage [2015/05/07(木) 07:04:53.60 ID:yJeqbwSV.net]
- >>284 面白い説だ
- 300 名前:デフォルトの名無しさん mailto:sage [2015/05/07(木) 07:09:03.76 ID:JT7pwAxA.net]
- Webしか見えてない奴のいう「〜が流行ってるのはなぜ?」は
大抵「お前がそれに興味を持っていて、Googleはそれを知っているから」で説明がつくね
- 301 名前:デフォルトの名無しさん mailto:sage [2015/05/07(木) 08:09:19.85 ID:u225hXbX.net]
- Swiftが世界的に流行ってるのは何故?
- 302 名前:デフォルトの名無しさん mailto:sage [2015/05/07(木) 08:20:45.38 ID:/buoCUil.net]
- Webしか見えてないとか言ってる人はどうせNodeで行うあらゆる事や
UnityやWinメトロアプリで使うJSもWebの範疇に入れるんだろうな。 まあWeb全体を見通してる人がいたら間違いなく人類の宝だと思うが。 それ以上は神か器用貧乏かのどちらかだろう。
- 303 名前:Office & Gamers ◆G144Hzgh2.0e mailto:アハ♪” uh huh [2015/05/07(木) 12:21:39.62 ID:D9UlN1Gu.net]
- 安定の99BASICとDarkBASIC。(キリッ
- 304 名前:デフォルトの名無しさん mailto:sage [2015/05/07(木) 15:29:17.35 ID:F6M4LkMK.net]
- >>293
ちがうよ。 githubもhacker newsもinfoqもredmonkも、node.jsの話題しかないじゃん 昔は多様性があったのに、node.jsとjavascriptだけになったんだよ
- 305 名前:デフォルトの名無しさん mailto:sage [2015/05/07(木) 16:42:31.12 ID:nNBhDPvj.net]
- node.jsの話題しかないってお前3年前からタイムスリップしてきたのかよw
io.js騒動で急激に盛り下がったじゃん 今からnodeが盛り返すにはMSがJoyentに代わってプロジェクト引き継いで、フォーク統合するしかないな
- 306 名前:デフォルトの名無しさん mailto:sage [2015/05/07(木) 18:11:26.92 ID:/fyjA82q.net]
- 今のWeb APIなんてどっかで見たなと記憶を辿ればIE4やIE5で既に在ったものばかりだからMSの人なら仕事が早いかもしれないな。
でもみんなが今すぐに欲しいのはparallelStreamじゃないかな。ウェブデザイナーレベルに媚びたような仕様の糞すぎるworkerやproxyなんてホンマに要らんし。
- 307 名前:デフォルトの名無しさん mailto:sage [2015/05/07(木) 20:31:31.71 ID:L0UP8Sbb.net]
- >>298
違うね、Nodeが盛り下がって危機感を感じたからio.js騒動が起きた。 Nodeの問題点はもうわかりきっている。それはAPIだ。 5年前は革新的だったが今では古臭くなってしまった。 そしていつまでたっても1.0が出ずAPIを刷新しない、できない状況が続き、良く言えば枯れ切って盛り下がってしまった。 とは言えAPIの進化には構文の進化が必要で、JSの進化を待つ必要があることも確か。 だからio.jsではまず最初にV8のバージョンを上げることを行った。 V8のバージョンが最新になればES6の一部機能が使えるので、フレームワークの力を借りて APIを刷新とまではいかないでも、新しい構文の恩恵を受けられる形にする事ができる。 本当はES7までは待たないとまだNode刷新するだけの力はないが、 それでもES6の取り入れはES7までコミュニティを温めるには十分だ。 次の課題は今DOM側で策定中のStreamやIOのAPIとNodeがどう折り合いをつけるかだ。 これはES7の取り込みと一緒に訪れるだろう。 それこまで上手く行けばNodeはWebとJSと共に繁栄する。
- 308 名前:デフォルトの名無しさん mailto:sage [2015/05/07(木) 20:59:23.64 ID:NXZBxN2S.net]
- > Nodeの問題点はもうわかりきっている。それはAPIだ。
> 5年前は革新的だったが今では古臭くなってしまった。 > そしていつまでたっても1.0が出ずAPIを刷新しない、できない状況が続き、良く言えば枯れ切って盛り下がってしまった。 なんでこんな完全に間違いな文章を ドヤ顔で書くことが出来るんだろうかw io.jsが出た理由はプロジェクトの進め方だって有名じゃないか。 APIの問題じゃないからAPIは互換性がある。
- 309 名前:デフォルトの名無しさん mailto:sage [2015/05/07(木) 22:19:14.74 ID:L0UP8Sbb.net]
- >>301
その進め方ってのは、まさにコミュニティの意見を聞き入れず、 新しいことを取り入れず停滞していたこと。 io.jsはそりゃ最初はAPIをそのまま引き継いだが、 さっさとバージョンを2.0に上げて、それ以降は壊していく予定。 あとそもそもV8のES.nest実装が進まないと試せることに限界がある。 上で書いたように暫くはES6+フレームワークの補助の元で進めて、 標準APIとしてスマートにAPIを刷新するのはES7を待つ必要がある。 その第一歩として重要なのがV8のバージョン上げであり、 そこがNodeの不満点の中でも大きく、io.jsの大きなアピールポイントでもあった。
- 310 名前:デフォルトの名無しさん mailto:sage [2015/05/07(木) 23:31:31.18 ID:NXZBxN2S.net]
- > さっさとバージョンを2.0に上げて、それ以降は壊していく予定。
こわさないってよ。 誰が壊すって言った?
- 311 名前:デフォルトの名無しさん mailto:sage [2015/05/07(木) 23:49:45.91 ID:L0UP8Sbb.net]
- >>303
壊さないのは1系の間。とは言え細かな変更は入ってる。 まだ2.0につい先程なったばかりなので大きな違いはないが、 io.jsはセマンティックバージョニングに従ってるのでこれからどんどん入る。 具体的にはまず廃止予定のAPIは互換性を無視して切られる。
- 312 名前:デフォルトの名無しさん mailto:sage [2015/05/07(木) 23:55:12.23 ID:NXZBxN2S.net]
- >>304
だから、2系がでたから壊さないんだよ。 まさかすぐに3系が出ると思ってるの? Node.jsとの互換性をなくすってことは、 io.js 2.0の互換性をなくすということに等しい。 セマンティックバージョングだからこそ、 io.jsが2系であるかぎり互換性は保たれる。 もしすぐにio.js3.0系がでて、リリースされたばかりの io.js2.0系との互換性が切れるんだと言いたいのなら、 そうはっきり言いなさい。
- 313 名前:デフォルトの名無しさん mailto:sage [2015/05/07(木) 23:56:53.79 ID:NXZBxN2S.net]
- 参考
セマンティック バージョニング 2.0.0 semver.org/lang/ja/ 1. APIの変更に互換性のない場合はメジャーバージョンを、 2. 後方互換性があり機能性を追加した場合はマイナーバージョンを、 3. 後方互換性を伴うバグ修正をした場合はパッチバージョンを上げます。 つまり、io.jsが2系であるかぎり互換性は保たれる。
- 314 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 00:04:00.35 ID:d2WjMR/U.net]
- html5やnode.jsが出たての頃ってさ、
flashがあるから流行らない( ー`дー´)キリッ node.jsなんて流行らない( ー`дー´)キリッ こんなのばっかだったよね(´・ω・`)
- 315 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 00:15:33.53 ID:k44MRK8x.net]
- そりゃ、何にでも賛成する人と反対する人がいるから
当然の話では?
- 316 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 00:50:35.21 ID:i0jHqfPR.net]
- io.jsが今後覇権を握るということでおけ?
- 317 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 01:04:50.02 ID:k44MRK8x.net]
- 未来のことは誰にもわからない。
互換性はあるのだから 後から考えても遅くない。
- 318 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 08:03:16.33 ID:BFwbM8EM.net]
- >>309
>>300が言うにはnode.jsのAPIは古臭くカビが生えていて、 そのせいで盛り下がってるそうだから、 API互換性があるio.jsも盛り下がるんじゃないの?
- 319 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 08:15:23.07 ID:YYhtHM3N.net]
- >>299
じゃ、自分で作れば?
- 320 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 14:53:36.08 ID:QEodygYi.net]
- >>305
その通りでリリースからのバージョンアップのスピード見
- 321 名前:黷ホ分かるけど
io.jsはもうすでに3系に向けて動き出してる 順当に行けば数カ月後には3.0が出る [] - [ここ壊れてます]
- 322 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 14:56:36.07 ID:QEodygYi.net]
- あともう1つ、互換性が守られるのはあくまでio.js間であって、
Nodeとの差異は日に日に大きくなってきている そもそもV8のバージョンが上がった時点でネイティブモジュールのAPIは大きく変わった そこがNodeが中々V8を更新したがらない理由の最大のポイントだろう 中間層を設ける試みが上手く行けばいいね
- 323 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 16:17:49.14 ID:ZwlRorsU.net]
- io.js使えばNode.jsを使っていたように使えるって事か!
io.js始まったな!
- 324 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 20:04:14.79 ID:oviWhSW0.net]
- なんだかんだ最も大切なことはV8のバージョンだろうな
来年再来年になってくるとHTTP2への対応とかいろいろ重要なこともでてくるだろうが
- 325 名前:デフォルトの名無しさん mailto:sage [2015/05/08(金) 23:41:50.72 ID:4Zeeq/SU.net]
- JSの覇権も
これからプログラミング力なくて他に良いアイディア持ってる奴が入れるかどうかも V8のGoogle次第って事か。
- 326 名前:デフォルトの名無しさん mailto:sage [2015/05/09(土) 00:28:06.18 ID:oI9IuS7a.net]
- >>314
> そもそもV8のバージョンが上がった時点でネイティブモジュールのAPIは大きく変わった 全く変わってないんだが? 大きく変わったと主張するAPIを幾つか書いてくれ。 小さな変更点は不要。
- 327 名前:デフォルトの名無しさん mailto:sage [2015/05/09(土) 03:57:00.56 ID:InPHVTpg.net]
- yosuke-furukawa.hatenablog.com/entry/2014/04/07/205935
- 328 名前:デフォルトの名無しさん mailto:sage [2015/05/09(土) 18:16:50.39 ID:VYp+BTzE.net]
- ぶっちゃけV8はChromeのためにあるようなものだから
APIの互換性なんて微塵も考えてないように見えるな
- 329 名前:デフォルトの名無しさん mailto:sage [2015/05/09(土) 18:48:48.26 ID:O7eykXcd.net]
- そもそもなんで特定のJavaScriptエンジンにべったり依存するような作りなんだ?
まともな神経してれば分離したくなると思うけどな そういう重要なところを今動けばいいで安易にやっちゃうWeb屋のセンスは プラットフォームや言語作るのに向かないよね
- 330 名前:デフォルトの名無しさん mailto:sage [2015/05/09(土) 20:16:42.10 ID:K7et29/1.net]
- そりゃあJSとネイティブを繋ぐ部分なんて当然標準がなくてエンジン固有のものだからだよ。
でも最近になってネイティブモジュールのための中間層を設けようとしてるよ。 とはいえ限界があるとは思うけどね。
- 331 名前:デフォルトの名無しさん mailto:sage [2015/05/09(土) 20:50:50.65 ID:j7qMd7YI.net]
- >>321
> そもそもなんで特定のJavaScriptエンジンにべったり依存するような作りなんだ? YAGNI。無駄な抽象化は複雑にするだけ。
|

|