X



【node.js】サーバサイドjavascript 4【io.js】 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2016/04/11(月) 16:28:34.52ID:ORuOCkHy
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 3【io.js】(c)2ch.net
http://echo.2ch.net/test/read.cgi/tech/1419673207/
【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/
0561デフォルトの名無しさん
垢版 |
2017/05/03(水) 23:37:41.27ID:jNZhewdQ
package.jsonの"scripts"に書いたコマンドをnpm runで実行する際はnode_modules/.bniがPATHに
追加されますが、これ以外に任意のディレクトリをPATHに追加する方法ってあるでしょうか。
0563デフォルトの名無しさん
垢版 |
2017/05/04(木) 01:58:16.57ID:arHoxXIF
windowsだからpythonのpip以上にnpm厄介だな
0564561
垢版 |
2017/05/04(木) 11:09:36.82ID:l8/ufUYV
ありがとうございます。でもwindowsだとうまくいかないなぁ。

"somecommand": "set PATH=%PATH%;<パス> && <コマンド>"
#<コマンド>は内部でPATH環境変数を使用するスクリプトで、これ自体にはPATHが通っている。

&&の両側のコマンドが同時に立ち上がるんだから当然と言えば当然か。
でもコマンドプロンプトで順次実行する&に変えても結果は同じだった。
bashのexportみたいなのが使えればいいんだけど。
0568561
垢版 |
2017/05/04(木) 15:13:22.65ID:l8/ufUYV
ありがとうございます。cross-envでいけました。
0570デフォルトの名無しさん
垢版 |
2017/05/08(月) 19:19:22.70ID:Eylo3eTX
node.jsでimportを使うと
SyntaxError: Unexpected token import
ってなるんですが、importに対応したnode.jsはまだ出てないのでしょうか?
0572デフォルトの名無しさん
垢版 |
2017/05/09(火) 01:01:42.73ID:VdFod0fE
>>571
importの使い方を聞いていません
babelとwebpackでimport書いてるので使い方は知ってます
node.js自体がimportを実装しているのかを聞いています
0574デフォルトの名無しさん
垢版 |
2017/05/09(火) 06:58:49.50ID:i7CM3KKL
*.mjsからはimport出来るようにしようぜ
ってのを結構前に読んだ気がするけど、まだ実装されたないんか?
0575デフォルトの名無しさん
垢版 |
2017/05/09(火) 08:05:18.10ID:SYbF5UtF
実装どころか提案文書はドラフトのままだよ
(技術的検証が済んでACCEPTされないと実装に進まない)
検証だけであと1年以上掛かるってさ

なお拡張子(*.mjs)でES moduleかどうか判別する手法は
考え得る限り最低の糞という判断が下されたので無くなる
0578デフォルトの名無しさん
垢版 |
2017/05/09(火) 14:48:00.66ID:bmQioI1H
いやnodeってv8使ってる立場だから何もできんでしょ
間違ってる?
0579デフォルトの名無しさん
垢版 |
2017/05/09(火) 15:09:01.72ID:UecSchXq
v8はネットワークもファイルシステムも持ってないからimportは環境(ブラウザやnode)に丸投げでしょ
0580デフォルトの名無しさん
垢版 |
2017/05/09(火) 15:45:52.73ID:bmQioI1H
なるほど
0581デフォルトの名無しさん
垢版 |
2017/05/09(火) 16:25:22.62ID:yROPnHQF
Buffer.byteLengthをブラウザ側でも利用できるように移植して欲しい
今時バイトでカウントするにも自力でコード書かないといけないのは無駄すぎる
0582デフォルトの名無しさん
垢版 |
2017/05/09(火) 21:56:24.65ID:AJpeMRYn
importはJavaScript(EcmaScript)の仕様範疇の中に入れてもいいが、
ブラウザで動かすJavaScriptにおいて、
importはビルド時に解決する問題になるんだよね。

なぜならファイルのアクセス数が増えてパフォーマンス低下につながるから。
JavaScriptファイルを結合することでパフォーマンスをあげるという目的があるから
結合させずに動いたとしても、ビルド時に結合させるという手段は今後も続く。

ウェブサーバーのプラグインでJavaScriptファイルをimport定義に従って
結合するという仕組みができるかもしれないがこれもビルドを配信時に行うってだけ
0583デフォルトの名無しさん
垢版 |
2017/05/09(火) 22:01:42.74ID:AJpeMRYn
>>581
ブラウザ側で実装する or 自力でコードを書く

の中間に、ライブラリを使うという方法があるよ。
この方法を使えば、既存のブラウザでも動くし
自力でコードを書くムダもない

