pythonやrubyやPHPと同じ土俵でjavascriptが使えるようになりました。
サーバサイドjavascriptについて語りましょう。
node.js - googleが開発したV8エンジン上で実行できる処理系
http://nodejs.org/
ayo.js - node.js 互換で Rod の影響からの脱却を目指す処理系
https://github.com/ayojs/ayo
Nashorn - Java8 からRhinoに代わって同梱されているJavaScriptエンジン
http://www.oracle.com/webfolder/technetwork/jp/javamagazine/Java-JA17-Nashorn.pdf
ayo.js の経緯
https://web.archive.org/web/20170821212745/https://github.com/nodejs/TSC/issues/310
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 4【io.js】
http://mevius.5ch.net/test/read.cgi/tech/1460359714/
【node.js】サーバサイドjavascript 3【io.js】
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/
【node.js】サーバサイドjavascript 5【Nashorn】
1デフォルトの名無しさん
2018/02/13(火) 22:21:33.91ID:moEhrPrC544デフォルトの名無しさん
2020/09/10(木) 19:56:10.61ID:FWP0gZB+ clusterでマルチプロセスしようとしたんだけど
「EADDRINUSE(ポートが既に使われている)」
エラーがどうしても出てしまいます。
もちろん既に稼働しているnodeはなく、
fork元のapp.jsでlistenしているのと同じポート
子プロセスでまたbindしようとして失敗しているようで
子プロセスは外部からリクエストを受けるような
ものではなく、重い処理をコア分散させて並列処理したいだけです
子プロセスにポート割り当てが必要な理由がよく分かりませんが
恐らく親プロセスと子プロセス間の通信
とかに使うんでしょうか?
子プロセスのポート割り当て回避か、
親プロセスと別ポートを割り当てる方法はありますか?
「EADDRINUSE(ポートが既に使われている)」
エラーがどうしても出てしまいます。
もちろん既に稼働しているnodeはなく、
fork元のapp.jsでlistenしているのと同じポート
子プロセスでまたbindしようとして失敗しているようで
子プロセスは外部からリクエストを受けるような
ものではなく、重い処理をコア分散させて並列処理したいだけです
子プロセスにポート割り当てが必要な理由がよく分かりませんが
恐らく親プロセスと子プロセス間の通信
とかに使うんでしょうか?
子プロセスのポート割り当て回避か、
親プロセスと別ポートを割り当てる方法はありますか?
545デフォルトの名無しさん
2020/09/10(木) 20:18:09.02ID:VafdMbGz > 子プロセスは外部からリクエストを受けるようなものではなく
それならclusterモジュールは必要なくね
clustetは複数のプロセスを使って大量のリクエストを捌くためのもの
ただの子プロセスならchild_processのメソッドを使う
それならclusterモジュールは必要なくね
clustetは複数のプロセスを使って大量のリクエストを捌くためのもの
ただの子プロセスならchild_processのメソッドを使う
546デフォルトの名無しさん
2020/09/10(木) 20:21:53.78ID:C+K2oJgr547デフォルトの名無しさん
2020/09/10(木) 20:43:38.94ID:oBZEl9rg clusterだと親は子を産むだけの役割じゃなかったっけ
548デフォルトの名無しさん
2020/09/10(木) 20:45:06.67ID:oBZEl9rg あとworker_threadsで同じエラーが出るのはいくらなんでもおかしい
549デフォルトの名無しさん
2020/09/14(月) 20:42:48.98ID:JdQogpR1 >>544 の者ですが
今日これをデバッグしてました。
clusterでもwoker_threadsfでも
child_processでも
「EADDRINUSE」が発生しました
発生するタイミングは子プロセスを生成した時でも
なく
子プロセスでMySQLに対しのコネクション確立時でもなく
確立したDBコネクションからクエリを投げるコード
を実行する時に発生しますが
なぜこのタイミングなのか分かりません
ここで気になったのが
nodeでフロントユーザーに対し
80番ポートをlistenしていて
nodeがローカルのMySQLにアクセスする時
nodeのクライアントポートはフロントと
おなじ80を使うのでしょうか?
それとも別のランダムポートを取得してきて使うのでしょうか?
今日これをデバッグしてました。
clusterでもwoker_threadsfでも
child_processでも
「EADDRINUSE」が発生しました
発生するタイミングは子プロセスを生成した時でも
なく
子プロセスでMySQLに対しのコネクション確立時でもなく
確立したDBコネクションからクエリを投げるコード
を実行する時に発生しますが
なぜこのタイミングなのか分かりません
ここで気になったのが
nodeでフロントユーザーに対し
80番ポートをlistenしていて
nodeがローカルのMySQLにアクセスする時
nodeのクライアントポートはフロントと
おなじ80を使うのでしょうか?
それとも別のランダムポートを取得してきて使うのでしょうか?
550デフォルトの名無しさん
2020/09/14(月) 20:55:49.60ID:AayaioGL 説明と全然違う事象じゃねーの
せめてエラーメッセージとスタックトレース貼れ
せめてエラーメッセージとスタックトレース貼れ
551デフォルトの名無しさん
2020/09/14(月) 20:55:58.86ID:JdQogpR1 続きですか
もう少し調べてみると
「EADDRINUSE」が発生するタイミングは
MySQLに対しコネクション確立後
SQLを投げる時で間違いないと思いますが、
エラーのスタックとレースを見ても
何かのハンドラから駆動されており自分の書いたコードでは
ありません。
nodeかexpressかmysqlモジュールのハンドラ
だと思います
子プロセスはローカルのMySQLに対して
接続して読み書きするだけで
フロントとのやり取りは一切ありませんが
生成元の親プロセスはExpressのapp.js
で立ち上げてるwebアプリです
もう少し調べてみると
「EADDRINUSE」が発生するタイミングは
MySQLに対しコネクション確立後
SQLを投げる時で間違いないと思いますが、
エラーのスタックとレースを見ても
何かのハンドラから駆動されており自分の書いたコードでは
ありません。
nodeかexpressかmysqlモジュールのハンドラ
だと思います
子プロセスはローカルのMySQLに対して
接続して読み書きするだけで
フロントとのやり取りは一切ありませんが
生成元の親プロセスはExpressのapp.js
で立ち上げてるwebアプリです
552デフォルトの名無しさん
2020/09/14(月) 20:56:11.94ID:JdQogpR1 不思議なのが子プロセスで
mysqlとコネクション確立までは失敗せずに
動作し、SQLを投げる段階で
なぜか大元の「app.js」をもう1つ起動しようとしており
app.jsはもう既に起動してるので、
listenポート重複により上記のエラーが発生するわけです
暫定対応で動くようにはなりましたが、
なぜローカルのDBアクセス時にapp.js実行する
動きをするのかの原因がまだ分かっていません
webとは関係ないはずの子プロセスのファイルを
単体でコマンドで実行した場合も
Expressのベースディレクトリにある
「app.js」が実行されていることが分かりました。
自身のコードではこのようなことをしてないので
フレームワークかモジュールの内部処理だと思いますが、
知っている方がいましたら教えてください。
mysqlとコネクション確立までは失敗せずに
動作し、SQLを投げる段階で
なぜか大元の「app.js」をもう1つ起動しようとしており
app.jsはもう既に起動してるので、
listenポート重複により上記のエラーが発生するわけです
暫定対応で動くようにはなりましたが、
なぜローカルのDBアクセス時にapp.js実行する
動きをするのかの原因がまだ分かっていません
webとは関係ないはずの子プロセスのファイルを
単体でコマンドで実行した場合も
Expressのベースディレクトリにある
「app.js」が実行されていることが分かりました。
自身のコードではこのようなことをしてないので
フレームワークかモジュールの内部処理だと思いますが、
知っている方がいましたら教えてください。
553デフォルトの名無しさん
2020/09/14(月) 20:57:39.11ID:JdQogpR1554デフォルトの名無しさん
2020/09/14(月) 21:14:49.11ID:AayaioGL > 単体でコマンドで実行した場合も
> Expressのベースディレクトリにある
> 「app.js」が実行されていることが分かりました。
clusterも何も関係ねーじゃんwww
断言するがフレームワークもモジュールもmysqlも関係なくてお前のバグだから真面目に仕事しろ
子プロセスから再現に関係ない部分を削除しまくって最小限のここで見せられるコードになるまで書き込まなくていいよ
> Expressのベースディレクトリにある
> 「app.js」が実行されていることが分かりました。
clusterも何も関係ねーじゃんwww
断言するがフレームワークもモジュールもmysqlも関係なくてお前のバグだから真面目に仕事しろ
子プロセスから再現に関係ない部分を削除しまくって最小限のここで見せられるコードになるまで書き込まなくていいよ
555デフォルトの名無しさん
2020/10/03(土) 14:17:11.74ID:l4QjehZB https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14232251614?sort=1&page=2
abiko tetuってやつヤバすぎ
abiko tetuってやつヤバすぎ
556デフォルトの名無しさん
2020/10/17(土) 18:10:22.96ID:cX3MrjsP フォルダ全体をコピーしたくて fs-extra のcopySync()を使うために
const fse = require('fs-extra');
としたら、
internal/modules/cjs/loader.js:968
throw err;
^
Error: Cannot find module 'fs-extra'
というエラーが出ます。
npm install fs-extra
や
npm install -g fs-extra
を試しましたが、途中で警告が出たりして、結局、元のエラーは直りません。
直す方法はありますでしょうか?
const fse = require('fs-extra');
としたら、
internal/modules/cjs/loader.js:968
throw err;
^
Error: Cannot find module 'fs-extra'
というエラーが出ます。
npm install fs-extra
や
npm install -g fs-extra
を試しましたが、途中で警告が出たりして、結局、元のエラーは直りません。
直す方法はありますでしょうか?
557デフォルトの名無しさん
2020/10/17(土) 18:39:14.64ID:cX3MrjsP >>556
結論的には、
$ npm install -g fs-extra
$ set NODE_PATH=%AppData%\npm\node_modules
としてから、
node xxxx.js
とすると直りました。
結論的には、
$ npm install -g fs-extra
$ set NODE_PATH=%AppData%\npm\node_modules
としてから、
node xxxx.js
とすると直りました。
558デフォルトの名無しさん
2020/10/17(土) 23:48:03.55ID:5XNVi7jP Windows?
559デフォルトの名無しさん
2020/10/19(月) 16:19:09.43ID:faSV5MEm # Fatal error in , line 0
とか見慣れぬエラーで落ちててビビって調べたらv14のバグか
とか見慣れぬエラーで落ちててビビって調べたらv14のバグか
560デフォルトの名無しさん
2020/10/25(日) 03:29:13.70ID:xG/xcmJA import って mjsにしないといけないし
561デフォルトの名無しさん
2020/10/25(日) 03:30:20.11ID:xG/xcmJA 途中送信すまん
562デフォルトの名無しさん
2020/10/25(日) 04:23:13.46ID:Xs0QdE0/ mjsにしないといけないから何なんだよ気になるだろ…
因みにpackage.json弄れば.jsをESM扱いにはできる
因みにpackage.json弄れば.jsをESM扱いにはできる
563デフォルトの名無しさん
2020/10/25(日) 13:32:05.91ID:xG/xcmJA node v15にしたからmjsにして requireを全部importに変更したらpuppeteerがimportできなくてまたrequireに戻した
564デフォルトの名無しさん
2020/10/26(月) 06:48:46.11ID:AP4vuhmG 下記のモジュールを使用してHTMLソースからタグを全て取り除く処理を作っているのですが、タグを取り除いてくれません。
ES6で記述されたjavascriptを対応していないブラウザで動作させるために記法を変換してから読み込ませることは知っているのですが、
nodeコマンドで直接実行する場合にもそのような記法の変換などが必要なのでしょうか?
◆モジュール
https://github.com/ericnorris/striptags
◆ソース
main.js
-----
var striptags = require('striptags');
striptags(html);
console.log(html); // 取り除かれていない
◆コンソールで書きコマンドを実行
node main.js
ES6で記述されたjavascriptを対応していないブラウザで動作させるために記法を変換してから読み込ませることは知っているのですが、
nodeコマンドで直接実行する場合にもそのような記法の変換などが必要なのでしょうか?
◆モジュール
https://github.com/ericnorris/striptags
◆ソース
main.js
-----
var striptags = require('striptags');
striptags(html);
console.log(html); // 取り除かれていない
◆コンソールで書きコマンドを実行
node main.js
565デフォルトの名無しさん
2020/10/26(月) 13:39:27.76ID:jWz3MMEX html = striptags(html);
じゃないの?
じゃないの?
566デフォルトの名無しさん
2020/10/26(月) 14:12:32.65ID:AP4vuhmG >>565
教えて頂いた方法で取り除かれていることが確認できました。
公開されているソースを確認したら戻り値を受け取るようになっていました。
今後はソースも確認するようにします。
ありがとうございました。
教えて頂いた方法で取り除かれていることが確認できました。
公開されているソースを確認したら戻り値を受け取るようになっていました。
今後はソースも確認するようにします。
ありがとうございました。
567デフォルトの名無しさん
2020/10/26(月) 14:44:15.69ID:/aZJ5myY その前にJavaScriptの勉強をちゃんとすべきでは。。。
JSの文字列は不変って知ってればstriptagsの使い方を知らなくても>>564の書き方じゃダメってわかったはず
JSの文字列は不変って知ってればstriptagsの使い方を知らなくても>>564の書き方じゃダメってわかったはず
568デフォルトの名無しさん
2020/10/28(水) 03:46:46.75ID:Xggm0kAQ Fetchより先にAbortControllerが来るのタイムパラドックス感がある
569デフォルトの名無しさん
2020/10/28(水) 14:31:46.46ID:jeoOjGPI node.jsがあればPHPはもういらないよね?
570デフォルトの名無しさん
2020/10/28(水) 14:45:56.45ID:Nt7id6vD そんなことはない
571デフォルトの名無しさん
2020/10/28(水) 23:57:51.70ID:jeoOjGPI >>570
なぜ?
なぜ?
572デフォルトの名無しさん
2020/10/29(木) 00:23:44.55ID:6kIeo5xU rdb扱うのはphpの方が得意やろ
573デフォルトの名無しさん
2020/10/29(木) 00:35:34.69ID:Phiv6uZl >>563
v15で試したけど import puppeteer from 'puppeteer' で読み込めてるよ
v15で試したけど import puppeteer from 'puppeteer' で読み込めてるよ
574デフォルトの名無しさん
2020/10/29(木) 10:07:34.55ID:D91L/a15 俺も文法的にはPHPよりもjavascriptの方が好みなので、できれば移行したいんだけど、
URL単位で小物サービスを作る用途がメインなので今でもPHPを使ってしまう。
なんか、node.jsはCGI的に使うのはナンセンスという雰囲気があって、
でも、たまにしか使わない小物サービス毎にポート番号を消費したくない、
と思うと移行できない。
こんな俺にもおすすめなnode.jsの使い方ってある?
URL単位で小物サービスを作る用途がメインなので今でもPHPを使ってしまう。
なんか、node.jsはCGI的に使うのはナンセンスという雰囲気があって、
でも、たまにしか使わない小物サービス毎にポート番号を消費したくない、
と思うと移行できない。
こんな俺にもおすすめなnode.jsの使い方ってある?
575デフォルトの名無しさん
2020/10/29(木) 10:28:14.20ID:89EHBpBz レンタルサーバーだといまだにPHPだかんね
576デフォルトの名無しさん
2020/10/29(木) 11:43:25.35ID:6uKcySyb >>573
ありがとうございます。 -gでインストールしてたのがいけないっぽいです
ありがとうございます。 -gでインストールしてたのがいけないっぽいです
577デフォルトの名無しさん
2020/10/29(木) 16:31:46.11ID:Phiv6uZl578デフォルトの名無しさん
2020/10/29(木) 21:26:42.11ID:/i1l21sm >>574
無料オンライン格ゲーを作る。
無料オンライン格ゲーを作る。
579デフォルトの名無しさん
2020/10/29(木) 23:24:45.00ID:D91L/a15580デフォルトの名無しさん
2020/11/07(土) 11:58:54.69ID:fULQIOig npm-run-all で複数のnpm scriptを連続で実行したいんだが、scriptのどれか一つでも
0以外のステータスを返すとそこで処理をやめてしまうのをどうにかできないのかな。
大抵の場合はその仕様でもいいんだけど、たまに、エラーだろうがなんだろうがとにかく
処理しきってしまいたい場合がある。
0以外のステータスを返すとそこで処理をやめてしまうのをどうにかできないのかな。
大抵の場合はその仕様でもいいんだけど、たまに、エラーだろうがなんだろうがとにかく
処理しきってしまいたい場合がある。
581デフォルトの名無しさん
2020/11/07(土) 12:35:45.81ID:1KfyiAX9582デフォルトの名無しさん
2020/11/07(土) 12:39:43.17ID:fULQIOig さんきう。オプション見落としてた。
583デフォルトの名無しさん
2020/11/14(土) 16:32:10.90ID:XA/NhCB9 574です。
$ express --ejs myapp
を実行して、routes/index.jsに
router.all('/:ejs',(req,res)=>res.render(req.params.ejs,{req:req}))
の1行を書き加えただけでかなりphpっぽく使えるね。
ejsファイルを置くだけで、nodeを再起動しなくていいし。
ejsファイルが存在しないときに404 Not Foundじゃなくてエラー画面が出るのが愛嬌だけど。
$ express --ejs myapp
を実行して、routes/index.jsに
router.all('/:ejs',(req,res)=>res.render(req.params.ejs,{req:req}))
の1行を書き加えただけでかなりphpっぽく使えるね。
ejsファイルを置くだけで、nodeを再起動しなくていいし。
ejsファイルが存在しないときに404 Not Foundじゃなくてエラー画面が出るのが愛嬌だけど。
584デフォルトの名無しさん
2020/11/18(水) 14:56:07.27ID:7Ekft4aV おめーら的にdenoってどうすか?
使ったことなさそうだけど
使ったことなさそうだけど
585デフォルトの名無しさん
2020/11/18(水) 19:28:04.93ID:Zh0DQZnV ほんのちょっとしか触ってないけど面倒くささが無い
npmライブラリが使えないけど init だの install だの package.json だの tsc だのやったりいじったりしないで済むから手軽に感じた
時間が経ってライブラリが充実してくれれば普通に使いやすい環境だと思う
npmライブラリが使えないけど init だの install だの package.json だの tsc だのやったりいじったりしないで済むから手軽に感じた
時間が経ってライブラリが充実してくれれば普通に使いやすい環境だと思う
586デフォルトの名無しさん
2020/11/18(水) 20:11:49.14ID:7Ekft4aV 期待したいよな
開発者はイケメンだし
開発者はイケメンだし
587デフォルトの名無しさん
2020/11/18(水) 21:25:12.52ID:v8HWKopj npmが使えないからエコシステムが育つまで様子見だな。
@types以前のTypeScriptみたいな。
@types以前のTypeScriptみたいな。
588デフォルトの名無しさん
2020/11/19(木) 01:51:43.98ID:/aqa7r+0 io.jsのように良い部分はNode.js側に取り込んでほしいね
最近は複雑さばかりが増しているし
最近は複雑さばかりが増しているし
589デフォルトの名無しさん
2020/11/21(土) 19:45:56.38ID:ANSb4B/j express 5.xを使ってみたいんだけど、4.17.1になってしまう。
どうすればいいの?
$ npm init --y
$ npm install express@>=5.0.0-alpha.8 --save
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN e5@1.0.0 No description
npm WARN e5@1.0.0 No repository field.
$ npm view express version
4.17.1
どうすればいいの?
$ npm init --y
$ npm install express@>=5.0.0-alpha.8 --save
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN e5@1.0.0 No description
npm WARN e5@1.0.0 No repository field.
$ npm view express version
4.17.1
590デフォルトの名無しさん
2020/11/21(土) 23:08:26.52ID:jQLdetle Ruby のBundler なら、プロジェクトルートに移動してから、
Gemfile にバージョン指定を書いて、
bundle install とコマンド入力するけど
Gemfile にバージョン指定を書いて、
bundle install とコマンド入力するけど
591デフォルトの名無しさん
2020/11/21(土) 23:54:59.89ID:lsz7D7Ic592デフォルトの名無しさん
2020/11/22(日) 00:38:30.85ID:gYBzGuNC expressは当時koaに移行するのかと思ってたけど結局どっちも開発続いてるのな
593デフォルトの名無しさん
2020/11/22(日) 00:44:07.65ID:A21DE4YF koaもhapiもfastifyもexpressの牙城は崩せそうもない
594デフォルトの名無しさん
2020/11/22(日) 00:46:23.77ID:7U8BOc5J >>591
ありがとう。やってみたけどダメだった。
途中の表示にはexpress@5.0.0-alpha.8って出てるのに…
なんか晒すべき設定ってある?
$ npm init --y
$ npm i express@next
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN e5@1.0.0 No description
npm WARN e5@1.0.0 No repository field.
+ express@5.0.0-alpha.8
added 57 packages from 39 contributors and audited 57 packages in 4.105s
found 0 vulnerabilities
$ npm view express version
4.17.1
ありがとう。やってみたけどダメだった。
途中の表示にはexpress@5.0.0-alpha.8って出てるのに…
なんか晒すべき設定ってある?
$ npm init --y
$ npm i express@next
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN e5@1.0.0 No description
npm WARN e5@1.0.0 No repository field.
+ express@5.0.0-alpha.8
added 57 packages from 39 contributors and audited 57 packages in 4.105s
found 0 vulnerabilities
$ npm view express version
4.17.1
595デフォルトの名無しさん
2020/11/22(日) 01:12:26.72ID:uIWU98XF viewコマンドはインストールされたものじゃなくて公開されてるパッケージの情報見るものよ
596デフォルトの名無しさん
2020/11/22(日) 01:15:05.72ID:nMBoVd/n597デフォルトの名無しさん
2020/11/22(日) 01:19:23.91ID:ujQ9d+0r >>594
インストールの時は
$ npm i express@next
って打ってるくせに
なんで
$ npm view express version
って打つわけ?
それなら
$ npm view express@next version
でしょうが…
インストールの時は
$ npm i express@next
って打ってるくせに
なんで
$ npm view express version
って打つわけ?
それなら
$ npm view express@next version
でしょうが…
598デフォルトの名無しさん
2020/11/22(日) 09:31:06.57ID:7U8BOc5J >>595-597
ありがとう。バージョン確認方法の方が間違ってたのか。
あぶねえ。パッケージ側の情報で確認してたら、何を試しても永遠に出来ないって言ってるところだったw
改めて確認したら、ちゃんと5.xが入ってた。
お騒がせしました。
$ npm ls express | grep express
└── express@5.0.0-alpha.8
ありがとう。バージョン確認方法の方が間違ってたのか。
あぶねえ。パッケージ側の情報で確認してたら、何を試しても永遠に出来ないって言ってるところだったw
改めて確認したら、ちゃんと5.xが入ってた。
お騒がせしました。
$ npm ls express | grep express
└── express@5.0.0-alpha.8
599デフォルトの名無しさん
2020/11/23(月) 12:57:39.74ID:3jYl7MgH node.jsのドキュメントや書籍等で、セキュリティー対策を考慮して書かれているものがあれば教えてください
600uy ◆e6.oHu1j.o
2020/11/24(火) 12:43:32.88ID:gfNKbZsO601デフォルトの名無しさん
2021/01/01(金) 19:21:03.31ID:/+4IUuLb さくらVPSとかのlinuxサーバにwebアプリをデプロイするベターな手順ってなんかありますか
単純に考えれば、既存のサーバ中のプロジェクトフォルダを消して gitから新しくpullしてnpm ciすればいいはずなんだが
・毎回node_modulesを作るのは時間がかかるから、package-lock.json に変更が無い場合はそのまま引き継ぎたい
・ローカルの設定、ログフォルダといった、消したくないフォルダがある
からちょっと面倒でなんとかしたい
nodejs deployment tool とかで検索しても、すぐ自社のSaasに誘導しようとして
素のEC2的なlinuxマシンでの方法が分からなかった。
単純に考えれば、既存のサーバ中のプロジェクトフォルダを消して gitから新しくpullしてnpm ciすればいいはずなんだが
・毎回node_modulesを作るのは時間がかかるから、package-lock.json に変更が無い場合はそのまま引き継ぎたい
・ローカルの設定、ログフォルダといった、消したくないフォルダがある
からちょっと面倒でなんとかしたい
nodejs deployment tool とかで検索しても、すぐ自社のSaasに誘導しようとして
素のEC2的なlinuxマシンでの方法が分からなかった。
602デフォルトの名無しさん
2021/01/02(土) 03:22:23.36ID:HtnkmSa8 普通にDockerでnpm i後のイメージ作ればいいんじゃない
603デフォルトの名無しさん
2021/01/02(土) 04:25:18.76ID:VICQRi/P >>602
ありがとうございます。やはりdockerか。
docker使えない自分はこんな感じでやっていました。
>・毎回node_modulesを作るのは時間がかかるから、package-lock.json に変更が無い場合はそのまま引き継ぎたい
git fetchした後git diff HEAD..origin/master -- package.json で変更があるか確認出来る。
変更があった場合のみnpm installすればいい。
>・ローカルの設定、ログフォルダといった、消したくないフォルダがある
ログフォルダや設定ファイルは.gitignoreしてあるはずだから、気にせず毎回git merge origin/master しても全く問題ないはず。
深く考えすぎてて、普通に手を動かしたら違和感なくデプロイ出来ました。
ありがとうございます。やはりdockerか。
docker使えない自分はこんな感じでやっていました。
>・毎回node_modulesを作るのは時間がかかるから、package-lock.json に変更が無い場合はそのまま引き継ぎたい
git fetchした後git diff HEAD..origin/master -- package.json で変更があるか確認出来る。
変更があった場合のみnpm installすればいい。
>・ローカルの設定、ログフォルダといった、消したくないフォルダがある
ログフォルダや設定ファイルは.gitignoreしてあるはずだから、気にせず毎回git merge origin/master しても全く問題ないはず。
深く考えすぎてて、普通に手を動かしたら違和感なくデプロイ出来ました。
604デフォルトの名無しさん
2021/03/01(月) 09:14:19.43ID:vtDgs//2 for文について質問させてください。
const execTime = new Date(2021,0,1);
for (
const ix = new Date(execTime.getTime());
ix.getMonth() === execTime.getMonth();
ix.setDate(ix.getDate() + 1)
) {
console.log(ix);
}
これを実行すると、以下のようになります。
2020-12-31T15:00:00.000Z
...
2021-01-30T15:00:00.000Z
なぜ1月1日〜1月31日にならないのでしょうか?
どのように書けばいいのか教えてください。
node -v
v15.9.0
const execTime = new Date(2021,0,1);
for (
const ix = new Date(execTime.getTime());
ix.getMonth() === execTime.getMonth();
ix.setDate(ix.getDate() + 1)
) {
console.log(ix);
}
これを実行すると、以下のようになります。
2020-12-31T15:00:00.000Z
...
2021-01-30T15:00:00.000Z
なぜ1月1日〜1月31日にならないのでしょうか?
どのように書けばいいのか教えてください。
node -v
v15.9.0
605デフォルトの名無しさん
2021/03/01(月) 09:46:34.15ID:g7xhMPQT タイムゾーン
606デフォルトの名無しさん
2021/03/01(月) 11:40:37.52ID:vtDgs//2607デフォルトの名無しさん
2021/03/01(月) 17:11:01.18ID:Jj2WQfq1 npm outdateをCLIじゃなくてNode側から使う方法ってない?
stdoutからパースするのは流石に手間で
stdoutからパースするのは流石に手間で
608デフォルトの名無しさん
2021/03/01(月) 17:57:45.51ID:LQGHEOvf こいつを直接使えばいんじゃねーの知らんけど
https://github.com/npm/cli/blob/latest/lib/outdated.js
https://github.com/npm/cli/blob/latest/lib/outdated.js
609デフォルトの名無しさん
2021/03/01(月) 22:10:08.82ID:Jj2WQfq1 >>608
thx
試しにnode_modules/lib/outdated.jsがexportしてる関数を叩いてみたけど
内部のglobalディレクトリ参照でコケているようなエラーが出て機能しなかった
npm自体がModとしてのexportするのもAPIのないEventEmitterインスタンスだし想定してなさそうだ
諦めて自前で実装しているユーザーパッケージを適当に探すよ
thx
試しにnode_modules/lib/outdated.jsがexportしてる関数を叩いてみたけど
内部のglobalディレクトリ参照でコケているようなエラーが出て機能しなかった
npm自体がModとしてのexportするのもAPIのないEventEmitterインスタンスだし想定してなさそうだ
諦めて自前で実装しているユーザーパッケージを適当に探すよ
610デフォルトの名無しさん
2021/04/24(土) 07:20:56.16ID:CqGuC/ho JavaScript/TypeScriptランタイム環境「Deno 1.9」がリリース、パフォーマンス向上に寄与する機能追加など
https://codezine.jp/article/detail/13970
https://codezine.jp/article/detail/13970
611デフォルトの名無しさん
2021/07/14(水) 17:16:26.21ID:x3WS9adn 質問ってここで良いの?
Angularが良くわかないんだけど、例えばmd-toobarとmat-toolbarはなにが違うの?
いま触っているのが全部md-xxxだけど、ググるとmat-xxxばかり
package.jsonも、angularーmaterialになっているけど、ググって出てくるのは@angular/materialで、違いが分からない
Angularが良くわかないんだけど、例えばmd-toobarとmat-toolbarはなにが違うの?
いま触っているのが全部md-xxxだけど、ググるとmat-xxxばかり
package.jsonも、angularーmaterialになっているけど、ググって出てくるのは@angular/materialで、違いが分からない
612デフォルトの名無しさん
2021/07/16(金) 23:12:53.43ID:ku0oROTf dnsモジュールのgetServers()が初回実行時の内容キャッシュしてて使い物にならん
>>611
フロントエンドスレが一応立ってるからそっちで聞いてみれば
あとはWeb制作板に質問スレあったけど大分前に荒らしに乗っ取られて今はどうなってるやら
>>611
フロントエンドスレが一応立ってるからそっちで聞いてみれば
あとはWeb制作板に質問スレあったけど大分前に荒らしに乗っ取られて今はどうなってるやら
613デフォルトの名無しさん
2021/07/30(金) 15:13:55.95ID:COPEXZUK Ubuntu18.04でNode.js8.10.0を使ってるのですが、
BigIntのリテラル(例:10N)が使えません。
どうやったら使えるように出来るのでしょう?
BigIntのリテラル(例:10N)が使えません。
どうやったら使えるように出来るのでしょう?
614デフォルトの名無しさん
2021/07/30(金) 15:53:45.87ID:0CdNCLhG Node.jsをv12以上にする(細かいこと言うとv10の途中から使える)
615デフォルトの名無しさん
2021/07/30(金) 17:48:26.38ID:n/UloM9p 漏れは、Windows 10, WSL2, Ubuntu 18.04, VSCode だけど、
Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
ruby 2.6.6, node 12.16.2 を入れた
yarn は、Windows側に入れて、Linux側から、拡張子なしのyarn コマンドを呼べる。
これは、#!/bin/sh で始まるシェルスクリプト
anyenv 公式サイト
https://github.com/anyenv/anyenv
anyenv + macOS環境構築
https://qiita.com/rinpa/items/81766cd6a7b23dea9f3c
anyenv は多言語向きで、rbenv, nodenv, pyenv, phpenv などを同じ使い方で、統一的に扱える。
~/.bashrc に、下の2行を追加するだけで、各言語ごとに追加しなくても良い
export PATH="$HOME/.anyenv/bin:$PATH"
eval "$(anyenv init -)"
Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
ruby 2.6.6, node 12.16.2 を入れた
yarn は、Windows側に入れて、Linux側から、拡張子なしのyarn コマンドを呼べる。
これは、#!/bin/sh で始まるシェルスクリプト
anyenv 公式サイト
https://github.com/anyenv/anyenv
anyenv + macOS環境構築
https://qiita.com/rinpa/items/81766cd6a7b23dea9f3c
anyenv は多言語向きで、rbenv, nodenv, pyenv, phpenv などを同じ使い方で、統一的に扱える。
~/.bashrc に、下の2行を追加するだけで、各言語ごとに追加しなくても良い
export PATH="$HOME/.anyenv/bin:$PATH"
eval "$(anyenv init -)"
616615
2021/07/30(金) 18:08:58.02ID:n/UloM9p anyenv などを使わず、
Docker で探した方が、もっと簡単かも
apt でインストールした、Node.js 8 は、アンインストールすれば良い
Docker で探した方が、もっと簡単かも
apt でインストールした、Node.js 8 は、アンインストールすれば良い
617デフォルトの名無しさん
2021/07/30(金) 18:19:19.46ID:7AkGA5GJ スクレイピングしたいんですけど何を勉強すればいいですか
不正アクセスに問われたりしないでしょうか?
セキュリティ対策はどのようなことに注意すればよいでしょうか?
不正アクセスに問われたりしないでしょうか?
セキュリティ対策はどのようなことに注意すればよいでしょうか?
618デフォルトの名無しさん
2021/07/30(金) 21:07:04.19ID:AXk+vMk4 今ならPuppeteerか同種のヘッドレスブラウザで実装するのが楽
通常の用途であればセキュリティを気にする部分はない
不正アクセスはまたの問題だから他の質問スレで聞こう
通常の用途であればセキュリティを気にする部分はない
不正アクセスはまたの問題だから他の質問スレで聞こう
619613
2021/07/31(土) 11:22:07.03ID:A0amfNLA 皆さんありがとうございました。
最新のLTS版Node.jsを入れたらBigIntなリテラル(N)が使える様になりました。
どのようにUbuntu18.04に最新版をインストールしたかと申しますと。
1. npmでnコマンドをインストール
2. nコマンドで最新LTS版Node.jsをインストール
3. aptでインストールしていたnodejsとnpmをアンインストール(依存も解消)
です。
最新のLTS版Node.jsを入れたらBigIntなリテラル(N)が使える様になりました。
どのようにUbuntu18.04に最新版をインストールしたかと申しますと。
1. npmでnコマンドをインストール
2. nコマンドで最新LTS版Node.jsをインストール
3. aptでインストールしていたnodejsとnpmをアンインストール(依存も解消)
です。
620615
2021/07/31(土) 11:37:20.92ID:tQlroryC NVM, n も、知ってるけど、
各言語ごとに、ツールの使用方法を覚えるのが大変
全言語で使用方法が統一されている、anyenv, asdf が良い。
最近はどの言語も、Docker が多い
各言語ごとに、ツールの使用方法を覚えるのが大変
全言語で使用方法が統一されている、anyenv, asdf が良い。
最近はどの言語も、Docker が多い
621613
2021/07/31(土) 12:37:39.44ID:A0amfNLA >>620
Node.jsでパッケージングされているプログラムだけで完結できるのに、
新しいNode.jsにする上で、
他のプログラムや仮想化に依存しなくてはいけない理由は何ですか?
仮想環境が便利だ等であれば別の話だと思うのですが。
私はC/C++、Java、Perl、JavaScript(フロント少々)使いで、
最近Node.jsに手を出し始めたのですが、
anyenvやasdfについては全く存じ上げませんでした。
それらを覚える事によって、
それらのラーニングコストを上回る恩恵を授かれるとは思いませんでした。
>>614さんのアドバイスから>>619まで行き着いた次第で、
シンプルに管理コストを抑えられるるのが一番だとも思っています。
Node.jsでパッケージングされているプログラムだけで完結できるのに、
新しいNode.jsにする上で、
他のプログラムや仮想化に依存しなくてはいけない理由は何ですか?
仮想環境が便利だ等であれば別の話だと思うのですが。
私はC/C++、Java、Perl、JavaScript(フロント少々)使いで、
最近Node.jsに手を出し始めたのですが、
anyenvやasdfについては全く存じ上げませんでした。
それらを覚える事によって、
それらのラーニングコストを上回る恩恵を授かれるとは思いませんでした。
>>614さんのアドバイスから>>619まで行き着いた次第で、
シンプルに管理コストを抑えられるるのが一番だとも思っています。
622デフォルトの名無しさん
2021/07/31(土) 16:07:39.01ID:nZmJDmGx 好きなもん使えばいい
俺もubuntuではaptでクソ古いNode入れてからnpmでn入れてnからlatest突っ込んでるよ
俺もubuntuではaptでクソ古いNode入れてからnpmでn入れてnからlatest突っ込んでるよ
623デフォルトの名無しさん
2021/07/31(土) 17:22:45.59ID:23Q0KlZH ruby 君の言うことを真に受けてはいけない
624デフォルトの名無しさん
2021/07/31(土) 19:12:03.00ID:8Bi9zOKj Ubuntu-ltsのデフォnodejsが10.xだもんなあ
オレの環境では動かない、とか言われても知らねえよ。NodeJS公式もサポートしないバージョンまでカバーできる訳ないだろうが
オレの環境では動かない、とか言われても知らねえよ。NodeJS公式もサポートしないバージョンまでカバーできる訳ないだろうが
625デフォルトの名無しさん
2021/08/04(水) 17:08:54.13ID:O4k/EVJC 「Electron」と「WebView2」はどう違う? 〜「Electron」の開発チームが解説
https://forest.watch.impress.co.jp/docs/serial/yajiuma/1342249.html
https://forest.watch.impress.co.jp/docs/serial/yajiuma/1342249.html
626デフォルトの名無しさん
2021/08/04(水) 19:09:25.30ID:qrQ4Lnon627デフォルトの名無しさん
2021/08/04(水) 19:20:49.91ID:L5LJfz6s 丸コピしたのとは違うと思うぞ
画像の方はアウト臭いな
画像の方はアウト臭いな
628デフォルトの名無しさん
2021/08/24(火) 08:49:56.10ID:YRe/N1mJ node.jsのconsole.logのpretty printをデフォルトでやめさせる方法ないのかな?
このおせっかい機能すごくいらいらするのは俺だけかな?
このおせっかい機能すごくいらいらするのは俺だけかな?
629デフォルトの名無しさん
2021/08/24(火) 10:42:50.46ID:5pgrc+RU process.stdout.write使え
console.logはブラウザに寄せようと頑張ってるんやろ
console.logはブラウザに寄せようと頑張ってるんやろ
630デフォルトの名無しさん
2021/08/24(火) 15:31:19.22ID:qPWgCxGJ puppeteerを使ってるプログラムをwebpackでバンドルすると、distにはChromiumが無いからエラーが出ちゃうわ
よく分からん
よく分からん
631デフォルトの名無しさん
2021/08/24(火) 18:06:53.00ID:Ya+eWSVV Webサイトのコンテキストで動かしてるならDevToolsとセッション張れないから意味ないぞ
https://github.com/puppeteer/puppeteer/blob/main/docs/api.md#working-with-chrome-extensions
https://github.com/puppeteer/puppeteer/blob/main/docs/api.md#working-with-chrome-extensions
632デフォルトの名無しさん
2021/08/28(土) 10:29:55.37ID:rJz23Izt nodeで作ってるapiがメモリ使用量1GBくらいでかなりベビーなんですけど
ここら辺のパフォーマンスチューニングについての知見がまとまってるサイトか書籍ないですかね?
ここら辺のパフォーマンスチューニングについての知見がまとまってるサイトか書籍ないですかね?
633デフォルトの名無しさん
2021/08/28(土) 14:06:05.96ID:TLYe8gOd634デフォルトの名無しさん
2021/09/01(水) 09:26:26.45ID:J/+xOU5Y >>633
あざます!
あざます!
635デフォルトの名無しさん
2021/09/06(月) 01:52:20.93ID:B6t4Zwws Fastifyいいな
636デフォルトの名無しさん
2021/09/15(水) 19:03:06.18ID:fHmj5hYp スクレイピングすると地獄へ落ちるって本当ですか?
637デフォルトの名無しさん
2021/09/15(水) 20:01:32.00ID:DvcCOYYc puppeteerのplaygroundでforループすれば任意の回数地獄に落ちられるぞ
638デフォルトの名無しさん
2021/09/18(土) 03:38:26.28ID:YPBxfQEw スクレイピングの勉強するのですが、下手するとF5アタックになるとかの法的リスクと回避法を重視している入門書ってありますか?
今の所やりたいことは、特定の市町村の5年分気温気象データを収集して自分用に加工
近所のコインランドリーの稼働データを集計して空いてる確率が高い時間帯を調べるの2つです
前者は膨大なデータを取得する必要があります
後者は10分から20分おきにアクセスすることになります
今の所やりたいことは、特定の市町村の5年分気温気象データを収集して自分用に加工
近所のコインランドリーの稼働データを集計して空いてる確率が高い時間帯を調べるの2つです
前者は膨大なデータを取得する必要があります
後者は10分から20分おきにアクセスすることになります
639デフォルトの名無しさん
2021/09/18(土) 04:59:36.02ID:ZvozewrD マルチポストすんな
640デフォルトの名無しさん
2021/09/18(土) 18:16:18.88ID:J85RgKD5 頭のおかしい人に以下のようなことを言われました
>>基本、スクレイピングは営業妨害との戦い。
>>どの本にも、そう書いてある。
>>スクレイピングを推奨する本はない
具体的な書籍名を教えてください
>>5ch は、マルチポスト禁止!
>>同じ質問を、複数のスレや外部のサイトに書いてはいけない
どこでそんなルールが決まっているのでしょうか?
>>基本、スクレイピングは営業妨害との戦い。
>>どの本にも、そう書いてある。
>>スクレイピングを推奨する本はない
具体的な書籍名を教えてください
>>5ch は、マルチポスト禁止!
>>同じ質問を、複数のスレや外部のサイトに書いてはいけない
どこでそんなルールが決まっているのでしょうか?
641デフォルトの名無しさん
2021/09/19(日) 01:37:30.15ID:k7BgVJB0 node初心者だけどnpmが脆弱性情報吐きまくってこわい
642デフォルトの名無しさん
2021/09/19(日) 13:46:28.11ID:k7BgVJB0 ググったらauditはクソ設計みたいな記事が出てきた
無視して良かったんだね
いままで膨大な時間を無駄にしてた…(´Д`)ハァ…
無視して良かったんだね
いままで膨大な時間を無駄にしてた…(´Д`)ハァ…
643デフォルトの名無しさん
2021/10/10(日) 13:43:36.36ID:rC7NAnza なんか変な場所でエラー投げられてプロセスが止まると思ったら
依存Modの一つがPromiseコンストラクタのcallback内で非同期エラー投げて止まっていた
そりゃrejectしないしcatchブロックにも引っ掛からんわどうすりゃいいねん
依存Modの一つがPromiseコンストラクタのcallback内で非同期エラー投げて止まっていた
そりゃrejectしないしcatchブロックにも引っ掛からんわどうすりゃいいねん
644デフォルトの名無しさん
2021/10/10(日) 17:42:53.02ID:6Ldb4KuL そんな事は4,000年に一度しかないからヨシ!
レスを投稿する
ニュース
- 植田日銀総裁 「利上げが遅れれば、米欧のように非常に高いインフレが起きて、日本は大幅な利上げが必要となる」 [お断り★]
- 【TV】ファン5万人がガチで投票! プロ野球総選挙、栄えある1位は [牛丼★]
- へずまりゅう氏が言葉失う 街中で女性から「息子はあなたみたいな人間に育たぬよう教育しています」 [jinjin★]
- 【速報】政府、与党がNISA未成年解禁を検討 ★2 [蚤の市★]
- 【*彡】巨人・坂本勇人 『流れ星に何を願うか』の質問に「結婚相手」と即答、結婚願望告白 女性ファンから歓声と悲鳴 [鉄チーズ烏★]
- 「まだ朝7時に通勤してるんですか?」人気VTuberが語った“働き方への提言”に議論沸騰 [夜のけいちゃん★]
- 高市早苗「いいから黙って全部アタシに投資しなさい!」国際金融会議で発言し周囲ドン引き [165981677]
- ちょっとリップクリーム貸して
- 早苗のおまんこパンパンパン🏡
- まちづくりについて話し合う住民会みたいなやつに参加したことがないんだけど
- お前ら恵方巻き食べた?
- 【悲報】台湾有事で米中衝突、最悪のシナリオは日本人死者「4,662人」 [237216734]