自力でコードを書けるたぐいのものなら、ブラウザに移植してほしい理由を言うとしたら
「ネイティブで実装されていれば速い可能性がある」であるべきだろう
0584
垢版 |
2017/05/09(火) 23:27:53.20ID:jm0lp/yb
>>582
すごく巨大なファイルへのアクセス数でパフォーマンス低下するか、
CDNで配信されてて、もうすでにブラウザキャッシュに存在するかだと、後者の方が速いと思うけど。
0588デフォルトの名無しさん
垢版 |
2017/05/10(水) 02:43:19.47ID:dOAvi++p
要求されるまでもなくプッシュできる
キャッシュとの絡みで今んとこ絵にかいた餅だが
0590デフォルトの名無しさん
垢版 |
2017/05/10(水) 11:21:57.19ID:3E/iyxQi
それよりもminifyが未だにes2015を正式対応してないの早くなんとかしてほしい。ブラウザがes2015サポートしてても結局es5で吐き出してる
0595デフォルトの名無しさん
垢版 |
2017/05/11(木) 09:14:44.78ID:2k4cBKy7
jsでデスクトップアプリケーションが作成できるelectronでソフトを作りたいのですが、
http通信のためのモジュールであるrequestモジュールを、main processからrequireするといろんなプロパティを持ったオブジェクトが返ってきてその中の関数でhttp通算できるのですが、
renderer processからrequireするとただのrequestという名前の関数オブジェクトが返されるだけで使い物にならないです。
pc通信でrenderer processからmain processにhttp通信を代行してもらうしかhttp通信をrenderer processで扱うための方法はないですか?
0596デフォルトの名無しさん
垢版 |
2017/05/11(木) 09:15:08.72ID:2k4cBKy7
x pc通信
o ipc通信
0597デフォルトの名無しさん
垢版 |
2017/05/11(木) 15:47:14.50ID:5AwxqDXW
>>595
renderプロセスはブラウザと同じなのでfetch使えばいいですよ
0602デフォルトの名無しさん
垢版 |
2017/05/13(土) 09:42:16.53ID:7pndE6Ym
>>582
> ウェブサーバーのプラグインでJavaScriptファイルをimport定義に従って
> 結合するという仕組みができるかもしれないがこれもビルドを配信時に行うってだけ

事実誤認も甚だしい
パックする仕組みは配信からの要求で考えられた
それをトランスパイルとかいう歪な仕組みを進めている連中が取り込んだだけ
逆だね
0603デフォルトの名無しさん
垢版 |
2017/05/13(土) 17:57:39.66ID:DoozTjZk
>>602
うん
だからhttp配信という構図だとパックする必要があるからimportがあまり意味がないというのは間違ってないとおもうんだが
0605デフォルトの名無しさん
垢版 |
2017/05/14(日) 08:08:37.33ID:GJiVsoER
正しいか正しくないかでなく
自分が最後に喋って締めないと気が済まない人種というのがいるのだ
マウンティング症候群を併発していることが多い

ようするにキチガイ
0607デフォルトの名無しさん
垢版 |
2017/05/14(日) 12:02:12.51ID:RQAIFfqK
>>605
それって相手もそうじゃないとそんな状態が発生しなくね
どっちかが最後にレスしなくてもいいと思ってるならいつまでも会話続かなくね
0608デフォルトの名無しさん
垢版 |
2017/05/15(月) 16:08:20.12ID:K4VlRHcT
>>607
自分はするけど相手がするのは許せない人なんでしょ
0609デフォルトの名無しさん
垢版 |
2017/05/15(月) 18:54:23.23ID:ejKo8zg4
609
0610デフォルトの名無しさん
垢版 |
2017/05/26(金) 17:26:28.49ID:/lAAh6KQ
初めてインストールする初心者なんですが、インストールしようとすると
下記エラーが出てインストール出来ません。

There is a problem with this Windows Installer package.
A DLL required for this install to complete could not be run.
Contact your support personnel or package vendor.

色々ググってみましたが解決方法がさっぱりです。
どなたか対処方法をご存じでしょうか?
ご意見を戴ければ幸いです。
0611デフォルトの名無しさん
垢版 |
2017/05/26(金) 19:28:40.56ID:GnitEmTF
OSを入れなおすと治るはず
0612デフォルトの名無しさん
垢版 |
2017/05/26(金) 19:31:51.91ID:3n6eNBdq
zip版でやったら?
0613デフォルトの名無しさん
垢版 |
2017/05/26(金) 19:53:10.09ID:IXNjZ2pR
検索すると解決法がでて来てるじゃん
それをやったけど解決しないというのか?
それとも検索する能力がないのか?
はっきりしろ
0615デフォルトの名無しさん
垢版 |
2017/05/26(金) 20:56:17.06ID:/lAAh6KQ
>>614

その通りです。英語どころか日本語にすら不自由しているバカです。
よろしければ解決方法をお教え戴けないでしょうか?
0618デフォルトの名無しさん
垢版 |
2017/05/31(水) 18:12:03.95ID:buo/Bij8
>>617
npm5も
yarnよりは遅いけど高速化&lockファイル追加
0623デフォルトの名無しさん
垢版 |
2017/06/04(日) 13:22:39.42ID:x+PHGK1n
スーパーサイヤ人だとフリーザしか倒せないけど
スーパーサイヤ人2ならセルまでなら倒せるぐらい
0628デフォルトの名無しさん
垢版 |
2017/06/04(日) 16:17:05.52ID:qUWZGkRh
async/awaitとかの大抵の機能はnodeのバージョンアップしなくてもbabelとかtypescript使えば古いバージョンでも使えるよ
0630デフォルトの名無しさん
垢版 |
2017/06/04(日) 22:48:20.08ID:qUWZGkRh
>>629
ts2.1でtarget es5でも使えるようになったしな
0631デフォルトの名無しさん
垢版 |
2017/06/05(月) 21:13:25.69ID:nBMIbdLx
nodeって起動するだけでメモリ相当食うから、バージョンアップでさらに増えてないかが気になる
安いプランのVPSだとメモリ1Gとかだから
0635デフォルトの名無しさん
垢版 |
2017/06/06(火) 12:19:41.83ID:e4Yt3Epi
そりゃnode.js内のメモリ消費量でねーの
ランタイム内のプロセスと実行環境自体のプロセスを混同させるような>>634もアレだがな
だからWeb屋は
0639デフォルトの名無しさん
垢版 |
2017/06/06(火) 15:37:19.98ID:CUcBhzlW
えメモリ500MBのvpsじゃキツいのかよ!
0640デフォルトの名無しさん
垢版 |
2017/06/06(火) 16:38:33.57ID:rjyabpco
>>639
nodeやるなら512は実用的じゃないと思う
ssdならスワップ早いからなんとかいけるかもしれんが最低でも1GBは欲しい
0642デフォルトの名無しさん
垢版 |
2017/06/06(火) 17:53:37.43ID:Q/vepSQ/
nodeは依存関係の関係でアホみたいにモジュールロードあるからね
0643デフォルトの名無しさん
垢版 |
2017/06/06(火) 22:49:25.44ID:dRy+c6tT
>>641
条件は「nodeを起動するだけ」なんだからその程度だろうね。

>>642
そりゃexpressとか動かせばその分のメモリ食うさ
でもそれはrailsとかでも同じなわけで、なんのモジュールをロードするかとか
言ってない上、nodeを起動するだけのメモリ使用量しかわかるわけがない
0647デフォルトの名無しさん
垢版 |
2017/06/07(水) 00:20:57.96ID:Xdd0wH5l
>>643
socket.ioのみの簡単なサービスですら200M越えるんだが?
君はどうやって使用メモリを調べてるのかな?ん?
linuxコマンドでも書いてごらん
0648デフォルトの名無しさん
垢版 |
2017/06/07(水) 00:22:10.32ID:c02yQ3lM
>>631の文脈からして何らかのサーバー立てるんだからnode単体の話をするのは空気読めてないよね
0649デフォルトの名無しさん
垢版 |
2017/06/07(水) 00:27:56.94ID:Xdd0wH5l
>>648
おまえはVPS借りてnode動かすのに何のサーバーもたてないつもりかな?んー?
で?
検証用のコードと7MBの確認コマンド公開まだかな?
0650デフォルトの名無しさん
垢版 |
2017/06/07(水) 00:31:58.18ID:Xdd0wH5l
649はレス相手間違えた
この期に及んでnode単体という屁理屈で逃げてるやつは回答まだかな?
0652デフォルトの名無しさん
垢版 |
2017/06/07(水) 00:33:21.79ID:kUtim7jQ
>>649
> おまえはVPS借りてnode動かすのに何のサーバーもたてないつもりかな?んー?

サーバーたてなくてもコマンド実行するという使い方もあるだろ?
0653デフォルトの名無しさん
垢版 |
2017/06/07(水) 00:46:45.23ID:kUtim7jQ
> nodeって起動するだけでメモリ相当食うから、バージョンアップでさらに増えてないかが気になる
> 安いプランのVPSだとメモリ1Gとかだから

>>631の文脈から言って、メモリを相当食う何かを動かしているのだろう。
だがそれはnodeの使用量ではなく、モジュールの使用量がほとんど。
nodeのバージョンアップでメモリ使用量が増えたとしても
大部分のモジュールの使用量は変わらないので、気にするレベルにはならない。
0654デフォルトの名無しさん
垢版 |
2017/06/07(水) 01:45:14.18ID:GBlW6tcD
メモリの使用量を抑えようと思ったら何を使うのが一番いいんだろうな。
やっぱgoとか?
0656デフォルトの名無しさん
垢版 |
2017/06/07(水) 14:14:41.23ID:Kk4r5o3h
Cは現実的じゃない
Goでおk
それかRust
0658デフォルトの名無しさん
垢版 |
2017/06/07(水) 18:51:47.29ID:GBlW6tcD
v8ってandroidでも動くようにしてるんだよね。新しいバージョンのほうが省メモリの可能性ないかな。

android goとか出してるわけだし
0659デフォルトの名無しさん
垢版 |
2017/06/07(水) 21:06:02.29ID:Q5pKLWbH
v8のignitionは省メモリ、スモールフットプリントのためだから可能性は十分よ
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況